modm API documentation
modm::platform::GpioStatic< GpioData > Class Template Reference
Inheritance diagram for modm::platform::GpioStatic< GpioData >:
modm::platform::Gpio

Public Typedefs

using Direction = modm::Gpio::Direction
 
using Type = GpioStatic< GpioData >
 
using Output = Type
 
using Input = Type
 
using IO = Type
 
using Data = GpioData
 

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 type)
 
static void configure (OutputType type)
 
static void set ()
 
static void set (bool status)
 
static void reset ()
 
static bool isSet ()
 
static void toggle ()
 
static void setInput ()
 
static void setInput (InputType type)
 
static void configure (InputType type)
 
static bool read ()
 
static Direction getDirection ()
 
static void disconnect ()
 

Static Public Attributes

static constexpr Direction direction = Direction::InOut
 
static constexpr bool isInverted = false
 

Static Protected Member Functions

static constexpr volatile uint8_t * gport ()
 
static constexpr volatile uint8_t * gpin ()
 
static constexpr volatile uint8_t * gddr ()
 

Static Protected Attributes

static constexpr uint8_t mask = (1 << pin)
 

Friends

template<class... Gpios>
class GpioSet
 

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


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