LibJuno 1.0.1
LibJuno is a lightweight C11 library designed specifically for embedded systems.
Loading...
Searching...
No Matches
JUNO_I2C_IO_API_TAG Struct Reference

#include <i2c_io_api.h>

Data Fields

JUNO_STATUS_T(* Transfer )(JUNO_I2C_IO_ROOT_T *ptI2c, const JUNO_I2C_IO_MSG_T *ptArrMsgs, size_t zMsgArrLen)
 Perform an I2C transfer composed of one or more messages. Example usage:
 

Field Documentation

◆ Transfer

JUNO_STATUS_T(* JUNO_I2C_IO_API_TAG::Transfer) (JUNO_I2C_IO_ROOT_T *ptI2c, const JUNO_I2C_IO_MSG_T *ptArrMsgs, size_t zMsgArrLen)

Perform an I2C transfer composed of one or more messages. Example usage:

// Single message
ptApi->Transfer(ptI2c,
JUNO_I2C_IO_TRANSFER(WriteMsg(0xFF, ptMyWriteBuff, sizeof(ptMyWriteBuff))), 1);
// OR, create an array of messages
WriteMsg(0xFF, ptMyWriteBuff, sizeof(ptMyWriteBuff)),
ReadMsg(0xFF, ptMyReadBuff, sizeof(ptMyReadBuff))
);
ptApi->Transfer(ptI2c, ptArrTransfer, sizeof(ptArrTransfer) / sizeof(ptArrTransfer[0]));
#define JUNO_I2C_IO_TRANSFER(...)
Definition i2c_io_api.h:109
#define ReadMsg(iAddr, pcBuff, zBuffSize)
Definition i2c_io_api.h:85
#define WriteMsg(iAddr, pvBuff, zBuffSize)
Definition i2c_io_api.h:96
Definition i2c_io_api.h:79
Parameters
ptI2cI2C module instance.
ptArrMsgsPointer to message array created with JUNO_I2C_IO_TRANSFER(...).
zMsgArrLenNumber of messages in the array.

The documentation for this struct was generated from the following file: