ESPHome 2026.6.0-dev
Loading...
Searching...
No Matches
dish_protocol.h
Go to the documentation of this file.
1#pragma once
2
3#include "remote_base.h"
4
5namespace esphome::remote_base {
6
7struct DishData {
8 uint8_t address;
9 uint8_t command;
10
11 bool operator==(const DishData &rhs) const { return address == rhs.address && command == rhs.command; }
12};
13
14class DishProtocol : public RemoteProtocol<DishData> {
15 public:
16 void encode(RemoteTransmitData *dst, const DishData &data) override;
17 optional<DishData> decode(RemoteReceiveData src) override;
18 void dump(const DishData &data) override;
19};
20
21DECLARE_REMOTE_PROTOCOL(Dish)
22
23template<typename... Ts> class DishAction : public RemoteTransmitterActionBase<Ts...> {
24 public:
25 TEMPLATABLE_VALUE(uint8_t, address)
26 TEMPLATABLE_VALUE(uint8_t, command)
27
28 void encode(RemoteTransmitData *dst, Ts... x) override {
29 DishData data{};
30 data.address = this->address_.value(x...);
31 data.command = this->command_.value(x...);
32 DishProtocol().encode(dst, data);
33 }
34};
35
36} // namespace esphome::remote_base
uint8_t address
Definition bl0906.h:4
void dump(const DishData &data) override
optional< DishData > decode(RemoteReceiveData src) override
void encode(RemoteTransmitData *dst, const DishData &data) override
const void * src
Definition hal.h:64
bool operator==(const DishData &rhs) const
uint16_t x
Definition tt21100.cpp:5