[go: up one dir, main page]

0% found this document useful (0 votes)
23 views11 pages

Smbus2 Readthedocs Io en Latest

The document discusses the smbus2 Python module which provides a drop-in replacement for other SMBus modules. It allows reading and writing bytes, blocks of data, and words from I2C devices and describes various methods for different SMBus operations.

Uploaded by

yugioh bee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views11 pages

Smbus2 Readthedocs Io en Latest

The document discusses the smbus2 Python module which provides a drop-in replacement for other SMBus modules. It allows reading and writing bytes, blocks of data, and words from I2C devices and describes various methods for different SMBus operations.

Uploaded by

yugioh bee
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 11

smbus2 Documentation

Release 0.4.3

Karl-Petter Lindegaard

Aug 26, 2023


Contents

Python Module Index 5

Index 7

i
ii
smbus2 Documentation, Release 0.4.3

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() or
i2c_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)
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

Contents 1
smbus2 Documentation, Release 0.4.3

• 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

2 Contents
smbus2 Documentation, Release 0.4.3

• 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

Contents 3
smbus2 Documentation, Release 0.4.3

write_word_data(i2c_addr, register, value, force=None)


Write a single word (2 bytes) 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
class smbus2.i2c_msg
As defined in i2c.h.
addr
Structure/Union member
buf
Structure/Union member
flags
Structure/Union member
len
Structure/Union member
static read(address, length)
Prepares an i2c read transaction.
Parameters
• address – Slave address.
• length – Number of bytes to read.
Type address: int
Type length: int
Returns New i2c_msg instance for read operation.
Return type i2c_msg
static write(address, buf )
Prepares an i2c write transaction.
Parameters
• address (int) – Slave address.
• buf (list) – Bytes to write. Either list of values or str.
Returns New i2c_msg instance for write operation.
Return type i2c_msg

4 Contents
Python Module Index

s
smbus2, 1

5
smbus2 Documentation, Release 0.4.3

6 Python Module Index


Index

A read_word_data() (smbus2.SMBus method), 2


addr (smbus2.i2c_msg attribute), 4
S
B SMBus (class in smbus2), 1
block_process_call() (smbus2.SMBus method), smbus2 (module), 1
1
buf (smbus2.i2c_msg attribute), 4 W
write() (smbus2.i2c_msg static method), 4
C write_block_data() (smbus2.SMBus method), 3
close() (smbus2.SMBus method), 1 write_byte() (smbus2.SMBus method), 3
write_byte_data() (smbus2.SMBus method), 3
E write_i2c_block_data() (smbus2.SMBus
method), 3
enable_pec() (smbus2.SMBus method), 1
write_quick() (smbus2.SMBus method), 3
F write_word_data() (smbus2.SMBus method), 3
flags (smbus2.i2c_msg attribute), 4

I
i2c_msg (class in smbus2), 4
i2c_rdwr() (smbus2.SMBus method), 1

L
len (smbus2.i2c_msg attribute), 4

O
open() (smbus2.SMBus method), 1

P
pec (smbus2.SMBus attribute), 1
process_call() (smbus2.SMBus method), 1

R
read() (smbus2.i2c_msg static method), 4
read_block_data() (smbus2.SMBus method), 2
read_byte() (smbus2.SMBus method), 2
read_byte_data() (smbus2.SMBus method), 2
read_i2c_block_data() (smbus2.SMBus method),
2

You might also like