smbus2¶
smbus2 - A drop-in replacement for smbus-cffi/smbus-python
-
class
smbus2.
SMBus
(bus=None, force=False)¶ -
block_process_call
(i2c_addr, register, data, force=None)¶ Executes a SMBus Block Process Call, sending a variable-size data block and receiving another variable-size response
- Parameters
i2c_addr (int) – i2c address
register (int) – Register to read/write to
data (list) – List of bytes
force (Boolean) –
- Returns
List of bytes
- Return type
list
-
close
()¶ Close the i2c connection.
-
enable_pec
(enable=True)¶ Enable/Disable PEC (Packet Error Checking) - SMBus 1.1 and later
- Parameters
enable (Boolean) –
-
i2c_rdwr
(*i2c_msgs)¶ Combine a series of i2c read and write operations in a single transaction (with repeated start bits but no stop bits in between).
This method takes i2c_msg instances as input, which must be created first with
i2c_msg.read()
ori2c_msg.write()
.- Parameters
i2c_msgs (i2c_msg) – One or more i2c_msg class instances.
- Return type
None
-
open
(bus)¶ Open a given i2c bus.
- Parameters
bus (int or str) – i2c bus number (e.g. 0 or 1) or an absolute file path (e.g. ‘/dev/i2c-42’).
- Raises
TypeError – if type(bus) is not in (int, str)
-
property
pec
¶ Get and set SMBus PEC. 0 = disabled (default), 1 = enabled.
-
process_call
(i2c_addr, register, value, force=None)¶ Executes a SMBus Process Call, sending a 16-bit value and receiving a 16-bit response
- Parameters
i2c_addr (int) – i2c address
register (int) – Register to read/write to
value (int) – Word value to transmit
force (Boolean) –
- Return type
int
-
read_block_data
(i2c_addr, register, force=None)¶ Read a block of up to 32-bytes from a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Start register
force (Boolean) –
- Returns
List of bytes
- Return type
list
-
read_byte
(i2c_addr, force=None)¶ Read a single byte from a device.
- Return type
int
- Parameters
i2c_addr (int) – i2c address
force (Boolean) –
- Returns
Read byte value
-
read_byte_data
(i2c_addr, register, force=None)¶ Read a single byte from a designated register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Register to read
force (Boolean) –
- Returns
Read byte value
- Return type
int
-
read_i2c_block_data
(i2c_addr, register, length, force=None)¶ Read a block of byte data from a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Start register
length (int) – Desired block length
force (Boolean) –
- Returns
List of bytes
- Return type
list
-
read_word_data
(i2c_addr, register, force=None)¶ Read a single word (2 bytes) from a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Register to read
force (Boolean) –
- Returns
2-byte word
- Return type
int
-
write_block_data
(i2c_addr, register, data, force=None)¶ Write a block of byte data to a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Start register
data (list) – List of bytes
force (Boolean) –
- Return type
None
-
write_byte
(i2c_addr, value, force=None)¶ Write a single byte to a device.
- Parameters
i2c_addr (int) – i2c address
value (int) – value to write
force (Boolean) –
-
write_byte_data
(i2c_addr, register, value, force=None)¶ Write a byte to a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Register to write to
value (int) – Byte value to transmit
force (Boolean) –
- Return type
None
-
write_i2c_block_data
(i2c_addr, register, data, force=None)¶ Write a block of byte data to a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Start register
data (list) – List of bytes
force (Boolean) –
- Return type
None
-
write_quick
(i2c_addr, force=None)¶ Perform quick transaction. Throws IOError if unsuccessful. :param i2c_addr: i2c address :type i2c_addr: int :param force: :type force: Boolean
-
write_word_data
(i2c_addr, register, value, force=None)¶ Write a byte to a given register.
- Parameters
i2c_addr (int) – i2c address
register (int) – Register to write to
value (int) – Word value to transmit
force (Boolean) –
- Return type
None
-