Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
Embedded & Hardware ISR

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).
 

Detailed Description

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:

Typedef Documentation

◆ PanicHandlerFn

using corium::PanicHandlerFn = typedef void (*)(const char* file, int line, const char* message) noexcept

Signature of the custom bare-metal panic handler callback.

Function Documentation

◆ setPanicHandler()

void corium::setPanicHandler ( PanicHandlerFn  fn)
inlinenoexcept

Configure the global bare-metal panic handler hook (e.g. for Hardware Fault logging).

+ Here is the call graph for this function: