The common interface for I2C register devices. Contains methods to help read and write the device's registers.
Public Member Functions | |
constexpr | RegisterDevice (Initiator &initiator, Address address, endian register_address_order, endian data_order, RegisterAddressSize register_address_size) |
constexpr | RegisterDevice (Initiator &initiator, Address address, endian order, RegisterAddressSize register_address_size) |
Status | WriteRegisters (uint32_t register_address, ConstByteSpan register_data, ByteSpan buffer, chrono::SystemClock::duration timeout) |
Status | WriteRegisters8 (uint32_t register_address, span< const uint8_t > register_data, ByteSpan buffer, chrono::SystemClock::duration timeout) |
Status | WriteRegisters16 (uint32_t register_address, span< const uint16_t > register_data, ByteSpan buffer, chrono::SystemClock::duration timeout) |
Status | WriteRegisters32 (uint32_t register_address, span< const uint32_t > register_data, ByteSpan buffer, chrono::SystemClock::duration timeout) |
Status | ReadRegisters (uint32_t register_address, ByteSpan return_data, chrono::SystemClock::duration timeout) |
Status | ReadRegisters8 (uint32_t register_address, span< uint8_t > return_data, chrono::SystemClock::duration timeout) |
Status | ReadRegisters16 (uint32_t register_address, span< uint16_t > return_data, chrono::SystemClock::duration timeout) |
Status | ReadRegisters32 (uint32_t register_address, span< uint32_t > return_data, chrono::SystemClock::duration timeout) |
Status | WriteRegister (uint32_t register_address, std::byte register_data, chrono::SystemClock::duration timeout) |
Status | WriteRegister8 (uint32_t register_address, uint8_t register_data, chrono::SystemClock::duration timeout) |
Status | WriteRegister16 (uint32_t register_address, uint16_t register_data, chrono::SystemClock::duration timeout) |
Status | WriteRegister32 (uint32_t register_address, uint32_t register_data, chrono::SystemClock::duration timeout) |
Result< std::byte > | ReadRegister (uint32_t register_address, chrono::SystemClock::duration timeout) |
Result< uint8_t > | ReadRegister8 (uint32_t register_address, chrono::SystemClock::duration timeout) |
Result< uint16_t > | ReadRegister16 (uint32_t register_address, chrono::SystemClock::duration timeout) |
Result< uint32_t > | ReadRegister32 (uint32_t register_address, chrono::SystemClock::duration timeout) |
![]() | |
constexpr | Device (Initiator &initiator, Address device_address) |
Device (const Device &)=delete | |
Device (Device &&)=default | |
Status | TransferFor (span< const Message > messages, chrono::SystemClock::duration timeout) |
Wraps pw::i2c::Initiator::TransferFor . | |
Status | WriteReadFor (ConstByteSpan tx_buffer, ByteSpan rx_buffer, chrono::SystemClock::duration timeout) |
Wraps pw::i2c::Initiator::WriteReadFor . | |
Status | WriteReadFor (const void *tx_buffer, size_t tx_size_bytes, void *rx_buffer, size_t rx_size_bytes, chrono::SystemClock::duration timeout) |
Status | WriteFor (ConstByteSpan tx_buffer, chrono::SystemClock::duration timeout) |
Wraps pw::i2c::Initiator::WriteFor . | |
Status | WriteFor (const void *tx_buffer, size_t tx_size_bytes, chrono::SystemClock::duration timeout) |
Status | ReadFor (ByteSpan rx_buffer, chrono::SystemClock::duration timeout) |
Wraps pw::i2c::Initiator::ReadFor . | |
Status | ReadFor (void *rx_buffer, size_t rx_size_bytes, chrono::SystemClock::duration timeout) |
Status | ProbeFor (chrono::SystemClock::duration timeout) |
Wraps pw::i2c::Initiator::ProbeDeviceFor . | |