modm API documentation
modm::platform::GpioSet< Gpios > Class Template Reference
Inheritance diagram for modm::platform::GpioSet< Gpios >:
modm::platform::Gpio

Public Types

enum  InputTrigger : uint8_t { InputTrigger::LowLevel = 0b00, InputTrigger::BothEdges = 0b01, InputTrigger::FallingEdge = 0b10, InputTrigger::RisingEdge = 0b11 }
 Each External Interrupt can be configured to trigger on these conditions. More...
 
enum  InputType : uint8_t { InputType::Floating, InputType::PullUp }
 Each Input Pin can be configured in one of these states. More...
 
enum  OutputType : uint8_t { OutputType::PushPull }
 
enum  Port { B }
 Available ports on this device.
 
enum  Signal {
  BitBang, Ain0, Ain1, Aref,
  Di, Do, In0, In1,
  In2, Oc0a, Oc0b, Oc1a,
  Oc1ainv, Oc1b, Oc1binv, Scl,
  Sda, T0, Usck
}
 

Static Public Member Functions

static void setOutput ()
 
static void setOutput (bool status)
 
static void setOutput (OutputType)
 
static void configure (OutputType)
 
static void setInput ()
 
static void setInput (InputType type)
 
static void configure (InputType type)
 
static void set ()
 
static void set (bool status)
 
static void reset ()
 
static void toggle ()
 

Static Public Attributes

static constexpr uint8_t width = sizeof...(Gpios)
 
static constexpr uint8_t number_of_ports = numberOfPorts()
 

Static Protected Member Functions

static constexpr uint8_t inverted (uint8_t id)
 
static constexpr uint8_t mask (uint8_t id)
 
static constexpr uint8_t numberOfPorts ()
 

Static Protected Attributes

static constexpr uint8_t inverteds [1]
 
static constexpr uint8_t masks [1]
 

Member Enumeration Documentation

enum modm::platform::Gpio::InputTrigger : uint8_t
inheritedstrong

Each External Interrupt can be configured to trigger on these conditions.

Enum ValuesDocumentation
LowLevel 

triggers continuously during low level

BothEdges 

triggers on both rising and falling edge

FallingEdge 

triggers on falling edge

RisingEdge 

triggers on rising edge

enum modm::platform::Gpio::InputType : uint8_t
inheritedstrong

Each Input Pin can be configured in one of these states.

Enum ValuesDocumentation
Floating 

The input pin is left floating.

PullUp 

The input pin is pulled to Vcc.

enum modm::platform::Gpio::OutputType : uint8_t
inheritedstrong
Enum ValuesDocumentation
PushPull 

push-pull on output

Member Data Documentation

template<class... Gpios>
constexpr uint8_t modm::platform::GpioSet< Gpios >::inverteds[1]
staticprotectedconstexpr
Initial value:
{
(((Gpios::port == Port::B and Gpios::isInverted) ? Gpios::mask : 0) | ...),
}
template<class... Gpios>
constexpr uint8_t modm::platform::GpioSet< Gpios >::masks[1]
staticprotectedconstexpr
Initial value:
{
(((Gpios::port == Port::B) ? Gpios::mask : 0) | ...),
}

The documentation for this class was generated from the following file: