A generic mocked backend for pw::i2c::Initiator that's specifically designed to make it easier to develop I2C device drivers. pw::i2c::MockInitiator compares actual I2C transactions against expected transactions. The expected transactions are represented as a list of pw::i2c::Transaction instances that are passed as arguments in the pw::i2c::MockInitiator constructor. Each consecutive call to pw::i2c::MockInitiator iterates to the next expected transaction. pw::i2c::MockInitiator::Finalize() indicates whether the actual transactions matched the expected transactions.
pw::i2c::MockInitiator is intended to be used within GoogleTest tests. See
embed:rst:inline :ref:`module-pw_unit_test`
.
Public Member Functions | |
| constexpr | MockInitiator (span< Transaction > transaction_list) |
| Status | Finalize () const |
| ~MockInitiator () override | |
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) |
Additional Inherited Members | |
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. | |