io Package

io Package

i2c Module

class silf.backend.commons.io.i2c.DeclarativeDriver

Bases: silf.backend.commons.io.i2c.I2CDriver

ADDR = None
REGISTER_MAPPER = {}
USER_READABLE_NAME = ''
class silf.backend.commons.io.i2c.I2CDriver(addr)

Bases: object

perform_diagnostics(diagnostics_level=None)

Performs diangostics for this device.

This method checks whether i2cdetect detects address of this device.

Note

Should call superclass method.

read_bool(register)
read_byte(register, min_value=None, max_value=None)
read_int(register, num_bytes=4, fmt='<I', min_value=None, max_value=None)
read_raw(register, num_bytes=1)
wait_until_byte(register, desired_value, max_time=3, iter_time=0.1)
write_byte(register, value)
exception silf.backend.commons.io.i2c.I2CError

Bases: Exception

silf.backend.commons.io.i2c.long_transaction(tries=5, timeout=0.5, caught_exceptions=(<class 'OSError'>, <class 'silf.backend.commons.io.i2c.I2CError'>))

Executes decorated function. If this function raises OSError with errno == 5 (raised by quick2wire when i2c error occours) it will wait timeout and retry. It will retry tries time. :param int tries: Maximal number of retrues :param float timeout: Timeout between retries in seconds. :return: