Struct esp_idf_svc::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 moresource§impl Debug for spi_slave_interface_config_t
impl Debug for spi_slave_interface_config_t
source§impl Default for spi_slave_interface_config_t
impl Default for spi_slave_interface_config_t
source§fn default() -> spi_slave_interface_config_t
fn default() -> spi_slave_interface_config_t
impl Copy for spi_slave_interface_config_t
Auto Trait Implementations§
impl Freeze for spi_slave_interface_config_t
impl RefUnwindSafe for spi_slave_interface_config_t
impl Send for spi_slave_interface_config_t
impl Sync for spi_slave_interface_config_t
impl Unpin for spi_slave_interface_config_t
impl UnwindSafe for spi_slave_interface_config_t
Blanket Implementations§
§impl<T> Any for Twhere
T: 'static + ?Sized,
impl<T> Any for Twhere
T: 'static + ?Sized,
§impl<T> Borrow<T> for Twhere
T: ?Sized,
impl<T> Borrow<T> for Twhere
T: ?Sized,
§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)§impl<T> CloneToUninit for Twhere
T: Copy,
impl<T> CloneToUninit for Twhere
T: Copy,
§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
clone_to_uninit
)