xref: /aosp_15_r20/external/pigweed/pw_i2c/reference.rst (revision 61c4878ac05f98d0ceed94b57d316916de578985)
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