ESPHome
2023.5.5
esphome
esphome
components
remote_base
jvc_protocol.h
Go to the documentation of this file.
1
#pragma once
2
3
#include "
remote_base.h
"
4
5
namespace
esphome
{
6
namespace
remote_base {
7
8
struct
JVCData
{
9
uint32_t
data
;
10
11
bool
operator==
(
const
JVCData
&rhs)
const
{
return
data == rhs.
data
; }
12
};
13
14
class
JVCProtocol
:
public
RemoteProtocol
<JVCData> {
15
public
:
16
void
encode(
RemoteTransmitData
*dst,
const
JVCData
&
data
)
override
;
17
optional<JVCData>
decode(
RemoteReceiveData
src)
override
;
18
void
dump(
const
JVCData
&data)
override
;
19
};
20
21
DECLARE_REMOTE_PROTOCOL
(JVC)
22
23
template
<
typename
... Ts>
class
JVCAction :
public
RemoteTransmitterActionBase
<Ts...> {
24
public
:
25
TEMPLATABLE_VALUE(uint32_t,
data
)
26
27
void
encode(
RemoteTransmitData
*dst, Ts... x)
override
{
28
JVCData
data
{};
29
data
.data = this->data_.value(x...);
30
JVCProtocol
().
encode
(dst,
data
);
31
}
32
};
33
34
}
// namespace remote_base
35
}
// namespace esphome
esphome::remote_base::DECLARE_REMOTE_PROTOCOL
DECLARE_REMOTE_PROTOCOL(AEHA) template< typename... Ts > class AEHAAction
Definition:
aeha_protocol.h:27
esphome::remote_base::JVCData::data
uint32_t data
Definition:
jvc_protocol.h:9
esphome::remote_base::RemoteTransmitData
Definition:
remote_base.h:18
esphome::remote_base::RemoteProtocol
Definition:
remote_base.h:149
esphome::remote_base::JVCData
Definition:
jvc_protocol.h:8
esphome::remote_base::JVCData::operator==
bool operator==(const JVCData &rhs) const
Definition:
jvc_protocol.h:11
esphome::remote_base::RemoteTransmitterActionBase
Definition:
remote_base.h:333
esphome::remote_base::RemoteReceiveData
Definition:
remote_base.h:58
esphome::optional
Definition:
optional.h:36
esphome::remote_base::JVCProtocol::encode
void encode(RemoteTransmitData *dst, const JVCData &data) override
Definition:
jvc_protocol.cpp:16
remote_base.h
esphome
Definition:
a4988.cpp:4
esphome::remote_base::JVCProtocol
Definition:
jvc_protocol.h:14
Generated by
1.8.13