Corium 1.1.0
High-Performance Zero-Heap C++20 MPSC Application Runtime
Loading...
Searching...
No Matches
corium::embedded::I2cFrame< MaxPayload > Struct Template Reference

Zero-heap I2C transaction result frame. More...

#include <I2cAdapter.hpp>

+ Collaboration diagram for corium::embedded::I2cFrame< MaxPayload >:

Public Member Functions

std::span< const uint8_t > payload () const noexcept
 

Public Attributes

std::array< uint8_t, MaxPayload > data {}
 Payload buffer.
 
uint16_t deviceAddress {0}
 7-bit or 10-bit I2C target slave address
 
uint8_t length {0}
 Number of valid data bytes.
 
I2cOpType opType {I2cOpType::Read}
 Read, Write, or WriteRead.
 
uint8_t registerAddress {0}
 Internal register address (if applicable)
 
uint8_t status {0}
 Hardware status (0: ACK/Success, 1: NACK, 2: Bus Error)
 

Detailed Description

template<size_t MaxPayload = 32>
struct corium::embedded::I2cFrame< MaxPayload >

Zero-heap I2C transaction result frame.

Template Parameters
MaxPayloadMaximum payload capacity in bytes (default: 32).

Member Function Documentation

◆ payload()

template<size_t MaxPayload = 32>
std::span< const uint8_t > corium::embedded::I2cFrame< MaxPayload >::payload ( ) const
inlinenoexcept

Member Data Documentation

◆ data

template<size_t MaxPayload = 32>
std::array<uint8_t, MaxPayload> corium::embedded::I2cFrame< MaxPayload >::data {}

Payload buffer.

◆ deviceAddress

template<size_t MaxPayload = 32>
uint16_t corium::embedded::I2cFrame< MaxPayload >::deviceAddress {0}

7-bit or 10-bit I2C target slave address

◆ length

template<size_t MaxPayload = 32>
uint8_t corium::embedded::I2cFrame< MaxPayload >::length {0}

Number of valid data bytes.

◆ opType

template<size_t MaxPayload = 32>
I2cOpType corium::embedded::I2cFrame< MaxPayload >::opType {I2cOpType::Read}

Read, Write, or WriteRead.

◆ registerAddress

template<size_t MaxPayload = 32>
uint8_t corium::embedded::I2cFrame< MaxPayload >::registerAddress {0}

Internal register address (if applicable)

◆ status

template<size_t MaxPayload = 32>
uint8_t corium::embedded::I2cFrame< MaxPayload >::status {0}

Hardware status (0: ACK/Success, 1: NACK, 2: Bus Error)


The documentation for this struct was generated from the following file: