MCPcopy Create free account
hub / github.com/FastLED/FastLED / SpiBusConfig

Class SpiBusConfig

src/platforms/esp/32/drivers/spi/ispi_peripheral.h:28–93  ·  view source on GitHub ↗

@brief SPI bus configuration Encapsulates all parameters needed to initialize the SPI bus. Maps directly to ESP-IDF's spi_bus_config_t structure.

Source from the content-addressed store, hash-verified

26/// Encapsulates all parameters needed to initialize the SPI bus.
27/// Maps directly to ESP-IDF's spi_bus_config_t structure.
28struct SpiBusConfig {
29 int miso_pin; ///< MISO pin (GPIO number, -1 if unused)
30 int mosi_pin; ///< MOSI pin (GPIO number, -1 for quad mode)
31 int sclk_pin; ///< SCLK pin (GPIO number)
32 int data2_pin; ///< Data2/WP pin for quad mode (-1 if unused)
33 int data3_pin; ///< Data3/HD pin for quad mode (-1 if unused)
34 int max_transfer_sz; ///< Max transfer size in bytes (0 = default 4094)
35 u32 flags; ///< Bus flags (e.g., SPICOMMON_BUSFLAG_MASTER)
36
37 /// @brief Default constructor (single-lane mode)
38 SpiBusConfig()
39 FL_NOEXCEPT : miso_pin(-1)
40 , mosi_pin(-1)
41 , sclk_pin(-1)
42 , data2_pin(-1)
43 , data3_pin(-1)
44 , max_transfer_sz(0)
45 , flags(0)
46 {}
47
48 /// @brief Constructor for single-lane mode
49 /// @param mosi MOSI pin (data output)
50 /// @param sclk SCLK pin (clock output)
51 /// @param max_sz Max transfer size (0 = default)
52 SpiBusConfig(int mosi, int sclk, int max_sz = 0)
53 FL_NOEXCEPT : miso_pin(-1)
54 , mosi_pin(mosi)
55 , sclk_pin(sclk)
56 , data2_pin(-1)
57 , data3_pin(-1)
58 , max_transfer_sz(max_sz)
59 , flags(0)
60 {}
61
62 /// @brief Constructor for dual-lane mode
63 /// @param data0 Data0/MOSI pin
64 /// @param data1 Data1/MISO pin
65 /// @param sclk SCLK pin
66 /// @param max_sz Max transfer size
67 SpiBusConfig(int data0, int data1, int sclk, int max_sz)
68 FL_NOEXCEPT : miso_pin(data1) // Data1 uses MISO line
69 , mosi_pin(data0) // Data0 uses MOSI line
70 , sclk_pin(sclk)
71 , data2_pin(-1)
72 , data3_pin(-1)
73 , max_transfer_sz(max_sz)
74 , flags(0)
75 {}
76
77 /// @brief Constructor for quad-lane mode
78 /// @param data0 Data0/MOSI pin
79 /// @param data1 Data1/MISO pin
80 /// @param data2 Data2/WP pin
81 /// @param data3 Data3/HD pin
82 /// @param sclk SCLK pin
83 /// @param max_sz Max transfer size
84 SpiBusConfig(int data0, int data1, int data2, int data3, int sclk, int max_sz)
85 FL_NOEXCEPT : miso_pin(data1)

Callers 1

resetMethod · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected