ESPHome
2025.5.0
Loading...
Searching...
No Matches
esphome
components
remote_base
gobox_protocol.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
esphome/core/component.h
"
4
#include "
remote_base.h
"
5
6
namespace
esphome
{
7
namespace
remote_base {
8
9
struct
GoboxData
{
10
int
code
;
11
bool
operator==
(
const
GoboxData
&rhs)
const
{
return
code
== rhs.
code
; }
12
};
13
14
enum
{
15
GOBOX_MENU
= 0xaa55,
16
GOBOX_RETURN
= 0x22dd,
17
GOBOX_UP
= 0x0af5,
18
GOBOX_LEFT
= 0x8a75,
19
GOBOX_RIGHT
= 0x48b7,
20
GOBOX_DOWN
= 0xa25d,
21
GOBOX_OK
= 0xc837,
22
GOBOX_TOGGLE
= 0xb847,
23
GOBOX_PROFILE
= 0xfa05,
24
GOBOX_FASTER
= 0xf00f,
25
GOBOX_SLOWER
= 0xd02f,
26
GOBOX_LOUDER
= 0xb04f,
27
GOBOX_SOFTER
= 0xf807,
28
};
29
30
class
GoboxProtocol
:
public
RemoteProtocol
<GoboxData> {
31
private
:
32
void
dump_timings_(
const
RawTimings
&timings)
const
;
33
34
public
:
35
void
encode
(
RemoteTransmitData
*dst,
const
GoboxData
&data)
override
;
36
optional<GoboxData>
decode
(
RemoteReceiveData
src)
override
;
37
void
dump
(
const
GoboxData
&data)
override
;
38
};
39
40
DECLARE_REMOTE_PROTOCOL(Gobox)
41
42
template
<
typename
... Ts>
class
GoboxAction :
public
RemoteTransmitterActionBase
<Ts...> {
43
public
:
44
TEMPLATABLE_VALUE(uint64_t, code);
45
46
void
encode(
RemoteTransmitData
*dst, Ts...
x
)
override
{
47
GoboxData
data{};
48
data.
code
= this->code_.value(
x
...);
49
GoboxProtocol().encode(dst, data);
50
}
51
};
52
53
}
// namespace remote_base
54
}
// namespace esphome
esphome::optional
Definition
optional.h:36
esphome::remote_base::GoboxProtocol
Definition
gobox_protocol.h:30
esphome::remote_base::GoboxProtocol::dump
void dump(const GoboxData &data) override
Definition
gobox_protocol.cpp:85
esphome::remote_base::GoboxProtocol::encode
void encode(RemoteTransmitData *dst, const GoboxData &data) override
Definition
gobox_protocol.cpp:23
esphome::remote_base::GoboxProtocol::decode
optional< GoboxData > decode(RemoteReceiveData src) override
Definition
gobox_protocol.cpp:41
esphome::remote_base::RemoteProtocol
Definition
remote_base.h:243
esphome::remote_base::RemoteReceiveData
Definition
remote_base.h:48
esphome::remote_base::RemoteTransmitData
Definition
remote_base.h:25
esphome::remote_base::RemoteTransmitterActionBase
Definition
remote_base.h:297
component.h
esphome::remote_base::GOBOX_SLOWER
@ GOBOX_SLOWER
Definition
gobox_protocol.h:25
esphome::remote_base::GOBOX_LOUDER
@ GOBOX_LOUDER
Definition
gobox_protocol.h:26
esphome::remote_base::GOBOX_UP
@ GOBOX_UP
Definition
gobox_protocol.h:17
esphome::remote_base::GOBOX_PROFILE
@ GOBOX_PROFILE
Definition
gobox_protocol.h:23
esphome::remote_base::GOBOX_FASTER
@ GOBOX_FASTER
Definition
gobox_protocol.h:24
esphome::remote_base::GOBOX_DOWN
@ GOBOX_DOWN
Definition
gobox_protocol.h:20
esphome::remote_base::GOBOX_SOFTER
@ GOBOX_SOFTER
Definition
gobox_protocol.h:27
esphome::remote_base::GOBOX_OK
@ GOBOX_OK
Definition
gobox_protocol.h:21
esphome::remote_base::GOBOX_RETURN
@ GOBOX_RETURN
Definition
gobox_protocol.h:16
esphome::remote_base::GOBOX_TOGGLE
@ GOBOX_TOGGLE
Definition
gobox_protocol.h:22
esphome::remote_base::GOBOX_MENU
@ GOBOX_MENU
Definition
gobox_protocol.h:15
esphome::remote_base::GOBOX_LEFT
@ GOBOX_LEFT
Definition
gobox_protocol.h:18
esphome::remote_base::GOBOX_RIGHT
@ GOBOX_RIGHT
Definition
gobox_protocol.h:19
esphome::remote_base::RawTimings
std::vector< int32_t > RawTimings
Definition
remote_base.h:23
esphome
Providing packet encoding functions for exchanging data with a remote host.
Definition
a01nyub.cpp:7
remote_base.h
esphome::remote_base::GoboxData
Definition
gobox_protocol.h:9
esphome::remote_base::GoboxData::operator==
bool operator==(const GoboxData &rhs) const
Definition
gobox_protocol.h:11
esphome::remote_base::GoboxData::code
int code
Definition
gobox_protocol.h:10
x
uint16_t x
Definition
tt21100.cpp:5
Generated by
1.12.0