modm API documentation
modm::platform::Exti Class Reference

#include <modm/platform/exti/exti.hpp>

Public Typedefs

using MaskType = uint32_t
 
using Handler = modm::inplace_function< void (uint8_t), MODM_EXTI_HANDLER_STORAGE, alignof (void *)>
 

Public Types

enum  Trigger { NoEdges, RisingEdge, FallingEdge, BothEdges }
 
enum  Vector { LineUnknown = 0, Line0_1 = EXTI0_1_IRQn, Line2_3 = EXTI2_3_IRQn, Line4_15 = EXTI4_15_IRQn }
 

Static Public Member Functions

template<class Pin >
static void connect (Trigger trigger, Handler &&handler, uint8_t priority=15)
 
template<class Pin >
static void disconnect ()
 
static void setTriggerSource (uint8_t line, Gpio::Port port)
 Selects the GPIO port trigger source for EXTI lines 0-16.
 
template<class Pin >
static void setTriggerSource ()
 
template<class... Pins>
static void setTriggerSources ()
 
static void setTrigger (MaskType mask, Trigger trigger)
 
template<class... Pins>
static void setTriggers (Trigger trigger)
 
static void enableInterrupts (MaskType mask)
 
template<class... Pins>
static void enableInterrupts ()
 
static MaskType getInterruptEnabled ()
 
template<class... Pins>
static bool areInterruptsEnabled ()
 
static void disableInterrupt (MaskType mask)
 
template<class... Pins>
static void disableInterrupts ()
 
static void enableEvent (MaskType mask)
 
template<class... Pins>
static void enableEvents ()
 
static MaskType getEventEnabled ()
 
template<class... Pins>
static void areEventsEnabled ()
 
static void disableEvent (MaskType mask)
 
template<class... Pins>
static void disableEvents ()
 
static void enableVector (Vector vector, uint8_t priority)
 
template<class Pin >
static void enableVector (uint8_t priority)
 
static void enableVectors (MaskType mask, uint8_t priority)
 
template<class... Pins>
static void enableVectors (uint8_t priority)
 
static void disableVector (Vector vector)
 
template<class Pin >
static void disableVector ()
 
static void disableVectors (MaskType mask)
 
template<class... Pins>
static void disableVectors ()
 
static MaskType getRisingFlags ()
 
template<class... Pins>
static bool areRisingFlagsSet ()
 
static void acknowledgeRisingFlags (MaskType mask)
 
template<class... Pins>
static void acknowledgeRisingFlags ()
 
static MaskType getFallingFlags ()
 
template<class... Pins>
static bool areFallingFlagsSet ()
 
static void acknowledgeFallingFlags (MaskType mask)
 
template<class... Pins>
static void acknowledgeFallingFlags ()
 
static MaskType getFlags ()
 Returns rising or falling flags!
 
template<class... Pins>
static bool areFlagsSet ()
 
static void acknowledgeFlags (MaskType mask)
 Clears both rising and falling flags!
 
template<class... Pins>
static void acknowledgeFlags ()
 
static void setFlags (MaskType mask)
 
template<class... Pins>
static void setFlags ()
 
static constexpr Vector getVectorForLine (uint8_t line)
 
static constexpr MaskType getVectorMaskForLine (uint8_t line)
 

Detailed Description

External Interrupt/Event Controller.

Author
Niklas Hauser

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