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

One-way (1W) transmit collaborator. More...

#include "oneway_controller.h"
#include "oneway_sequence_store.h"
#include "proto_device_model.h"
#include "proto_frame.h"
#include <array>
#include <cstdint>
#include <functional>
#include <string>
Include dependency graph for oneway_transmitter.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::OneWayCommandReport
 What a 1W command attempt did — the only feedback this feature can ever produce. More...
class  esphome::home_io_control::OneWayTransmitter
 Sends 1W commands as the repeated bursts real remotes send. More...

Namespaces

namespace  esphome
namespace  esphome::home_io_control

Typedefs

using esphome::home_io_control::OneWayTransmitFn = std::function<bool(const IoFrame &frame, uint32_t freq, uint16_t preamble)>
 How the transmitter puts a frame on air.
using esphome::home_io_control::OneWayCommandReportFn = std::function<void(const OneWayCommandReport &report)>
 Invoked once per attempted 1W command, successful or not.

Detailed Description

One-way (1W) transmit collaborator.

The third object that drives the radio, alongside ExchangeEngine and PairingEngine (ADR 0004) — and the only one that awaits nothing. A 1W command has no reply, no challenge and no acknowledgement: the frame goes out and that is the whole interaction. Everything this class does follows from that, most of all the repetition, which is the only reliability mechanism available when nothing can report a miss.

Definition in file oneway_transmitter.h.