PL::Spi class

class Spi : public PL::Lockable

SPI class.

Public Functions

Spi(spi_host_device_t host, int mosiPin, int misoPin, int sclkPin)

Creates an SPI.

Parameters:
  • host – SPI host (typically SPI2_HOST or SPI3_HOST)

  • mosiPin – MOSI pin

  • misoPin – MISO pin

  • sclkPin – SCLK pin

virtual esp_err_t Lock(TickType_t timeout = portMAX_DELAY) override

Locks the object.

Parameters:

timeout – timeout in FreeRTOS ticks

Returns:

error code

virtual esp_err_t Unlock() override

Unlocks the object.

Returns:

error code

esp_err_t Initialize()

Initializes the SPI.

Returns:

error code

esp_err_t SetMaxTransactionSize(int maxTransactionSize)

Sets the max transaction size (may be called only before Initialize)

Note

Sizes that exceed SOC_SPI_MAXIMUM_BUFFER_SIZE enable DMA, which requires the transaction buffers to be allocated in DMA-capable memory.

Parameters:

maxTransactionSize – max transaction size in bytes (0 means SOC_SPI_MAXIMUM_BUFFER_SIZE)

Returns:

error code

Public Static Attributes

static constexpr int defaultMaxTransactionSize = 32

Default max transaction size in bytes.