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

source§

fn clone(&self) -> spi_slave_interface_config_t

Returns a copy of the value. Read more
1.0.0§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for spi_slave_interface_config_t

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for spi_slave_interface_config_t

source§

fn default() -> spi_slave_interface_config_t

Returns the “default value” for a type. Read more
source§

impl Copy for spi_slave_interface_config_t

Auto Trait Implementations§

Blanket Implementations§

§

impl<T> Any for T
where T: 'static + ?Sized,

§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
§

impl<T> Borrow<T> for T
where T: ?Sized,

§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
§

impl<T> BorrowMut<T> for T
where T: ?Sized,

§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> CloneToUninit for T
where T: Clone,

§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> CloneToUninit for T
where T: Copy,

§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
§

impl<T> From<T> for T

§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T, U> Into<U> for T
where U: From<T>,

§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of [From]<T> for U chooses to do.

§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.