10#ifndef SEMF_HARDWAREABSTRACTION_STM32_STM32EXTERNALINTERRUPT_H_
11#define SEMF_HARDWAREABSTRACTION_STM32_STM32EXTERNALINTERRUPT_H_
31 SetConfigLine_HalError = 0,
32 SetConfigLine_HalBusy,
33 SetConfigLine_HalTimeout
61 void isr(uint16_t pin);
73 uint32_t m_externalInterruptPort;
75 EXTI_HandleTypeDef m_handle;
77 static constexpr Error::ClassID kSemfClassId = Error::ClassID::Stm32ExternalInterrupt;
Interface for using a external interrupt.
LinkedQueue is an managed single linked queue implementation.
ExternalInterrupt implementation for STM32.
static LinkedQueue< Stm32ExternalInterrupt > * queue()
Get the list with all external interrupts.
Stm32ExternalInterrupt(uint32_t externalInterruptPort, uint32_t externalInterruptPinLine)
Constructor.
static void systemIsr(uint16_t pin)
void setTrigger(Trigger trigger) override
Sets the trigger condition of an EXTI.
Stm32ExternalInterrupt(const Stm32ExternalInterrupt &other)=delete
virtual ~Stm32ExternalInterrupt()=default