|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
Non-blocking hardware ISR adapter for CAN/CAN-FD controller interrupts. Ingests hardware mailbox/FIFO frames inside ISR and posts into Corium lock-free ring buffer. More...
#include <CanAdapter.hpp>
Collaboration diagram for corium::embedded::CanIsrAdapter< EventVariant >:Public Member Functions | |
| CanIsrAdapter (EventSinkT< EventVariant > sink) noexcept | |
| template<typename TargetEvent = CanFdFrame> | |
| void | postFromIsr (const CanFdFrame &frame, EventPriority priority=EventPriority::Normal) noexcept |
| Ingest high-speed CAN-FD frame from hardware interrupt (e.g. STM32 FDCAN1_IT0_IRQHandler). | |
| template<typename TargetEvent = CanFrame> | |
| void | postFromIsr (const CanFrame &frame, EventPriority priority=EventPriority::Normal) noexcept |
| Ingest standard CAN frame from hardware interrupt (e.g. STM32 CAN_RX_IRQHandler). | |
Non-blocking hardware ISR adapter for CAN/CAN-FD controller interrupts. Ingests hardware mailbox/FIFO frames inside ISR and posts into Corium lock-free ring buffer.
|
inlineexplicitnoexcept |
|
inlinenoexcept |
Ingest high-speed CAN-FD frame from hardware interrupt (e.g. STM32 FDCAN1_IT0_IRQHandler).
| TargetEvent | User-defined event type constructible from CanFdFrame. |
| frame | Raw hardware CAN-FD frame. |
| priority | Priority to assign. |
|
inlinenoexcept |
Ingest standard CAN frame from hardware interrupt (e.g. STM32 CAN_RX_IRQHandler).
| TargetEvent | User-defined event type constructible from CanFrame. |
| frame | Raw hardware CAN frame. |
| priority | Priority to assign (default Normal, High for emergency/E-Stop). |