ESPHome
2025.4.0
|
An implementation of SPI that relies only on software toggling of pins. More...
#include <spi.h>
Public Member Functions | |
SPIDelegateBitBash (uint32_t clock, SPIBitOrder bit_order, SPIMode mode, GPIOPin *cs_pin, GPIOPin *clk_pin, GPIOPin *sdo_pin, GPIOPin *sdi_pin) | |
uint8_t | transfer (uint8_t data) override |
void | write (uint16_t data, size_t num_bits) override |
void | write16 (uint16_t data) override |
![]() | |
SPIDelegate ()=default | |
SPIDelegate (uint32_t data_rate, SPIBitOrder bit_order, SPIMode mode, GPIOPin *cs_pin) | |
virtual | ~SPIDelegate () |
virtual void | begin_transaction () |
virtual void | end_transaction () |
virtual void | transfer (uint8_t *ptr, size_t length) |
virtual void | transfer (const uint8_t *txbuf, uint8_t *rxbuf, size_t length) |
virtual void | write_cmd_addr_data (size_t cmd_bits, uint32_t cmd, size_t addr_bits, uint32_t address, const uint8_t *data, size_t length, uint8_t bus_width) |
virtual void | write_array16 (const uint16_t *data, size_t length) |
virtual void | write_array (const uint8_t *ptr, size_t length) |
virtual void | read_array (uint8_t *ptr, size_t length) |
virtual bool | is_ready () |
Protected Member Functions | |
void HOT | cycle_clock_ () |
uint16_t | transfer_ (uint16_t data, size_t num_bits) |
Protected Attributes | |
GPIOPin * | clk_pin_ |
GPIOPin * | sdo_pin_ |
GPIOPin * | sdi_pin_ |
uint32_t | last_transition_ {0} |
uint32_t | wait_cycle_ |
SPIClockPolarity | clock_polarity_ |
SPIClockPhase | clock_phase_ |
![]() | |
SPIBitOrder | bit_order_ {BIT_ORDER_MSB_FIRST} |
uint32_t | data_rate_ {1000000} |
SPIMode | mode_ {MODE0} |
GPIOPin * | cs_pin_ {NullPin::NULL_PIN} |
Additional Inherited Members | |
![]() | |
static SPIDelegate *const | NULL_DELEGATE |
An implementation of SPI that relies only on software toggling of pins.
|
inlineprotected |
|
overridevirtual |
Implements esphome::spi::SPIDelegate.
|
protected |
|
overridevirtual |
Reimplemented from esphome::spi::SPIDelegate.
|
inlineoverridevirtual |
Reimplemented from esphome::spi::SPIDelegate.
|
protected |
|
protected |
|
protected |
|
protected |