|
Home IO Control
ESPHome add-on for IO-Homecontrol devices
|
Radio abstraction layer for IO-Homecontrol. More...
#include "proto_frame.h"#include "proto_timing.h"#include "tuning_config.h"#include <atomic>#include <cstdint>#include <iterator>#include "esphome/core/hal.h"Go to the source code of this file.
Classes | |
| class | esphome::home_io_control::SpiAccess |
| Interface for SPI bus access. More... | |
| struct | esphome::home_io_control::RadioTxConfig |
| Configuration for transmitting a packet: carrier frequency and preamble length. More... | |
| struct | esphome::home_io_control::RadioRxPacket |
| Raw packet received from the radio. More... | |
| struct | esphome::home_io_control::RadioCaptureInfo |
| Diagnostic capture from a radio operation. More... | |
| class | esphome::home_io_control::RadioDriver |
| Abstract radio driver for IO-Homecontrol. More... | |
Namespaces | |
| namespace | esphome |
| namespace | esphome::home_io_control |
Enumerations | |
| enum class | esphome::home_io_control::FemProfile : uint8_t { esphome::home_io_control::NONE = 0 , esphome::home_io_control::GC1109 , esphome::home_io_control::KCT8103L , esphome::home_io_control::XY16P35 } |
| Which RF front-end module (if any) sits between the SX1262 and the antenna. More... | |
Functions | |
| const char * | esphome::home_io_control::tcxo_voltage_label (uint8_t code) |
| Human-readable voltage for a tcxo_voltage code, for the config dump. | |
Variables | |
| constexpr uint8_t | esphome::home_io_control::RADIO_PACKET_BUFFER_SIZE |
| Scratch buffer size for raw radio packets and recovered frames. | |
| constexpr uint32_t | esphome::home_io_control::RX_HOP_HOLDOFF_US = 12000 |
| Longest a frame arriving on the current channel may hold off an idle-path channel hop, in microseconds. | |
| constexpr uint8_t | esphome::home_io_control::TCXO_VOLTAGE_NONE = 0xFF |
| Sentinel tcxo_voltage code (YAML none) for a board with a bare crystal and no TCXO. | |
Radio abstraction layer for IO-Homecontrol.
Defines the SpiAccess interface for SPI bus access and the RadioDriver abstract class that encapsulates all chip-specific radio operations. This allows the protocol layer to work with different radio chips (SX1276, SX1262, etc.) without knowing the hardware details.
Definition in file radio_interface.h.