esp_idf_svc::hal::spi

Type Alias SpiConfig

Source
pub type SpiConfig = Config;

Aliased Type§

struct SpiConfig {
    pub baudrate: Hertz,
    pub data_mode: Mode,
    pub write_only: bool,
    pub duplex: Duplex,
    pub bit_order: BitOrder,
    pub cs_active_high: bool,
    pub cs_pre_delay_us: Option<u16>,
    pub cs_post_delay_us: Option<u8>,
    pub input_delay_ns: i32,
    pub polling: bool,
    pub allow_pre_post_delays: bool,
    pub queue_size: usize,
}

Fields§

§baudrate: Hertz§data_mode: Mode§write_only: bool

This property can be set to configure a SPI Device for being write only Thus the flag SPI_DEVICE_NO_DUMMY will be passed on initialization and it will unlock the possibility of using 80Mhz as the bus freq See https://docs.espressif.com/projects/esp-idf/en/latest/esp32/api-reference/peripherals/spi_master.html#timing-considerations

§duplex: Duplex§bit_order: BitOrder§cs_active_high: bool§cs_pre_delay_us: Option<u16>

On Half-Duplex transactions: cs_pre_delay_us % 16 corresponds to the number of SPI bit-cycles cs should be activated before the transmission. On Full-Duplex transactions: cs_pre_delay_us != 0 will add 1 microsecond of cs activation before transmission

§cs_post_delay_us: Option<u8>

< Amount of SPI bit-cycles the cs should stay active after the transmission (0-16)

§input_delay_ns: i32§polling: bool§allow_pre_post_delays: bool§queue_size: usize

Implementations

Source§

impl Config

Source

pub fn new() -> Config

Source

pub fn baudrate(self, baudrate: Hertz) -> Config

Source

pub fn data_mode(self, data_mode: Mode) -> Config

Source

pub fn write_only(self, write_only: bool) -> Config

Source

pub fn duplex(self, duplex: Duplex) -> Config

Source

pub fn bit_order(self, bit_order: BitOrder) -> Config

Source

pub fn cs_active_high(self) -> Config

Source

pub fn cs_pre_delay_us(self, delay_us: u16) -> Config

On Half-Duplex transactions: cs_pre_delay_us % 16 corresponds to the number of SPI bit-cycles cs should be activated before the transmission On Full-Duplex transactions: cs_pre_delay_us != 0 will add 1 microsecond of cs activation before transmission

Source

pub fn cs_post_delay_us(self, delay_us: u8) -> Config

Add an aditional Amount of SPI bit-cycles the cs should be activated after the transmission (0-16). This only works on half-duplex transactions.

Source

pub fn input_delay_ns(self, input_delay_ns: i32) -> Config

Source

pub fn polling(self, polling: bool) -> Config

Source

pub fn allow_pre_post_delays(self, allow_pre_post_delays: bool) -> Config

Source

pub fn queue_size(self, queue_size: usize) -> Config

Trait Implementations

Source§

impl Clone for Config

Source§

fn clone(&self) -> Config

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 Config

Source§

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

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

impl Default for Config

Source§

fn default() -> Config

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