Struct esp_idf_hal::sys::spi_slave_interface_config_t
source · #[repr(C)]pub struct spi_slave_interface_config_t {
pub spics_io_num: i32,
pub flags: u32,
pub queue_size: i32,
pub mode: u8,
pub post_setup_cb: Option<unsafe extern "C" fn(_: *mut spi_slave_transaction_t)>,
pub post_trans_cb: Option<unsafe extern "C" fn(_: *mut spi_slave_transaction_t)>,
}
Expand description
@brief This is a configuration for a SPI host acting as a slave device.
Fields§
§spics_io_num: i32
< CS GPIO pin for this device
flags: u32
< Bitwise OR of SPI_SLAVE_* flags
queue_size: i32
< Transaction queue size. This sets how many transactions can be ‘in the air’ (queued using spi_slave_queue_trans but not yet finished using spi_slave_get_trans_result) at the same time
mode: u8
< SPI mode, representing a pair of (CPOL, CPHA) configuration:
- 0: (0, 0)
- 1: (0, 1)
- 2: (1, 0)
- 3: (1, 1)
post_setup_cb: Option<unsafe extern "C" fn(_: *mut spi_slave_transaction_t)>
< Callback called after the SPI registers are loaded with new data.
This callback is called within interrupt context should be in IRAM for best performance, see “Transferring Speed” section in the SPI Master documentation for full details. If not, the callback may crash during flash operation when the driver is initialized with ESP_INTR_FLAG_IRAM.
post_trans_cb: Option<unsafe extern "C" fn(_: *mut spi_slave_transaction_t)>
< Callback called after a transaction is done.
This callback is called within interrupt context should be in IRAM for best performance, see “Transferring Speed” section in the SPI Master documentation for full details. If not, the callback may crash during flash operation when the driver is initialized with ESP_INTR_FLAG_IRAM.
Trait Implementations§
source§impl Clone for spi_slave_interface_config_t
impl Clone for spi_slave_interface_config_t
source§fn clone(&self) -> spi_slave_interface_config_t
fn clone(&self) -> spi_slave_interface_config_t
1.0.0§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more