idfxx 1.0.0
Modern C++23 components for ESP-IDF
Loading...
Searching...
No Matches
master.hpp File Reference
#include <idfxx/cpu>
#include <idfxx/error>
#include <idfxx/flags>
#include <idfxx/future>
#include <idfxx/gpio>
#include <idfxx/intr_alloc>
#include <atomic>
#include <chrono>
#include <cstdint>
#include <driver/spi_master.h>
#include <esp_idf_version.h>
#include <frequency/frequency>
#include <memory>
#include <optional>
#include <span>
#include <string>
#include <vector>
#include "sdkconfig.h"

Go to the source code of this file.

Classes

struct  idfxx::spi::transaction
 SPI transaction descriptor for full-control transactions. More...
 
struct  idfxx::spi::bus_config
 SPI bus configuration. More...
 
class  idfxx::spi::master_bus
 A SPI master bus. More...
 
class  idfxx::spi::master_device
 A device on a SPI master bus. More...
 
struct  idfxx::spi::master_device::config
 SPI device configuration. More...
 

Namespaces

namespace  idfxx
 
namespace  idfxx::spi
 SPI driver classes.
 

Enumerations

enum class  idfxx::spi::host_device : int {
  idfxx::spi::host_device::spi1 = SPI1_HOST ,
  idfxx::spi::host_device::spi2 = SPI2_HOST ,
  idfxx::spi::host_device::spi3 = SPI3_HOST
}
 General purpose SPI Host Controller ID. More...
 
enum class  idfxx::spi::dma_chan : int {
  idfxx::spi::dma_chan::disabled = SPI_DMA_DISABLED ,
  idfxx::spi::dma_chan::ch_auto = SPI_DMA_CH_AUTO
}
 SPI DMA channel selection. More...
 
enum class  idfxx::spi::bus_flags : uint32_t {
  idfxx::spi::bus_flags::slave = SPICOMMON_BUSFLAG_SLAVE ,
  idfxx::spi::bus_flags::master = SPICOMMON_BUSFLAG_MASTER ,
  idfxx::spi::bus_flags::iomux_pins = SPICOMMON_BUSFLAG_IOMUX_PINS ,
  idfxx::spi::bus_flags::sclk = SPICOMMON_BUSFLAG_SCLK ,
  idfxx::spi::bus_flags::miso = SPICOMMON_BUSFLAG_MISO ,
  idfxx::spi::bus_flags::mosi = SPICOMMON_BUSFLAG_MOSI ,
  idfxx::spi::bus_flags::dual ,
  idfxx::spi::bus_flags::wphd = SPICOMMON_BUSFLAG_WPHD ,
  idfxx::spi::bus_flags::quad = SPICOMMON_BUSFLAG_QUAD ,
  idfxx::spi::bus_flags::io4_io7 = SPICOMMON_BUSFLAG_IO4_IO7 ,
  idfxx::spi::bus_flags::octal = SPICOMMON_BUSFLAG_OCTAL ,
  idfxx::spi::bus_flags::native_pins = SPICOMMON_BUSFLAG_NATIVE_PINS ,
  idfxx::spi::bus_flags::slp_allow_pd = SPICOMMON_BUSFLAG_SLP_ALLOW_PD
}
 SPI bus capability and configuration flags. More...
 
enum class  idfxx::spi::device_flags : uint32_t {
  idfxx::spi::device_flags::txbit_lsbfirst = SPI_DEVICE_TXBIT_LSBFIRST ,
  idfxx::spi::device_flags::rxbit_lsbfirst = SPI_DEVICE_RXBIT_LSBFIRST ,
  idfxx::spi::device_flags::bit_lsbfirst = SPI_DEVICE_BIT_LSBFIRST ,
  idfxx::spi::device_flags::three_wire = SPI_DEVICE_3WIRE ,
  idfxx::spi::device_flags::positive_cs = SPI_DEVICE_POSITIVE_CS ,
  idfxx::spi::device_flags::halfduplex = SPI_DEVICE_HALFDUPLEX ,
  idfxx::spi::device_flags::clk_as_cs = SPI_DEVICE_CLK_AS_CS ,
  idfxx::spi::device_flags::no_dummy = SPI_DEVICE_NO_DUMMY ,
  idfxx::spi::device_flags::ddrclk = SPI_DEVICE_DDRCLK ,
  idfxx::spi::device_flags::no_return_result = SPI_DEVICE_NO_RETURN_RESULT
}
 SPI device capability and configuration flags. More...
 
enum class  idfxx::spi::trans_flags : uint32_t {
  idfxx::spi::trans_flags::mode_dio = SPI_TRANS_MODE_DIO ,
  idfxx::spi::trans_flags::mode_qio = SPI_TRANS_MODE_QIO ,
  idfxx::spi::trans_flags::mode_oct = SPI_TRANS_MODE_OCT ,
  idfxx::spi::trans_flags::use_rxdata = SPI_TRANS_USE_RXDATA ,
  idfxx::spi::trans_flags::use_txdata = SPI_TRANS_USE_TXDATA ,
  idfxx::spi::trans_flags::multiline_addr = SPI_TRANS_MULTILINE_ADDR ,
  idfxx::spi::trans_flags::multiline_cmd = SPI_TRANS_MULTILINE_CMD ,
  idfxx::spi::trans_flags::variable_cmd = SPI_TRANS_VARIABLE_CMD ,
  idfxx::spi::trans_flags::variable_addr = SPI_TRANS_VARIABLE_ADDR ,
  idfxx::spi::trans_flags::variable_dummy = SPI_TRANS_VARIABLE_DUMMY ,
  idfxx::spi::trans_flags::cs_keep_active = SPI_TRANS_CS_KEEP_ACTIVE ,
  idfxx::spi::trans_flags::dma_buffer_align_manual = SPI_TRANS_DMA_BUFFER_ALIGN_MANUAL ,
  idfxx::spi::trans_flags::dma_use_psram = SPI_TRANS_DMA_USE_PSRAM
}
 SPI transaction flags. More...
 

Functions

std::string idfxx::to_string (spi::host_device h)
 Returns a string representation of an SPI host device.