17 _ref.
init(
detector, shortPulseUs, longPulseUs, toleranceUs);
37 void clear() { _recordedEdges.
clear(); }
40 return _ref.
encode(
byte, output);
Abstract base class for IR protocol encoding and decoding.
virtual size_t encode(uint8_t byte, Vector< OutputEdge > &output)=0
Fill output vector with protocol-specific OutputSpec(s) for a byte.
virtual int getEndOfFrameDelayUs()=0
virtual bool decodeEdge(uint32_t durationUs, bool level, uint8_t &result)=0
Edge-based decoding for protocol-agnostic RX drivers.
virtual void init(Preamble &detector, uint32_t shortPulseUs=600, uint32_t longPulseUs=1200, uint32_t toleranceUs=200)
virtual CodecEnum getCodecType() const =0
virtual size_t getEdgeCount() const =0
Get the number of protocol symbols (bits, pulses, etc.) per encoded byte.
virtual bool begin(uint32_t bitFrequencyHz)
initialization method for codecs that require setup before use (e.g., loading PIO programs,...
void setFrameSize(uint16_t size)
Set the Frame Size.
Abstract base class for preamble detection and generation.
Codec Wrapper that records all edges passed to decodeEdge() for later analysis or testing.
int getEndOfFrameDelayUs() override
bool decodeEdge(uint32_t durationUs, bool level, uint8_t &result) override
Edge-based decoding for protocol-agnostic RX drivers.
void init(Preamble &detector, uint32_t shortPulseUs=600, uint32_t longPulseUs=1200, uint32_t toleranceUs=200) override
size_t getEdgeCount() const
Get the number of protocol symbols (bits, pulses, etc.) per encoded byte.
CodecEnum getCodecType() const override
bool begin(uint32_t bitFrequencyHz)
initialization method for codecs that require setup before use (e.g., loading PIO programs,...
size_t encode(uint8_t byte, Vector< OutputEdge > &output) override
Fill output vector with protocol-specific OutputSpec(s) for a byte.
Small, header-only vector replacement for non-STL environments.
void clear()
Remove all elements.
void push_back(const T &value)
Add element to end of vector.
void reserve(size_t cap)
Reserve space for at least cap elements.