4 #ifndef RTOS_SPI_SLAVE_H_
5 #define RTOS_SPI_SLAVE_H_
14 #include <xcore/channel_streaming.h>
17 #include "rtos_osal.h"
18 #include "rtos_driver_rpc.h"
24 #define RTOS_SPI_SLAVE_CALLBACK_ATTR __attribute__((fptrgroup("rtos_spi_slave_cb_fptr_grp")))
83 volatile int waiting_for_isr;
88 streaming_channel_t c;
89 rtos_osal_queue_t xfer_done_queue;
90 rtos_osal_thread_t hil_thread;
91 rtos_osal_thread_t app_thread;
173 unsigned interrupt_core_id,
195 uint32_t io_core_mask,
196 xclock_t clock_block,
#define RTOS_SPI_SLAVE_CALLBACK_ATTR
Definition: rtos_spi_slave.h:24
void(* rtos_spi_slave_xfer_done_cb_t)(rtos_spi_slave_t *ctx, void *app_data)
Definition: rtos_spi_slave.h:59
void(* rtos_spi_slave_start_cb_t)(rtos_spi_slave_t *ctx, void *app_data)
Definition: rtos_spi_slave.h:43
void spi_slave_xfer_prepare(rtos_spi_slave_t *ctx, void *rx_buf, size_t rx_buf_len, void *tx_buf, size_t tx_buf_len)
Definition: rtos_spi_slave.c:127
void rtos_spi_slave_start(rtos_spi_slave_t *spi_slave_ctx, void *app_data, rtos_spi_slave_start_cb_t start, rtos_spi_slave_xfer_done_cb_t xfer_done, unsigned interrupt_core_id, unsigned priority)
Definition: rtos_spi_slave.c:151
int spi_slave_xfer_complete(rtos_spi_slave_t *ctx, void **rx_buf, size_t *rx_len, void **tx_buf, size_t *tx_len, unsigned timeout)
Definition: rtos_spi_slave.c:135
void rtos_spi_slave_init(rtos_spi_slave_t *spi_slave_ctx, uint32_t io_core_mask, xclock_t clock_block, int cpol, int cpha, port_t p_sclk, port_t p_mosi, port_t p_miso, port_t p_cs)
Definition: rtos_spi_slave.c:187
Definition: rtos_spi_slave.h:66