File syn_spi_queue.h¶
FileList > drivers > syn_spi_queue.h
Go to the source code of this file
Non-blocking SPI transaction queue driver with CS management & parameter switching.
#include "../common/syn_defs.h"#include "../port/syn_port_gpio.h"#include "../port/syn_port_spi.h"#include "syn_spi.h"#include <stdbool.h>#include <stddef.h>#include <stdint.h>
Classes¶
| Type | Name |
|---|---|
| struct | SYN_SPI_Queue SPI Transaction Queue instance handle. |
| struct | SYN_SPI_Transaction SPI Transaction Descriptor. |
Public Types¶
| Type | Name |
|---|---|
| typedef void(* | SYN_SPI_Queue_Callback SPI queue completion callback signature. |
Public Functions¶
| Type | Name |
|---|---|
| SYN_Status | syn_spi_queue_cancel_all (SYN_SPI_Queue * q) Cancel all pending transactions in queue. |
| size_t | syn_spi_queue_count (const SYN_SPI_Queue * q) Query current pending transaction count. |
| SYN_Status | syn_spi_queue_enqueue (SYN_SPI_Queue * q, const SYN_SPI_Transaction * tx) Enqueue an SPI transaction for non-blocking execution. |
| SYN_Status | syn_spi_queue_init (SYN_SPI_Queue * q, uint8_t bus) Initialize an SPI transaction queue for a bus. |
| SYN_Status | syn_spi_queue_process (SYN_SPI_Queue * q) Process queue state machine (triggers pending transaction if idle). |
Macros¶
| Type | Name |
|---|---|
| define | SYN_SPI_QUEUE_MAX_DEPTH 16 |
Public Types Documentation¶
typedef SYN_SPI_Queue_Callback¶
SPI queue completion callback signature.
Parameters:
busSPI bus index.resultSYN_OK on success, error status code on failure.user_dataContext pointer passed with transaction descriptor.
Public Functions Documentation¶
function syn_spi_queue_cancel_all¶
Cancel all pending transactions in queue.
Parameters:
qPointer to initialized queue handle.
Returns:
SYN_OK on success.
function syn_spi_queue_count¶
Query current pending transaction count.
Parameters:
qPointer to queue handle.
Returns:
Number of queued items (0 if NULL or empty).
function syn_spi_queue_enqueue¶
Enqueue an SPI transaction for non-blocking execution.
Parameters:
qPointer to initialized queue handle.txTransaction descriptor.
Returns:
SYN_OK if enqueued, SYN_BUSY if queue is full, SYN_INVALID_PARAM on invalid inputs.
function syn_spi_queue_init¶
Initialize an SPI transaction queue for a bus.
Parameters:
qPointer to queue handle.busTarget SPI bus index.
Returns:
SYN_OK on success, SYN_INVALID_PARAM if q is NULL.
function syn_spi_queue_process¶
Process queue state machine (triggers pending transaction if idle).
Parameters:
qPointer to initialized queue handle.
Returns:
SYN_OK on success.
Macro Definition Documentation¶
define SYN_SPI_QUEUE_MAX_DEPTH¶
Maximum pending transactions per SPI queue instance
The documentation for this class was generated from the following file src/syntropic/drivers/syn_spi_queue.h