ESPHome
2026.11.0-dev
Loading...
Searching...
No Matches
esphome
components
remote_base
panasonic_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
#include <cinttypes>
7
8
namespace
esphome::remote_base
{
9
10
struct
PanasonicData
{
11
// address and command stay first so positional initializers written for the 48-bit struct keep working.
12
uint16_t
address
;
13
uint32_t
command
;
14
uint8_t
nbits
{48};
// 48 or 56
15
uint8_t
address_2
{0};
16
// Transmit only: a receiver cannot measure the carrier, so it is not compared.
17
uint32_t
carrier_frequency
{35000};
18
19
bool
operator==
(
const
PanasonicData
&rhs)
const
{
20
return
address
== rhs.
address
&&
address_2
== rhs.
address_2
&&
command
== rhs.
command
&&
nbits
== rhs.
nbits
;
21
}
22
};
23
24
class
PanasonicProtocol
:
public
RemoteProtocol
<PanasonicData> {
25
public
:
26
void
encode
(
RemoteTransmitData
*dst,
const
PanasonicData
&data);
27
optional<PanasonicData>
decode
(
RemoteReceiveData
src
);
28
void
dump
(
const
PanasonicData
&data);
29
};
30
31
DECLARE_REMOTE_PROTOCOL(Panasonic)
32
33
}
// namespace esphome::remote_base
esphome::remote_base::PanasonicProtocol
Definition
panasonic_protocol.h:24
esphome::remote_base::PanasonicProtocol::decode
optional< PanasonicData > decode(RemoteReceiveData src)
Definition
panasonic_protocol.cpp:55
esphome::remote_base::PanasonicProtocol::encode
void encode(RemoteTransmitData *dst, const PanasonicData &data)
Definition
panasonic_protocol.cpp:38
esphome::remote_base::PanasonicProtocol::dump
void dump(const PanasonicData &data)
Definition
panasonic_protocol.cpp:77
esphome::remote_base::RemoteProtocol
Definition
remote_base.h:390
esphome::remote_base::RemoteReceiveData
Definition
remote_base.h:88
esphome::remote_base::RemoteTransmitData
Definition
remote_base.h:39
component.h
esphome::remote_base
Definition
ir_rf_base.cpp:222
esphome::src
const void * src
Definition
hal.h:68
remote_base.h
uint32_t
static void uint32_t
Definition
crash_handler.cpp:153
esphome::remote_base::PanasonicData
Definition
panasonic_protocol.h:10
esphome::remote_base::PanasonicData::carrier_frequency
uint32_t carrier_frequency
Definition
panasonic_protocol.h:17
esphome::remote_base::PanasonicData::address
uint16_t address
Definition
panasonic_protocol.h:12
esphome::remote_base::PanasonicData::address_2
uint8_t address_2
Definition
panasonic_protocol.h:15
esphome::remote_base::PanasonicData::operator==
bool operator==(const PanasonicData &rhs) const
Definition
panasonic_protocol.h:19
esphome::remote_base::PanasonicData::nbits
uint8_t nbits
Definition
panasonic_protocol.h:14
esphome::remote_base::PanasonicData::command
uint32_t command
Definition
panasonic_protocol.h:13
Generated by
1.12.0