Skip to content
Snippets Groups Projects
Commit 1f1a03d0 authored by Damien George's avatar Damien George
Browse files

docs/library/machine.I2C: Deconditionalise all methods.

The cc3200 port is now similar enough to the standard machine.I2C API so
that all conditionals can be removed.
parent c49b2653
No related branches found
No related tags found
No related merge requests found
...@@ -9,48 +9,29 @@ level it consists of 2 wires: SCL and SDA, the clock and data lines respectively ...@@ -9,48 +9,29 @@ level it consists of 2 wires: SCL and SDA, the clock and data lines respectively
I2C objects are created attached to a specific bus. They can be initialised I2C objects are created attached to a specific bus. They can be initialised
when created, or initialised later on. when created, or initialised later on.
.. only:: port_wipy Printing the I2C object gives you information about its configuration.
Example:: Example usage::
from machine import I2C from machine import I2C
i2c = I2C(0) # create on bus 0 i2c = I2C(freq=400000) # create I2C peripheral at frequency of 400kHz
i2c = I2C(0, I2C.MASTER) # create and init as a master # depending on the port, extra parameters may be required
i2c.init(I2C.MASTER, baudrate=20000) # init as a master # to select the peripheral and/or pins to use
i2c.deinit() # turn off the peripheral
Printing the i2c object gives you information about its configuration. i2c.scan() # scan for slaves, returning a list of 7-bit addresses
.. only:: port_wipy i2c.writeto(42, b'123') # write 3 bytes to slave with 7-bit address 42
i2c.readfrom(42, 4) # read 4 bytes from slave with 7-bit address 42
A master must specify the recipient's address:: i2c.readfrom_mem(42, 8, 3) # read 3 bytes from memory of slave 42,
# starting at memory-address 8 in the slave
i2c.init(I2C.MASTER) i2c.writeto_mem(42, 2, b'\x10') # write 1 byte to memory of slave 42
i2c.writeto(0x42, '123') # send 3 bytes to slave with address 0x42
i2c.writeto(addr=0x42, b'456') # keyword for address
Master also has other methods::
i2c.scan() # scan for slaves on the bus, returning
# a list of valid addresses
i2c.readfrom_mem(0x42, 2, 3) # read 3 bytes from memory of slave 0x42,
# starting at address 2 in the slave # starting at address 2 in the slave
i2c.writeto_mem(0x42, 2, 'abc') # write 'abc' (3 bytes) to memory of slave 0x42
# starting at address 2 in the slave, timeout after 1 second
Constructors Constructors
------------ ------------
.. only:: port_wipy
.. class:: I2C(bus, ...)
Construct an I2C object on the given bus. `bus` can only be 0.
If the bus is not given, the default one will be selected (0).
.. only:: not port_wipy
.. class:: I2C(id=-1, \*, scl, sda, freq=400000) .. class:: I2C(id=-1, \*, scl, sda, freq=400000)
Construct and return a new I2C object using the following parameters: Construct and return a new I2C object using the following parameters:
...@@ -70,18 +51,6 @@ Constructors ...@@ -70,18 +51,6 @@ Constructors
General Methods General Methods
--------------- ---------------
.. only:: port_wipy
.. method:: I2C.init(mode, \*, baudrate=100000, pins=(SDA, SCL))
Initialise the I2C bus with the given parameters:
- ``mode`` must be ``I2C.MASTER``
- ``baudrate`` is the SCL clock rate
- ``pins`` is an optional tuple with the pins to assign to the I2C bus.
.. only:: port_esp8266
.. method:: I2C.init(scl, sda, \*, freq=400000) .. method:: I2C.init(scl, sda, \*, freq=400000)
Initialise the I2C bus with the given arguments: Initialise the I2C bus with the given arguments:
...@@ -102,8 +71,6 @@ General Methods ...@@ -102,8 +71,6 @@ General Methods
those that respond. A device responds if it pulls the SDA line low after those that respond. A device responds if it pulls the SDA line low after
its address (including a write bit) is sent on the bus. its address (including a write bit) is sent on the bus.
Note: on WiPy the I2C object must be in master mode for this method to be valid.
Primitive I2C operations Primitive I2C operations
------------------------ ------------------------
...@@ -204,12 +171,3 @@ methods are convenience functions to communicate with such devices. ...@@ -204,12 +171,3 @@ methods are convenience functions to communicate with such devices.
On WiPy the return value is the number of bytes written. Otherwise the On WiPy the return value is the number of bytes written. Otherwise the
return value is `None`. return value is `None`.
Constants
---------
.. data:: I2C.MASTER
for initialising the bus to master mode
Availability: WiPy.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment