blob: 976820ed1ba693bf44fcffd0a8b4c19bee4f3f60 [file] [log] [blame]
.. _module-pw_i2c:
------
pw_i2c
------
.. warning::
This module is under construction, not ready for use, and the documentation
is incomplete.
pw_i2c contains interfaces and utility functions for using I2C.
Features
========
pw::i2c::Initiator
------------------
The common interface for initiating transactions with devices on an I2C bus.
Other documentation sources may call this style of interface an I2C "master",
"central" or "controller".
pw::i2c::Device
---------------
The common interface for interfacing with generic I2C devices. This object
contains ``pw::i2c::Address`` and wraps the ``pw::i2c::Initiator`` API.
Common use case includes streaming arbitrary data (Read/Write). Only works
with devices with a single device address.
pw::i2c::RegisterDevice
-----------------------
The common interface for interfacing with register devices. Contains methods
to help read and write registers from and to the device. Users should have a
understanding of the capabilities of their device such as register address
sizes, register data sizes, byte addressability, bulk transactions, etc in
order to effectively use this interface.