Home IO Control
ESPHome add-on for IO-Homecontrol devices
Loading...
Searching...
No Matches
radio_sx1262.cpp File Reference

SX1262 radio driver implementation for IO-Homecontrol. More...

#include "radio_sx1262.h"
#include "esphome/core/log.h"
#include "esphome/core/application.h"
#include <cinttypes>
Include dependency graph for radio_sx1262.cpp:

Go to the source code of this file.

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Functions

FemRxGain esphome::home_io_control::sx1262_fem_rx_gain (FemProfile profile)
 The receive gain to remove from RSSI for a FEM profile.
FemTxEstimate esphome::home_io_control::sx1262_fem_tx_estimate (FemProfile profile, uint8_t tx_power)
 Estimate what a FEM profile radiates for a configured tx_power.
void esphome::home_io_control::sx1262_format_device_errors (uint16_t errors, char *buf, size_t buf_size)
 Expand a GetDeviceErrors word into a human-readable NAME|NAME|... string.

Variables

static const char *const esphome::home_io_control::TAG = "home_io_control.sx1262"
static const uint8_t esphome::home_io_control::SX1262_SYNC_WORD_PARAM_24_BITS = 0x18

Detailed Description

SX1262 radio driver implementation for IO-Homecontrol.

Unlike the SX1276, the SX1262 does not provide Semtech's IoHomeOn mode for IO-Homecontrol. On SX1276 that mode handles key protocol details in hardware: CRC generation and checking, packet boundary handling, and delivery of already-decoded protocol bytes in the FIFO. On SX1262 those pieces are reproduced in software by SoftPhyDriverBase (shared with RadioLR1121) on top of generic GFSK support; this file supplies the SPI transport and every register/opcode encoding SoftPhyDriverBase's shared RX/TX orchestration calls through virtual primitives.

The chip interface itself is opcode-based SPI instead of the SX1276 register model, and every transaction must respect the BUSY line. For experiment builds, the RX path prioritizes preserving the chip-reported bytes and metadata verbatim.

Definition in file radio_sx1262.cpp.