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  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 }
 

Public Member Functions

 MODM_FLAGS32 (InputTrigger)
 

Static Public Member Functions

static void setFunction (uint8_t func)
 
static void setDriveStrength (DriveStrength strength)
 
static void setOutput ()
 
static void setOutput (bool value)
 
static void setOutput (OutputType type, OutputSpeed speed=OutputSpeed::Slow)
 
static void configure (OutputType type, OutputSpeed speed=OutputSpeed::Slow)
 
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 void setSlewRate (SlewRate rate)
 
static bool read ()
 
static Direction getDirection ()
 
static void disconnect ()
 

Static Public Attributes

static constexpr Direction direction = Direction::InOut
 
static constexpr bool isInverted = false
 
static constexpr uint32_t mask = 1lu << pin
 

Friends

template<class... Gpios>
class GpioSet
 

Member Enumeration Documentation

enum modm::platform::Gpio::InputType
inheritedstrong
Enum ValuesDocumentation
Floating 

floating on input

PullUp 

pull-up on input

PullDown 

pull-down on input


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