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