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

SX1276 radio driver for IO-Homecontrol. More...

#include "radio_interface.h"
#include "esphome/core/hal.h"
Include dependency graph for radio_sx1276.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  esphome::home_io_control::RadioSX1276
 SX1276 implementation of RadioDriver. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Variables

static constexpr uint8_t esphome::home_io_control::REG_FIFO = 0x00
 FIFO read/write access.
static constexpr uint8_t esphome::home_io_control::REG_OP_MODE = 0x01
 Operating mode (sleep/standby/tx/rx).
static constexpr uint8_t esphome::home_io_control::REG_BITRATE_MSB = 0x02
 Bit rate MSB = FXOSC / bitrate.
static constexpr uint8_t esphome::home_io_control::REG_BITRATE_LSB = 0x03
static constexpr uint8_t esphome::home_io_control::REG_FDEV_MSB = 0x04
 Frequency deviation MSB.
static constexpr uint8_t esphome::home_io_control::REG_FDEV_LSB = 0x05
static constexpr uint8_t esphome::home_io_control::REG_FRF_MSB = 0x06
 Carrier frequency MSB (freq = FRF * FXOSC / 2^19).
static constexpr uint8_t esphome::home_io_control::REG_FRF_MID = 0x07
static constexpr uint8_t esphome::home_io_control::REG_FRF_LSB = 0x08
static constexpr uint8_t esphome::home_io_control::REG_PA_CONFIG = 0x09
 Power amplifier config (pin select + power level).
static constexpr uint8_t esphome::home_io_control::REG_PA_RAMP = 0x0A
 PA ramp time and modulation shaping.
static constexpr uint8_t esphome::home_io_control::REG_LNA = 0x0C
 Low noise amplifier gain and boost.
static constexpr uint8_t esphome::home_io_control::REG_RX_CONFIG = 0x0D
 Receiver configuration (AFC, AGC, trigger).
static constexpr uint8_t esphome::home_io_control::REG_RSSI_CONFIG = 0x0E
 RSSI smoothing.
static constexpr uint8_t esphome::home_io_control::REG_RX_BW = 0x12
 Receiver bandwidth.
static constexpr uint8_t esphome::home_io_control::REG_AFC_FEI = 0x1A
 AFC auto clear.
static constexpr uint8_t esphome::home_io_control::REG_PREAMBLE_DETECT = 0x1F
 Preamble detector config.
static constexpr uint8_t esphome::home_io_control::REG_OSC = 0x24
 Oscillator / clock output.
static constexpr uint8_t esphome::home_io_control::REG_RSSI_VALUE = 0x11
 Instant RSSI value in FSK mode.
static constexpr uint8_t esphome::home_io_control::REG_PREAMBLE_MSB = 0x25
 TX preamble length MSB.
static constexpr uint8_t esphome::home_io_control::REG_PREAMBLE_LSB = 0x26
static constexpr uint8_t esphome::home_io_control::REG_SYNC_CONFIG = 0x27
 Sync word config (size, polarity, enable).
static constexpr uint8_t esphome::home_io_control::REG_SYNC_VALUE1 = 0x28
 Sync word byte 1 (registers 0x28-0x2F for bytes 1-8).
static constexpr uint8_t esphome::home_io_control::REG_PACKET_CONFIG1 = 0x30
 Packet format, CRC, encoding.
static constexpr uint8_t esphome::home_io_control::REG_PACKET_CONFIG2 = 0x31
 Packet mode, IoHomeOn, PowerFrame.
static constexpr uint8_t esphome::home_io_control::REG_PAYLOAD_LENGTH = 0x32
 Max payload length.
static constexpr uint8_t esphome::home_io_control::REG_FIFO_THRESH = 0x35
 FIFO threshold for TX start condition.
static constexpr uint8_t esphome::home_io_control::REG_IRQ_FLAGS1 = 0x3E
 IRQ flags: mode ready, preamble detect, etc.
static constexpr uint8_t esphome::home_io_control::REG_IRQ_FLAGS2 = 0x3F
 IRQ flags: FIFO full/empty, payload ready, CRC ok.
static constexpr uint8_t esphome::home_io_control::REG_DIO_MAPPING1 = 0x40
 DIO0-DIO3 pin mapping.
static constexpr uint8_t esphome::home_io_control::REG_DIO_MAPPING2 = 0x41
 DIO4-DIO5 pin mapping.
static constexpr uint8_t esphome::home_io_control::REG_VERSION = 0x42
 Chip version (should read 0x12 for SX1276).
static constexpr uint8_t esphome::home_io_control::REG_PLLHOP = 0x44
 PLL hop: fast frequency change without standby.
static constexpr uint8_t esphome::home_io_control::REG_IMAGE_CAL = 0x3B
 Image calibration.
static constexpr uint8_t esphome::home_io_control::MODE_SLEEP = 0x00
static constexpr uint8_t esphome::home_io_control::MODE_STDBY = 0x01
static constexpr uint8_t esphome::home_io_control::MODE_TX = 0x03
static constexpr uint8_t esphome::home_io_control::MODE_RX = 0x05
static constexpr uint8_t esphome::home_io_control::MODE_MASK = 0x07
static constexpr uint32_t esphome::home_io_control::FXOSC = 32000000U
 SX1276 crystal oscillator frequency (32 MHz).

Detailed Description

SX1276 radio driver for IO-Homecontrol.

Implements the RadioDriver interface for the Semtech SX1276 transceiver. Configures the chip in FSK mode with the IoHomeOn hardware feature that handles CRC and packet framing specific to the IO-Homecontrol protocol.

Definition in file radio_sx1276.h.