10#ifndef M5_UNIT_RF433_UNIT_SYN531R_HPP
11#define M5_UNIT_RF433_UNIT_SYN531R_HPP
13#include <M5UnitComponent.hpp>
26class UnitSYN531R :
public Component {
27 M5_UNIT_COMPONENT_HPP_BUILDER(UnitSYN531R, 0x00);
30 using container_type = rf433::container_type;
49#if defined(M5_UNIT_UNIFIED_USING_RMT_V2)
74 virtual ~UnitSYN531R()
79 virtual bool begin()
override;
81 virtual void update(
const bool force =
false)
override;
98 return !_data.empty() ? _data.front() : 0;
103 return !_data.empty() ? _data.back() : 0;
108 if (!_data.empty()) {
109 _data.erase(_data.begin());
134 return _default_codec;
142 return _default_codec;
151 _codec = (&
codec == &_default_codec) ?
nullptr : &
codec;
164 void operator()(uint8_t* p)
const
169 rf433::M5Codec _default_codec{};
170 rf433::ProtocolCodec* _codec{};
171 container_type _data{};
172 std::unique_ptr<uint8_t[], FreeDeleter> _rx_buffer{};
173 size_t _rx_buffer_size{};
config_t config()
Gets the configuration.
Definition unit_SYN531R.hpp:60
virtual bool begin() override
Initialize the receiver unit.
Definition unit_SYN531R.cpp:41
void config(const config_t &cfg)
Set the configuration.
Definition unit_SYN531R.hpp:65
rf433::ProtocolCodec & codec()
Get codec (for codec-specific configuration)
Definition unit_SYN531R.hpp:129
const rf433::ProtocolCodec & codec() const
Get codec (for codec-specific configuration)
Definition unit_SYN531R.hpp:137
size_t available() const
Gets the number of stored data.
Definition unit_SYN531R.hpp:86
const container_type & container() const
Gets the received container reference.
Definition unit_SYN531R.hpp:119
void discard()
Discard the oldest data accumulated.
Definition unit_SYN531R.hpp:106
void resetCodec()
Reset to default M5Codec.
Definition unit_SYN531R.hpp:154
bool empty() const
Is empty stored data?
Definition unit_SYN531R.hpp:91
virtual void update(const bool force=false) override
Update the receiver unit.
Definition unit_SYN531R.cpp:117
void setCodec(rf433::ProtocolCodec &codec)
Set protocol codec.
Definition unit_SYN531R.hpp:149
uint8_t latest() const
Retrieve latest stored data.
Definition unit_SYN531R.hpp:101
uint8_t oldest() const
Retrieve oldest stored data.
Definition unit_SYN531R.hpp:96
void flush()
Discard all data.
Definition unit_SYN531R.hpp:113
Abstract base class for RF433 protocol encoding/decoding.
Definition protocol_codec.hpp:49
M5Unit-RF433 original protocol codec.
Top level namespace of M5Stack.
Settings for begin.
Definition unit_SYN531R.hpp:36
uint8_t max_payload_size
Definition unit_SYN531R.hpp:48