C/C++ API Reference
Loading...
Searching...
No Matches
pw::i2c::ZephyrInitiator Class Referencefinal
Inheritance diagram for pw::i2c::ZephyrInitiator:
pw::i2c::Initiator

Public Types

enum class  BitRate : uint32_t {
  kStandard100kHz = I2C_SPEED_SET(I2C_SPEED_STANDARD) , kFast400kHz = I2C_SPEED_SET(I2C_SPEED_FAST) , kFastPlus1MHz = I2C_SPEED_SET(I2C_SPEED_FAST_PLUS) , kHigh3p4MHz = I2C_SPEED_SET(I2C_SPEED_HIGH) ,
  kUltra5MHz = I2C_SPEED_SET(I2C_SPEED_ULTRA)
}
 
- Public Types inherited from pw::i2c::Initiator
enum class  Feature : int { kStandard = 0 , kTenBit = (1 << 0) , kNoStart = (1 << 1) }
 Defined set of supported i2c features.
 

Public Member Functions

 ZephyrInitiator (const struct device *dev)
 
 ZephyrInitiator (const struct device *dev, BitRate bitrate)
 
void Enable ()
 
- Public Member Functions inherited from pw::i2c::Initiator
constexpr Initiator ()
 
constexpr Initiator (Feature supported_features)
 
Status WriteReadFor (Address device_address, ConstByteSpan tx_buffer, ByteSpan rx_buffer, chrono::SystemClock::duration timeout)
 
Status TransferFor (span< const Message > messages, chrono::SystemClock::duration timeout)
 
Status WriteReadFor (Address device_address, const void *tx_buffer, size_t tx_size_bytes, void *rx_buffer, size_t rx_size_bytes, chrono::SystemClock::duration timeout)
 
Status WriteFor (Address device_address, ConstByteSpan tx_buffer, chrono::SystemClock::duration timeout)
 
Status WriteFor (Address device_address, const void *tx_buffer, size_t tx_size_bytes, chrono::SystemClock::duration timeout)
 
Status ReadFor (Address device_address, ByteSpan rx_buffer, chrono::SystemClock::duration timeout)
 
Status ReadFor (Address device_address, void *rx_buffer, size_t rx_size_bytes, chrono::SystemClock::duration timeout)
 
Status ProbeDeviceFor (Address device_address, chrono::SystemClock::duration timeout)
 

Member Function Documentation

◆ DoWriteReadFor()

Status pw::i2c::ZephyrInitiator::DoWriteReadFor ( Address  device_address,
ConstByteSpan  tx_buffer,
ByteSpan  rx_buffer,
chrono::SystemClock::duration  timeout 
)
overrideprivatevirtual

Reimplemented from pw::i2c::Initiator.


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