HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
Loading...
Searching...
No Matches
EspSpi.h File Reference

Advanced MCU-integrated SPI controller implementation with ESP32C6/ESP-IDF v5.5+ features. More...

#include "BaseSpi.h"
#include "PlatformMutex.h"
#include "utils/EspTypes.h"
#include <memory>
#include <vector>
#include "driver/spi_common.h"
#include "driver/spi_master.h"
#include "esp_log.h"
Include dependency graph for EspSpi.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  EspSpiDevice
 Represents a single SPI device on a bus (CS/config/handle). More...
 
class  EspSpiBus
 Manages a single SPI bus (host). Handles bus init/deinit and device creation. More...
 

Detailed Description

Advanced MCU-integrated SPI controller implementation with ESP32C6/ESP-IDF v5.5+ features.

This header provides a comprehensive SPI implementation that utilizes all the advanced features available in ESP-IDF v5.5+ for ESP32C6, including DMA acceleration, octal/quad modes, advanced timing control, multi-device management, power optimization, and comprehensive error handling. The implementation supports both master and slave modes with extensive configuration options for high-performance and low-power applications.

Key ESP32C6/ESP-IDF v5.5+ Features Supported:

  • High-speed SPI Master with DMA support (up to 80MHz)
  • Multiple clock sources (APB, XTAL) for power optimization
  • IOMUX optimization for high-frequency operations
  • Transaction queuing with interrupt and polling modes
  • Comprehensive error handling and status reporting
  • Thread-safe multi-device management on single bus
  • Advanced timing control with input delay compensation
  • Transaction callbacks for custom handling
Author
Nebiyu Tadesse
Date
2025
Note
This implementation fully complies with ESP-IDF v5.5 SPI Master driver API
Supports ESP32C6 hardware features including dual/quad/octal SPI modes
Thread-safe operations using RTOS mutex protection