|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
FreeRTOS-specialized ISR sink managing RTOS task context switches. More...
#include <FreeRtos.hpp>
Collaboration diagram for corium::embedded::FreeRtosIsrSink< EventSinkType >:Public Member Functions | |
| constexpr | FreeRtosIsrSink () noexcept=default |
| constexpr | FreeRtosIsrSink (EventSinkType sink) noexcept |
| template<typename Event > | |
| void | postFromIsr (Event &&event, BaseType_t *pxHigherPriorityTaskWoken=nullptr, EventPriority priority=EventPriority::Normal) noexcept |
| Post event from FreeRTOS ISR and track if context switch is needed. | |
| template<typename Event > | |
| void | postHighPriorityFromIsr (Event &&event, BaseType_t *pxHigherPriorityTaskWoken=nullptr) noexcept |
| Post high priority event from FreeRTOS ISR and track context switch. | |
| constexpr const EventSinkType & | sink () const noexcept |
| constexpr EventSinkType & | sink () noexcept |
| Access underlying sink handle. | |
Static Public Member Functions | |
| static void | yieldFromIsr (BaseType_t xHigherPriorityTaskWoken) noexcept |
| Yield to higher priority unblocked task if flag was set. | |
FreeRTOS-specialized ISR sink managing RTOS task context switches.
| EventSinkType | Target underlying event sink. |
|
constexprdefaultnoexcept |
|
inlineexplicitconstexprnoexcept |
|
inlinenoexcept |
Post event from FreeRTOS ISR and track if context switch is needed.
| Event | Concrete event type. |
| event | Event instance. |
| pxHigherPriorityTaskWoken | Pointer to FreeRTOS task unblocking flag. |
| priority | Event priority level. |
|
inlinenoexcept |
Post high priority event from FreeRTOS ISR and track context switch.
|
inlineconstexprnoexcept |
|
inlineconstexprnoexcept |
Access underlying sink handle.
|
inlinestaticnoexcept |
Yield to higher priority unblocked task if flag was set.