ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
byronsx_protocol.h
Go to the documentation of this file.
1#pragma once
2
4#include "remote_base.h"
5
6namespace esphome::remote_base {
7
8struct ByronSXData {
9 uint8_t address;
10 uint8_t command;
11
12 bool operator==(const ByronSXData &rhs) const {
13 // Treat 0x10 as a special, wildcard command/chime
14 // This allows us to match on just the address if wanted.
15 if (address != rhs.address) {
16 return false;
17 }
18 return (rhs.command == 0x10 || command == rhs.command);
19 }
20};
21
22class ByronSXProtocol : public RemoteProtocol<ByronSXData> {
23 public:
24 void encode(RemoteTransmitData *dst, const ByronSXData &data);
25 optional<ByronSXData> decode(RemoteReceiveData src);
26 void dump(const ByronSXData &data);
27};
28
29DECLARE_REMOTE_PROTOCOL(ByronSX)
30
31} // namespace esphome::remote_base
optional< ByronSXData > decode(RemoteReceiveData src)
void encode(RemoteTransmitData *dst, const ByronSXData &data)
void dump(const ByronSXData &data)
const void * src
Definition hal.h:68
bool operator==(const ByronSXData &rhs) const