ESPHome 2026.11.0-dev
Loading...
Searching...
No Matches
rc5x_protocol.h
Go to the documentation of this file.
1#pragma once
2
3#include "remote_base.h"
4
5/*
6 * Marantz RC5 extended protocol (RC5x)
7 * See https://arduino-irremote.github.io/Arduino-IRremote/ir__RC5__RC6_8hpp_source.html
8 */
9
10namespace esphome::remote_base {
11
12struct RC5XData {
13 uint8_t address;
14 uint8_t command;
15 uint8_t extension;
16
17 bool operator==(const RC5XData &rhs) const {
18 return address == rhs.address && command == rhs.command && extension == rhs.extension;
19 }
20};
21
22class RC5XProtocol : public RemoteProtocol<RC5XData> {
23 public:
24 void encode(RemoteTransmitData *dst, const RC5XData &data);
25 optional<RC5XData> decode(RemoteReceiveData src);
26 void dump(const RC5XData &data);
27};
28
29DECLARE_REMOTE_PROTOCOL(RC5X)
30
31} // namespace esphome::remote_base
optional< RC5XData > decode(RemoteReceiveData src)
void dump(const RC5XData &data)
void encode(RemoteTransmitData *dst, const RC5XData &data)
const void * src
Definition hal.h:68
bool operator==(const RC5XData &rhs) const