|
| enum | DataOrder : bool { DataOrder::Normal = false,
DataOrder::Reversed = true
} |
| | This enum can be used to reverse the bit order of the Data. More...
|
| |
| enum | DriveStrength { mA_2 = 0,
mA_4 = 1,
mA_8 = 2,
mA_12 = 3
} |
| |
| enum | InputTrigger : uint32_t {
None = 0x00u,
LowLevel = 0x01u,
HighLevel = 0x02u,
BothLevels = LowLevel | HighLevel,
FallingEdge = 0x04u,
RisingEdge = 0x08u,
BothEdges = FallingEdge | RisingEdge,
All = BothLevels | BothEdges
} |
| |
| enum | InputType { InputType::Floating = 0x0,
InputType::PullUp = 0x1,
InputType::PullDown = 0x2
} |
| |
| enum | OutputSpeed { Slow = 0,
Fast = 1
} |
| |
| enum | OutputType { PushPull
} |
| |
| enum | Port { Bank0,
Qspi
} |
| |
| enum | SlewRate : uint8_t { Slow = 0,
Fast = 1
} |
| |
|
|
static constexpr DataOrder | getDataOrder () |
| |
|
static PortType | isSet () |
| |
|
static void | write (PortType data) |
| |
|
static PortType | read () |
| |
|
static constexpr DataOrder | getDataOrder () |
| | returns the chosen data order
|
| |
|
static PortType | read () |
| | The read data is always right-aligned regardless of physical mapping.
|
| |
|
static void | setInput () |
| |
|
static void | setOutput () |
| |
|
static void | toggle () |
| | Toggle the output states of all pins.
|
| |
|
static void | write (PortType data) |
| | The write data is always right-aligned regardless of physical mapping.
|
| |
|
static void | configure (OutputType, OutputSpeed speed=OutputSpeed::Slow) |
| |
|
static void | configure (InputType type) |
| |
|
static void | disconnect () |
| |
|
static void | reset () |
| |
|
static void | set () |
| |
|
static void | set (bool status) |
| |
|
static void | setInput () |
| |
|
static void | setInput (InputType type) |
| |
|
static void | setOutput () |
| |
|
static void | setOutput (bool status) |
| |
|
static void | setOutput (OutputType type, OutputSpeed speed=OutputSpeed::Slow) |
| |
|
static void | setSlewRate (SlewRate rate) |
| |
|
static void | toggle () |
| |
template<class... Gpios>
class modm::platform::SoftwareGpioPort< Gpios >
Create an up to 32-bit port from arbitrary pins.
This class optimizes the data type for the read() and write() methods. Supplying up to 8 Gpios will use uint8_t, up to 16 Gpios uint16_t and up to 32 Gpios uint32_t.
- Note
- Since the bit order is explicitly given by the order of arguments, this class only supports
DataOrder::Normal. If you need reverse bit order, reverse the order of Gpios!
- Template Parameters
-
| Gpios | Up to 32 GpioIO classes, ordered MSB to LSB |
- Author
- Niklas Hauser