Perform an I2C master write/read transaction
#include <gf/gf.h>
int gf_i2c_writeread ( gf_dev_t gdev,
int busno,
int slaveaddr,
uint8_t * odata,
int obytes,
uint8_t * idata,
int ibytes );
- gdev
- The handle for the graphics device to perform the transaction on. This is the handle acquired by gf_dev_attach().
- busno
- Index of the I2C bus, on which this device is capable of being a master.
- slaveaddr
- The address of the I2C slave device.
- odata
- A pointer to a buffer where the outgoing data is stored.
- obytes
- The number of bytes to write. The maximum is 128 bytes.
- idata
- A pointer to a buffer where the function can store the incoming data.
- ibytes
- The number of bytes to read. The maximum is 128 bytes.
gf
This function performs an I2C master write/read transaction. The transaction performed is what the I2C specification refers to as a combined transfer format. This is typically used to write a register or memory subaddress to the device, followed by a read transfer from that register/memory.
- GF_ERR_OK
- Success.
- GF_ERR_PARM
- The busno index is out of range for the specified device.
- GF_ERR_IODISPLAY
- Error communicating with io-display. Check to ensure that io-display is still running. The sloginfo utility may provide more information.
- GF_ERR_IO
- Hardware error reading from the slave device. The sloginfo utility may provide more information.
- GF_ERR_TOOBIG
- The number of bytes requested to be read (ibytes) or written (obytes) is larger than the maximum of 128.
QNX Graphics Framework
Safety: | |
Interrupt handler |
No |
Signal handler |
No |
Thread |
Yes |
gf_i2c_read(),
gf_i2c_write()