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: