QNX SMBus APIs
The QNX SMBus module resembles the one used in Linux. However, the QNX SMBus module only supports standard SMBus operations, and doesn't support SMBus Packet Error Checking (PEC) or i2c_msg
operations. The table below compares the SMBus APIs available in the QNX module versus the Linux module:
API comparison table
Function | Linux SMBus | QNX SMBus | About |
---|---|---|---|
SMBus() | ✅ Available | ✅ Available | Return a new SMBus object. |
open() | ✅ Available | ✅ Available | Connect the object to the specified SMBus. |
close() | ✅ Available | ✅ Available | Disconnect the object from the bus. |
read_byte() | ✅ Available | ✅ Available | Read a single byte to a device. |
write_byte() | ✅ Available | ✅ Available | Write a single byte to a device. |
read_byte_data() | ✅ Available | ✅ Available | Read a byte from a device register. |
write_byte_data() | ✅ Available | ✅ Available | Write a byte from a device register. |
read_word_data() | ✅ Available | ❌ Not available | Read a 16-bit word from a device register. |
write_word_data() | ✅ Available | ❌ Not available | Write a 16-bit word to a device register. |
process_call() | ✅ Available | ❌ Not available | Write and read a 16-bit word in one operation. |
read_i2c_block_data() | ✅ Available | ❌ Not available | Read a block of bytes (fixed length) from a device register. |
write_i2c_block_data() | ✅ Available | ❌ Not available | Write a block of up to 32 bytes. |
write_quick() | ✅ Available | ❌ Not available | Perform a quick SMBus write operation without sending any data. |
read_block_data() | ✅ Available | ❌ Not available | Read a block of up to 32 bytes. |
write_block_data() | ✅ Available | ✅ Available | Write a block of up to 32 bytes. |
block_process_call() | ✅ Available | ❌ Not available | Write and read a block of up to 32 bytes in one operation. |
Page updated: