|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
Bare-metal interrupt handlers, FreeRTOS integration, hardware bus adapters, and critical sections. More...
Files | |
| file | CanAdapter.hpp |
| Zero-heap CAN 2.0B and CAN-FD hardware ISR adapter for STM32 FDCAN, ESP32 TWAI, and CMSIS. | |
| file | DmaUartAdapter.hpp |
| Zero-copy circular DMA UART receiver adapter for STM32, ESP32, and bare-metal UART ISRs. | |
| file | embedded.hpp |
| Umbrella header for embedded and RTOS integration primitives. | |
| file | FreeRtos.hpp |
| FreeRTOS ISR event sink and hardware context-switching helpers. | |
| file | I2cAdapter.hpp |
| Zero-heap I2C bus hardware ISR adapter for sensors and peripherals. | |
| file | InterruptLock.hpp |
| Zero-overhead RAII critical section masking across ARM, ESP32, and host. | |
| file | IsrSink.hpp |
| Safe non-blocking event posting handle for hardware interrupt service routines. | |
| file | SpiAdapter.hpp |
| Zero-heap SPI hardware ISR and DMA completion adapter for embedded sensors (IMU, ADC, Flash). | |
Classes | |
| class | corium::embedded::CanIsrAdapter< EventVariant > |
| 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... | |
| class | corium::embedded::DmaUartAdapter< EventVariant, BufferSize > |
| Non-blocking hardware ISR adapter for DMA UART controllers. More... | |
| class | corium::embedded::FreeRtosIsrSink< EventSinkType > |
| FreeRTOS-specialized ISR sink managing RTOS task context switches. More... | |
| class | corium::embedded::I2cIsrAdapter< EventVariant > |
| Non-blocking hardware ISR adapter for I2C master/slave controllers. Dispatches completed I2C read/write transactions directly into the Corium lock-free ring buffer. More... | |
| class | corium::embedded::InterruptLock |
| RAII interrupt locking helper disabling interrupts upon construction and restoring them upon destruction. More... | |
| class | corium::embedded::IsrEventSink< EventSinkType > |
| Lightweight, zero-overhead wrapper around EventSink explicitly tailored for Hardware ISR handlers. Guarantees zero heap allocation, lock-free execution, and noexcept exception safety. More... | |
| class | corium::embedded::SpiIsrAdapter< EventVariant > |
| Non-blocking hardware ISR adapter for SPI controllers and DMA completion interrupts. Ingests SPI frames from interrupt context and posts typed events into Corium lock-free ring buffer. More... | |
Typedefs | |
| using | corium::PanicHandlerFn = void(*)(const char *file, int line, const char *message) noexcept |
| Signature of the custom bare-metal panic handler callback. | |
Functions | |
| void | corium::setPanicHandler (PanicHandlerFn fn) noexcept |
| Configure the global bare-metal panic handler hook (e.g. for Hardware Fault logging). | |
Bare-metal interrupt handlers, FreeRTOS integration, hardware bus adapters, and critical sections.
Designed specifically for microcontrollers (ARM Cortex-M, ESP32, STM32, RP2040) and real-time operating systems.
Key components:
| using corium::PanicHandlerFn = typedef void (*)(const char* file, int line, const char* message) noexcept |
Signature of the custom bare-metal panic handler callback.
|
inlinenoexcept |
Configure the global bare-metal panic handler hook (e.g. for Hardware Fault logging).
Here is the call graph for this function: