|
HF Interface Wrapper 0.1.0-dev
Embedded C++ hardware abstraction layer
|
ESP32 PIO/RMT type definitions for hardware abstraction. More...
Go to the source code of this file.
Classes | |
| struct | hf_rmt_transmit_config_t |
| ESP32 RMT transmission configuration. More... | |
| struct | hf_rmt_receive_config_t |
| ESP32 RMT reception configuration. More... | |
| struct | hf_rmt_carrier_config_t |
| ESP32 RMT carrier configuration for IR protocols. More... | |
Macros | |
| #define | HF_RMT_IS_VALID_CHANNEL(ch) ((ch) < HF_RMT_MAX_CHANNELS) |
| RMT validation macros for ESP32 variants. | |
| #define | HF_RMT_IS_VALID_TX_CHANNEL(ch) ((ch) >= 0 && (ch) < 2) |
| #define | HF_RMT_IS_VALID_RX_CHANNEL(ch) ((ch) >= 2 && (ch) < 4) |
| #define | HF_RMT_IS_VALID_RESOLUTION(res) ((res) >= HF_RMT_MIN_RESOLUTION_HZ && (res) <= HF_RMT_MAX_RESOLUTION_HZ) |
| #define | HF_RMT_IS_VALID_MEM_BLOCK_SIZE(size) ((size) >= HF_RMT_MIN_MEM_BLOCK_SYMBOLS && (size) <= HF_RMT_MAX_MEM_BLOCK_SYMBOLS) |
| #define | HF_RMT_IS_VALID_QUEUE_DEPTH(depth) ((depth) >= 1 && (depth) <= HF_RMT_MAX_QUEUE_DEPTH) |
| #define | HF_RMT_IS_VALID_INTR_PRIORITY(prio) ((prio) <= HF_RMT_MAX_INTERRUPT_PRIORITY) |
Enumerations | |
| enum class | hf_rmt_clock_source_t : uint8_t { HF_RMT_CLK_SRC_DEFAULT = 0 , HF_RMT_CLK_SRC_APB = 1 , HF_RMT_CLK_SRC_XTAL = 2 , HF_RMT_CLK_SRC_RC_FAST = 3 } |
| ESP32 RMT clock source selection. More... | |
| enum class | hf_rmt_channel_direction_t : uint8_t { HF_RMT_CHANNEL_DIRECTION_TX = 0 , HF_RMT_CHANNEL_DIRECTION_RX = 1 } |
| ESP32 RMT channel direction. More... | |
Functions | |
| constexpr int8_t | HfRmtGetTxChannel (uint8_t index) noexcept |
| Get the recommended TX channel for the current ESP32 variant. | |
| constexpr int8_t | HfRmtGetRxChannel (uint8_t index) noexcept |
| Get the recommended RX channel for the current ESP32 variant. | |
| constexpr bool | HfRmtIsChannelValidForDirection (uint8_t channel_id, hf_pio_direction_t direction) noexcept |
| Validate channel for specific direction on current ESP32 variant. | |
| constexpr const char * | HfRmtGetVariantName () noexcept |
| Get ESP32 variant name for debugging. | |
Variables | |
| static constexpr uint8_t | HF_RMT_MAX_CHANNELS = 4 |
| static constexpr uint8_t | HF_RMT_MAX_TX_CHANNELS = 2 |
| static constexpr uint8_t | HF_RMT_MAX_RX_CHANNELS = 2 |
| static constexpr uint8_t | HF_RMT_TX_CHANNEL_START = 0 |
| static constexpr uint8_t | HF_RMT_RX_CHANNEL_START = 2 |
| static constexpr size_t | HF_RMT_MIN_MEM_BLOCK_SYMBOLS = 48 |
| static constexpr size_t | HF_RMT_MAX_MEM_BLOCK_SYMBOLS = 1024 |
| static constexpr size_t | HF_RMT_DEFAULT_MEM_BLOCK_SYMBOLS = 64 |
| static constexpr uint32_t | HF_RMT_MAX_RESOLUTION_HZ = 80000000 |
| static constexpr uint32_t | HF_RMT_MIN_RESOLUTION_HZ = 1000 |
| static constexpr uint32_t | HF_RMT_DEFAULT_RESOLUTION_HZ = 1000000 |
| static constexpr uint8_t | HF_RMT_MAX_QUEUE_DEPTH = 32 |
| static constexpr uint8_t | HF_RMT_MAX_INTERRUPT_PRIORITY = 7 |
ESP32 PIO/RMT type definitions for hardware abstraction.
This header defines only the essential PIO/RMT-specific types used by the EspPio implementation. Clean and minimal approach.
| #define HF_RMT_IS_VALID_CHANNEL | ( | ch | ) | ((ch) < HF_RMT_MAX_CHANNELS) |
RMT validation macros for ESP32 variants.
| #define HF_RMT_IS_VALID_INTR_PRIORITY | ( | prio | ) | ((prio) <= HF_RMT_MAX_INTERRUPT_PRIORITY) |
| #define HF_RMT_IS_VALID_MEM_BLOCK_SIZE | ( | size | ) | ((size) >= HF_RMT_MIN_MEM_BLOCK_SYMBOLS && (size) <= HF_RMT_MAX_MEM_BLOCK_SYMBOLS) |
| #define HF_RMT_IS_VALID_QUEUE_DEPTH | ( | depth | ) | ((depth) >= 1 && (depth) <= HF_RMT_MAX_QUEUE_DEPTH) |
| #define HF_RMT_IS_VALID_RESOLUTION | ( | res | ) | ((res) >= HF_RMT_MIN_RESOLUTION_HZ && (res) <= HF_RMT_MAX_RESOLUTION_HZ) |
| #define HF_RMT_IS_VALID_RX_CHANNEL | ( | ch | ) | ((ch) >= 2 && (ch) < 4) |
| #define HF_RMT_IS_VALID_TX_CHANNEL | ( | ch | ) | ((ch) >= 0 && (ch) < 2) |
|
strong |
|
strong |
|
inlineconstexprnoexcept |
Get the recommended RX channel for the current ESP32 variant.
| index | Channel index (0-based within available RX channels) |
|
inlineconstexprnoexcept |
Get the recommended TX channel for the current ESP32 variant.
| index | Channel index (0-based within available TX channels) |
|
inlineconstexprnoexcept |
Get ESP32 variant name for debugging.
|
inlineconstexprnoexcept |
Validate channel for specific direction on current ESP32 variant.
| channel_id | Channel number to validate |
| direction | Direction (TX or RX) |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |
|
staticconstexpr |