18 #define I2C_TRANSACTION_QUEUE_SIZE 10
Interface for the I2C module.
i2c_queue_status_t
Possible return types for queue operations.
Definition: i2c_transaction_queue.h:23
@ I2C_QUEUE_STATUS_QUEUE_EMPTY
Definition: i2c_transaction_queue.h:28
@ I2C_QUEUE_STATUS_SUCCESS
Definition: i2c_transaction_queue.h:25
@ _I2C_QUEUE_STATUS_ENUM_MAX
Definition: i2c_transaction_queue.h:29
@ I2C_QUEUE_STATUS_QUEUE_FULL
Definition: i2c_transaction_queue.h:27
@ I2C_QUEUE_STATUS_FAIL
Definition: i2c_transaction_queue.h:26
@ _I2C_QUEUE_STATUS_ENUM_MIN
Definition: i2c_transaction_queue.h:24
i2c_queue_status_t i2c_transaction_queue_add(hal_i2c_txn_t *txn)
Add a transaction to the queue.
Definition: i2c_transaction_queue.c:28
i2c_queue_status_t i2c_transaction_queue_get_next(hal_i2c_txn_t **txn)
Get the next transaction from the queue. Removes the transaction from the queue.
Definition: i2c_transaction_queue.c:60
void i2c_transaction_queue_reset()
Resets the queue.
Definition: i2c_transaction_queue.c:82
The main data structure for interacting with the I2C module.
Definition: i2c.h:101