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 = EXTI0_IRQn, Line1 = EXTI1_IRQn, Line10_15 = EXTI15_10_IRQn,
  Line2 = EXTI2_IRQn, Line3 = EXTI3_IRQn, Line4 = EXTI4_IRQn, Line5_9 = EXTI9_5_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 getFlags ()
 
template<class... Pins>
static bool areFlagsSet ()
 
static void acknowledgeFlags (MaskType mask)
 
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: