|
ESPHome 2026.3.3
|
Implementation of SPI Controller mode. More...
Data Structures | |
| class | NullPin |
| A pin to replace those that don't exist. More... | |
| class | SPIBus |
| class | SPIClient |
| Base class for SPIDevice, un-templated. More... | |
| class | SPIComponent |
| class | SPIDelegate |
| class | SPIDelegateBitBash |
| An implementation of SPI that relies only on software toggling of pins. More... | |
| class | SPIDelegateDummy |
| A dummy SPIDelegate that complains if it's used. More... | |
| class | SPIDevice |
| The SPIDevice is what components using the SPI will create. More... | |
| class | Utility |
Typedefs | |
| using | QuadSPIComponent = SPIComponent |
| using | OctalSPIComponent = SPIComponent |
Enumerations | |
| enum | SPIBitOrder { BIT_ORDER_LSB_FIRST , BIT_ORDER_MSB_FIRST } |
| The bit-order for SPI devices. This defines how the data read from and written to the device is interpreted. More... | |
| enum | SPIClockPolarity { CLOCK_POLARITY_LOW = false , CLOCK_POLARITY_HIGH = true } |
| The SPI clock signal polarity,. More... | |
| enum | SPIClockPhase { CLOCK_PHASE_LEADING , CLOCK_PHASE_TRAILING } |
| The SPI clock signal phase. More... | |
| enum | SPIMode { MODE0 = 0 , MODE1 = 1 , MODE2 = 2 , MODE3 = 3 } |
| Modes mapping to clock phase and polarity. More... | |
| enum | SPIDataRate : uint32_t { DATA_RATE_1KHZ = 1000 , DATA_RATE_75KHZ = 75000 , DATA_RATE_200KHZ = 200000 , DATA_RATE_1MHZ = 1000000 , DATA_RATE_2MHZ = 2000000 , DATA_RATE_4MHZ = 4000000 , DATA_RATE_5MHZ = 5000000 , DATA_RATE_8MHZ = 8000000 , DATA_RATE_10MHZ = 10000000 , DATA_RATE_20MHZ = 20000000 , DATA_RATE_40MHZ = 40000000 , DATA_RATE_80MHZ = 80000000 } |
| The SPI clock signal frequency, which determines the transfer bit rate/second. More... | |
Variables | |
| const char *const | TAG = "spi" |
Implementation of SPI Controller mode.
The SPI clock signal polarity,.
This defines how the clock signal is used. Flipping this effectively inverts the clock signal.
The SPI clock signal frequency, which determines the transfer bit rate/second.
Implementations can use the pre-defined constants here, or use an integer in the template definition to manually use a specific data rate.
| Enumerator | |
|---|---|
| DATA_RATE_1KHZ | |
| DATA_RATE_75KHZ | |
| DATA_RATE_200KHZ | |
| DATA_RATE_1MHZ | |
| DATA_RATE_2MHZ | |
| DATA_RATE_4MHZ | |
| DATA_RATE_5MHZ | |
| DATA_RATE_8MHZ | |
| DATA_RATE_10MHZ | |
| DATA_RATE_20MHZ | |
| DATA_RATE_40MHZ | |
| DATA_RATE_80MHZ | |