|
Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
|
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...
#include <I2cAdapter.hpp>
Collaboration diagram for corium::embedded::I2cIsrAdapter< EventVariant >:Public Member Functions | |
| I2cIsrAdapter (EventSinkT< EventVariant > sink) noexcept | |
| template<typename TargetEvent = I2cFrame<32>, size_t MaxPayload = 32> | |
| void | postFromIsr (const I2cFrame< MaxPayload > &frame, EventPriority priority=EventPriority::Normal) noexcept |
| Post an I2C frame from ISR context into the event sink. | |
| template<typename TargetEvent = I2cFrame<32>> | |
| void | postReadFromIsr (uint16_t devAddr, uint8_t regAddr, std::span< const uint8_t > readBytes, uint8_t status=0, EventPriority priority=EventPriority::Normal) noexcept |
| Construct and post an I2C read result frame from ISR context. | |
Non-blocking hardware ISR adapter for I2C master/slave controllers. Dispatches completed I2C read/write transactions directly into the Corium lock-free ring buffer.
|
inlineexplicitnoexcept |
|
inlinenoexcept |
|
inlinenoexcept |
Construct and post an I2C read result frame from ISR context.
| TargetEvent | User event type. |
| devAddr | Slave device address. |
| regAddr | Register address read from. |
| readBytes | Span of received bytes. |
| status | Hardware status code. |
| priority | Event priority. |