idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
idfxx::spi::bus_config Struct Reference

SPI bus configuration. More...

Public Attributes

union { 
 
   idfxx::gpio   mosi_io_num = gpio::nc() 
 GPIO pin for Master Out Slave In (=spi_d) signal. More...
 
   idfxx::gpio   data0_io_num 
 GPIO pin for spi data0 signal in quad/octal mode. More...
 
};  
 
union { 
 
   idfxx::gpio   miso_io_num = gpio::nc() 
 GPIO pin for Master In Slave Out (=spi_q) signal. More...
 
   idfxx::gpio   data1_io_num 
 GPIO pin for spi data1 signal in quad/octal mode. More...
 
};  
 
idfxx::gpio sclk_io_num = gpio::nc()
 GPIO pin for SPI Clock signal.
 
union { 
 
   idfxx::gpio   quadwp_io_num = gpio::nc() 
 GPIO pin for WP (Write Protect) signal, or gpio::nc() if not used. More...
 
   idfxx::gpio   data2_io_num 
 GPIO pin for spi data2 signal in quad/octal mode, or gpio::nc() if not used. More...
 
};  
 
union { 
 
   idfxx::gpio   quadhd_io_num = gpio::nc() 
 GPIO pin for HD (Hold) signal, or gpio::nc() if not used. More...
 
   idfxx::gpio   data3_io_num 
 GPIO pin for spi data3 signal in quad/octal mode, or gpio::nc() if not used. More...
 
};  
 
idfxx::gpio data4_io_num = gpio::nc()
 GPIO pin for spi data4 signal in octal mode, or gpio::nc() if not used.
 
idfxx::gpio data5_io_num = gpio::nc()
 GPIO pin for spi data5 signal in octal mode, or gpio::nc() if not used.
 
idfxx::gpio data6_io_num = gpio::nc()
 GPIO pin for spi data6 signal in octal mode, or gpio::nc() if not used.
 
idfxx::gpio data7_io_num = gpio::nc()
 GPIO pin for spi data7 signal in octal mode, or gpio::nc() if not used.
 
bool data_io_default_level = false
 Output data IO default level when no transaction.
 
int max_transfer_sz = 0
 Maximum transfer size, in bytes.
 
idfxx::flags< bus_flagsflags = {}
 Abilities of bus to be checked by the driver.
 
idfxx::intr_cpu_affinity_t isr_cpu_id
 Select cpu core to register SPI ISR.
 
idfxx::flags< idfxx::intr_flagintr_flags = {}
 Interrupt flags to set priority and IRAM attribute.
 

Detailed Description

SPI bus configuration.

Note
For most SPI configurations, you should set mosi_io_num, miso_io_num, and sclk_io_num. All pins default to gpio::nc() (not connected).
Example:
.miso_io_num = gpio_19,
.sclk_io_num = gpio_5,
};
constexpr gpio gpio_18
Definition gpio.hpp:905
constexpr gpio gpio_19
Definition gpio.hpp:908
constexpr gpio gpio_5
Definition gpio.hpp:866
SPI bus configuration.
Definition master.hpp:113
idfxx::gpio mosi_io_num
GPIO pin for Master Out Slave In (=spi_d) signal.
Definition master.hpp:115

Definition at line 113 of file master.hpp.

Member Data Documentation

◆ [union]

union { ... } idfxx::spi::bus_config

◆ [union]

union { ... } idfxx::spi::bus_config

◆ [union]

union { ... } idfxx::spi::bus_config

◆ [union]

union { ... } idfxx::spi::bus_config

◆ data0_io_num

idfxx::gpio idfxx::spi::bus_config::data0_io_num

GPIO pin for spi data0 signal in quad/octal mode.

Definition at line 116 of file master.hpp.

◆ data1_io_num

idfxx::gpio idfxx::spi::bus_config::data1_io_num

GPIO pin for spi data1 signal in quad/octal mode.

Definition at line 120 of file master.hpp.

◆ data2_io_num

idfxx::gpio idfxx::spi::bus_config::data2_io_num

GPIO pin for spi data2 signal in quad/octal mode, or gpio::nc() if not used.

Definition at line 125 of file master.hpp.

◆ data3_io_num

idfxx::gpio idfxx::spi::bus_config::data3_io_num

GPIO pin for spi data3 signal in quad/octal mode, or gpio::nc() if not used.

Definition at line 129 of file master.hpp.

◆ data4_io_num

idfxx::gpio idfxx::spi::bus_config::data4_io_num = gpio::nc()

GPIO pin for spi data4 signal in octal mode, or gpio::nc() if not used.

Definition at line 131 of file master.hpp.

◆ data5_io_num

idfxx::gpio idfxx::spi::bus_config::data5_io_num = gpio::nc()

GPIO pin for spi data5 signal in octal mode, or gpio::nc() if not used.

Definition at line 132 of file master.hpp.

◆ data6_io_num

idfxx::gpio idfxx::spi::bus_config::data6_io_num = gpio::nc()

GPIO pin for spi data6 signal in octal mode, or gpio::nc() if not used.

Definition at line 133 of file master.hpp.

◆ data7_io_num

idfxx::gpio idfxx::spi::bus_config::data7_io_num = gpio::nc()

GPIO pin for spi data7 signal in octal mode, or gpio::nc() if not used.

Definition at line 134 of file master.hpp.

◆ data_io_default_level

bool idfxx::spi::bus_config::data_io_default_level = false

Output data IO default level when no transaction.

Definition at line 136 of file master.hpp.

◆ flags

idfxx::flags<bus_flags> idfxx::spi::bus_config::flags = {}

Abilities of bus to be checked by the driver.

Definition at line 140 of file master.hpp.

◆ intr_flags

idfxx::flags<idfxx::intr_flag> idfxx::spi::bus_config::intr_flags = {}

Interrupt flags to set priority and IRAM attribute.

The intr_flag::edge and intr_flag::intr_disabled flags are ignored by the driver. If intr_flag::iram is set, all callbacks must be placed in IRAM.

Definition at line 145 of file master.hpp.

◆ isr_cpu_id

idfxx::intr_cpu_affinity_t idfxx::spi::bus_config::isr_cpu_id
Initial value:
=
@ automatic
Install the peripheral interrupt to ANY CPU core, decided by on which CPU the interrupt allocator is ...

Select cpu core to register SPI ISR.

Definition at line 142 of file master.hpp.

◆ max_transfer_sz

int idfxx::spi::bus_config::max_transfer_sz = 0

Maximum transfer size, in bytes.

Defaults to 4092 if 0 when DMA enabled, or to SOC_SPI_MAXIMUM_BUFFER_SIZE if DMA is disabled.

Definition at line 137 of file master.hpp.

◆ miso_io_num

idfxx::gpio idfxx::spi::bus_config::miso_io_num = gpio::nc()

GPIO pin for Master In Slave Out (=spi_q) signal.

Definition at line 119 of file master.hpp.

◆ mosi_io_num

idfxx::gpio idfxx::spi::bus_config::mosi_io_num = gpio::nc()

GPIO pin for Master Out Slave In (=spi_d) signal.

Definition at line 115 of file master.hpp.

◆ quadhd_io_num

idfxx::gpio idfxx::spi::bus_config::quadhd_io_num = gpio::nc()

GPIO pin for HD (Hold) signal, or gpio::nc() if not used.

Definition at line 128 of file master.hpp.

◆ quadwp_io_num

idfxx::gpio idfxx::spi::bus_config::quadwp_io_num = gpio::nc()

GPIO pin for WP (Write Protect) signal, or gpio::nc() if not used.

Definition at line 124 of file master.hpp.

◆ sclk_io_num

idfxx::gpio idfxx::spi::bus_config::sclk_io_num = gpio::nc()

GPIO pin for SPI Clock signal.

Definition at line 122 of file master.hpp.


The documentation for this struct was generated from the following file: