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

Software PHY for radios without IoHomeOn hardware framing. More...

#include "radio_interface.h"
#include <cstdint>
Include dependency graph for radio_soft_phy.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  esphome::home_io_control::UartProbeResult
 Result of the UART probe: best candidate frame within a raw capture. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Functions

uint8_t esphome::home_io_control::decode_uart_probe (const uint8_t *raw, uint8_t raw_len, uint8_t bit_offset, uint8_t *decoded, uint8_t decoded_max_len)
 Decode a raw UART‑encoded bitstream into bytes.
UartProbeResult esphome::home_io_control::find_uart_probe (const uint8_t *raw, uint8_t raw_len)
 Search raw RX buffer for the best CRC-validated IO-Homecontrol frame.
uint8_t esphome::home_io_control::soft_phy_raw_bytes_for_frame (uint8_t frame_len)
 Raw on-air bytes needed to carry a whole frame: frame_len protocol bytes plus the two trailing CRC bytes, each UART-packed into a 10-bit cell.
uint8_t esphome::home_io_control::soft_phy_peek_frame_length (const uint8_t *raw, uint8_t raw_len)
 Recover a frame's total length from the very first UART cell of a reception.
uint8_t esphome::home_io_control::uart_encode_packet (const uint8_t *data, uint8_t len, uint8_t *encoded, uint8_t encoded_max_len)
 UART-encode a buffer of bytes (start bit 0, 8 data bits LSB-first, stop bit 1).

Variables

static constexpr uint8_t esphome::home_io_control::UART_CELL_BITS = 10
 Bits an on-air UART cell spends per protocol byte: start(1) + data(8) + stop(1).

Detailed Description

Software PHY for radios without IoHomeOn hardware framing.

Chips such as the SX1262 and LR1121 have no hardware mode equivalent to the SX1276's IoHomeOn: they provide generic GFSK framing only. This header declares the chip-agnostic pieces such a driver needs to reproduce IO-Homecontrol framing in software — UART bit-encoding for TX, and a UART-decode probe (with CRC validation) to recover frame boundaries from an unaligned raw RX bitstream.

Definition in file radio_soft_phy.h.