1*61c4878aSAndroid Build Coastguard Worker.. _module-pw_i2c-reference: 2*61c4878aSAndroid Build Coastguard Worker 3*61c4878aSAndroid Build Coastguard Worker========= 4*61c4878aSAndroid Build Coastguard WorkerReference 5*61c4878aSAndroid Build Coastguard Worker========= 6*61c4878aSAndroid Build Coastguard Worker.. pigweed-module-subpage:: 7*61c4878aSAndroid Build Coastguard Worker :name: pw_i2c 8*61c4878aSAndroid Build Coastguard Worker 9*61c4878aSAndroid Build Coastguard Worker.. _module-pw_i2c-reference-overview: 10*61c4878aSAndroid Build Coastguard Worker 11*61c4878aSAndroid Build Coastguard Worker-------- 12*61c4878aSAndroid Build Coastguard WorkerOverview 13*61c4878aSAndroid Build Coastguard Worker-------- 14*61c4878aSAndroid Build Coastguard Worker* :cpp:class:`pw::i2c::Address` is a helper class for representing I2C 15*61c4878aSAndroid Build Coastguard Worker addresses. 16*61c4878aSAndroid Build Coastguard Worker* :cpp:class:`pw::i2c::Initiator` is the common, base driver interface for 17*61c4878aSAndroid Build Coastguard Worker communicating with I2C devices. 18*61c4878aSAndroid Build Coastguard Worker* :cpp:class:`pw::i2c::Device` is a helper class that takes a reference 19*61c4878aSAndroid Build Coastguard Worker to an :cpp:class:`pw::i2c::Initiator` instance and provides easier access 20*61c4878aSAndroid Build Coastguard Worker to a single I2C device. 21*61c4878aSAndroid Build Coastguard Worker* :cpp:class:`pw::i2c::RegisterDevice` extends :cpp:class:`pw::i2c::Device` 22*61c4878aSAndroid Build Coastguard Worker for easier access to a single I2C device's registers. 23*61c4878aSAndroid Build Coastguard Worker* :cpp:class:`pw::i2c::I2cService` is a service for performing I2C 24*61c4878aSAndroid Build Coastguard Worker transactions over RPC. 25*61c4878aSAndroid Build Coastguard Worker* :cpp:class:`pw::i2c::MockInitiator` is a generic mocked backend for 26*61c4878aSAndroid Build Coastguard Worker :cpp:class:`pw::i2c::Initiator`. It uses :cpp:class:`pw::i2c::Transaction` 27*61c4878aSAndroid Build Coastguard Worker to represent expected I2C transactions. 28*61c4878aSAndroid Build Coastguard Worker 29*61c4878aSAndroid Build Coastguard Worker-------------------- 30*61c4878aSAndroid Build Coastguard Worker``pw::i2c::Address`` 31*61c4878aSAndroid Build Coastguard Worker-------------------- 32*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::Address 33*61c4878aSAndroid Build Coastguard Worker :members: 34*61c4878aSAndroid Build Coastguard Worker 35*61c4878aSAndroid Build Coastguard Worker---------------------- 36*61c4878aSAndroid Build Coastguard Worker``pw::i2c::Initiator`` 37*61c4878aSAndroid Build Coastguard Worker---------------------- 38*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::Initiator 39*61c4878aSAndroid Build Coastguard Worker :members: 40*61c4878aSAndroid Build Coastguard Worker 41*61c4878aSAndroid Build Coastguard Worker------------------- 42*61c4878aSAndroid Build Coastguard Worker``pw::i2c::Device`` 43*61c4878aSAndroid Build Coastguard Worker------------------- 44*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::Device 45*61c4878aSAndroid Build Coastguard Worker :members: 46*61c4878aSAndroid Build Coastguard Worker 47*61c4878aSAndroid Build Coastguard Worker--------------------------- 48*61c4878aSAndroid Build Coastguard Worker``pw::i2c::RegisterDevice`` 49*61c4878aSAndroid Build Coastguard Worker--------------------------- 50*61c4878aSAndroid Build Coastguard WorkerSee :ref:`module-pw_i2c-guides-registerdevice` for example usage of 51*61c4878aSAndroid Build Coastguard Worker``pw::i2c::RegisterDevice``. 52*61c4878aSAndroid Build Coastguard Worker 53*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::RegisterDevice 54*61c4878aSAndroid Build Coastguard Worker :members: 55*61c4878aSAndroid Build Coastguard Worker 56*61c4878aSAndroid Build Coastguard Worker----------------------- 57*61c4878aSAndroid Build Coastguard Worker``pw::i2c::I2cService`` 58*61c4878aSAndroid Build Coastguard Worker----------------------- 59*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::I2cService 60*61c4878aSAndroid Build Coastguard Worker :members: 61*61c4878aSAndroid Build Coastguard Worker 62*61c4878aSAndroid Build Coastguard Worker-------------------------- 63*61c4878aSAndroid Build Coastguard Worker``pw::i2c::MockInitiator`` 64*61c4878aSAndroid Build Coastguard Worker-------------------------- 65*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::MockInitiator 66*61c4878aSAndroid Build Coastguard Worker :members: 67*61c4878aSAndroid Build Coastguard Worker 68*61c4878aSAndroid Build Coastguard Worker``pw::i2c::Transaction`` 69*61c4878aSAndroid Build Coastguard Worker======================== 70*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::Transaction 71*61c4878aSAndroid Build Coastguard Worker :members: 72*61c4878aSAndroid Build Coastguard Worker 73*61c4878aSAndroid Build Coastguard Worker``pw::i2c::ReadTransaction`` 74*61c4878aSAndroid Build Coastguard Worker============================ 75*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::i2c::ReadTransaction 76*61c4878aSAndroid Build Coastguard Worker 77*61c4878aSAndroid Build Coastguard Worker``pw::i2c::WriteTransaction`` 78*61c4878aSAndroid Build Coastguard Worker============================= 79*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::i2c::WriteTransaction 80*61c4878aSAndroid Build Coastguard Worker 81*61c4878aSAndroid Build Coastguard Worker``pw::i2c::ProbeTransaction`` 82*61c4878aSAndroid Build Coastguard Worker============================= 83*61c4878aSAndroid Build Coastguard Worker.. doxygenfunction:: pw::i2c::ProbeTransaction 84*61c4878aSAndroid Build Coastguard Worker 85*61c4878aSAndroid Build Coastguard Worker--------------------------- 86*61c4878aSAndroid Build Coastguard Worker``pw::i2c::GmockInitiator`` 87*61c4878aSAndroid Build Coastguard Worker--------------------------- 88*61c4878aSAndroid Build Coastguard Worker.. doxygenclass:: pw::i2c::GmockInitiator 89*61c4878aSAndroid Build Coastguard Worker :members: 90