File syn_i2c_queue.c¶
FileList > drivers > syn_i2c_queue.c
Go to the source code of this file
Non-blocking I2C transaction queue driver implementation.
#include "syn_i2c_queue.h"#include "../port/syn_port_i2c.h"#include <string.h>
Public Functions¶
| Type | Name |
|---|---|
| SYN_Status | syn_i2c_queue_cancel_all (SYN_I2C_Queue * q) Cancel all pending transactions in queue. |
| size_t | syn_i2c_queue_count (const SYN_I2C_Queue * q) Query current pending transaction count. |
| SYN_Status | syn_i2c_queue_enqueue (SYN_I2C_Queue * q, const SYN_I2C_Transaction * tx) Enqueue a transaction for non-blocking execution. |
| SYN_Status | syn_i2c_queue_init (SYN_I2C_Queue * q, uint8_t bus) Initialize an I2C transaction queue for a bus. |
| SYN_Status | syn_i2c_queue_process (SYN_I2C_Queue * q) Process queue state machine (triggers pending transaction if idle). |
Public Functions Documentation¶
function syn_i2c_queue_cancel_all¶
Cancel all pending transactions in queue.
Parameters:
qPointer to initialized queue handle.
Returns:
SYN_OK on success.
function syn_i2c_queue_count¶
Query current pending transaction count.
Parameters:
qPointer to queue handle.
Returns:
Number of queued items (0 if NULL or empty).
function syn_i2c_queue_enqueue¶
Enqueue a transaction for non-blocking execution.
Parameters:
qPointer to initialized queue handle.txTransaction descriptor.
Returns:
SYN_OK if enqueued, SYN_FULL if queue is full, SYN_INVALID_PARAM on invalid inputs.
function syn_i2c_queue_init¶
Initialize an I2C transaction queue for a bus.
Parameters:
qPointer to queue handle.busTarget I2C bus index.
Returns:
SYN_OK on success, SYN_INVALID_PARAM if q is NULL.
function syn_i2c_queue_process¶
Process queue state machine (triggers pending transaction if idle).
Parameters:
qPointer to initialized queue handle.
Returns:
SYN_OK on success.
The documentation for this class was generated from the following file src/syntropic/drivers/syn_i2c_queue.c