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