class i2c
- IIC BusΒΆ
Usage
from robot_hat import I2C
i2c = I2C(1) # create on bus 1
i2c = I2C(1, I2C.MASTER) # create and init as a master
i2c.send('abc') # send 3 bytes
i2c.send(0x42) # send a single byte, given by the number
data = i2c.recv(3) # receive 3 bytes
i2c.is_ready(0x42) # check if slave 0x42 is ready
i2c.scan() # scan for slaves on the bus, returning a list of valid addresses
i2c.mem_read(3, 0x42, 2) # read 3 bytes from memory of slave 0x42, starting at address 2 in the slave
i2c.mem_write('abc', 0x42, 2, timeout=1000) # write 'abc' (3 bytes) to memory of slave 0x42, starting at address 2 in the slave, timeout after 1 second.
Constructors
class robot_hat.I2C(num)
: Create an I2C object associated with the given num
. This allows you to use i2c on that device.
Methods
is_ready
- Check if slave 0x42 is ready.
I2C.is_ready(addr)
scan
- Scan for slaves on the bus, returning.
I2C.scan()
send
- Send several bytes to slave with address.
I2C.send(send,addr,timeout)
recv
- Receive one or several bytes.
data = i2c.recv(recv,addr,timeout) # receive 3 bytes
mem_write
- Write to the memory of an I2C device.
I2C.mem_write(data, addr, memaddr, timeout)
mem_read
- Read from the memory of an I2C device.
I2C.mem_read(data, addr, memaddr, timeout)