Function esp_idf_svc::sys::spi_slave_queue_trans
source · pub unsafe extern "C" fn spi_slave_queue_trans(
host: u32,
trans_desc: *const spi_slave_transaction_t,
ticks_to_wait: u32,
) -> i32
Expand description
@brief Queue a SPI transaction for execution
Queues a SPI transaction to be executed by this slave device. (The transaction queue size was specified when the slave device was initialised via spi_slave_initialize.) This function may block if the queue is full (depending on the ticks_to_wait parameter). No SPI operation is directly initiated by this function, the next queued transaction will happen when the master initiates a SPI transaction by pulling down CS and sending out clock signals.
This function hands over ownership of the buffers in trans_desc
to the SPI slave driver; the application is
not to access this memory until spi_slave_queue_trans
is called to hand ownership back to the application.
@param host SPI peripheral that is acting as a slave @param trans_desc Description of transaction to execute. Not const because we may want to write status back into the transaction description. @param ticks_to_wait Ticks to wait until there’s room in the queue; use portMAX_DELAY to never time out. @return - ESP_ERR_INVALID_ARG if parameter is invalid - ESP_OK on success