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

ESP32C6 RMT-based Programmable IO Channel implementation with ESP-IDF v5.5+ features. More...

#include "BasePio.h"
#include "EspTypes.h"
#include "PlatformMutex.h"
#include <array>
#include "driver/rmt_encoder.h"
#include "driver/rmt_rx.h"
#include "driver/rmt_tx.h"
Include dependency graph for EspPio.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  hf_pio_channel_statistics_t
 
class  EspPio
 ESP32C6 RMT-based Programmable IO Channel implementation with advanced ESP-IDF v5.5+ features. More...
 
struct  EspPio::ChannelState
 

Detailed Description

ESP32C6 RMT-based Programmable IO Channel implementation with ESP-IDF v5.5+ features.

This header provides a comprehensive PIO implementation for ESP32C6 microcontrollers using the advanced RMT (Remote Control Transceiver) peripheral with full ESP-IDF v5.5+ support. The RMT peripheral provides precise timing control, hardware buffering, DMA support, and advanced features ideal for high-performance PIO operations.

  • The implementation supports:
  • High-precision timing control (nanosecond resolution)
  • Hardware symbol encoding/decoding with DMA
  • Custom protocols, IR communication, and generic digital signaling
  • Interrupt-driven operation with minimal CPU overhead
  • Advanced carrier modulation and configurable idle levels
  • ESP32C6-specific optimizations and ESP-IDF v5.5+ features
  • True lazy initialization for optimal resource usage
  • Thread-safe operation with comprehensive error handling
Author
Nebiyu Tadesse
Date
2025
Note
Features include up to 8 RMT channels, nanosecond-level timing precision, hardware symbol encoding/decoding, interrupt-driven operation, support for IR, custom protocols, configurable idle levels, and carrier modulation.
Requires ESP32C6 with ESP-IDF v5.5+ for full advanced feature support.