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) |
Public Member Functions inherited from pw::i2c::Device | |
| 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. | |
| void | UpdateAddress (Address address) |
| Updates the I2C address associated with this device. | |