|
M5Unit-INFRARED 0.2.0 git rev:76ad9e1
|
Mitsubishi 16-bit IR protocol encoder/decoder. More...
#include <mitsubishi_codec.hpp>
Public Member Functions | |
| MitsubishiCodec () | |
| Constructor. | |
| item_container_type | encode (uint16_t address, uint16_t command, bool repeat) override |
| Encode a single 16-bit Mitsubishi frame (UnitIR::send() replicates per minFrames()) | |
| bool | decode (const gpio::m5_rmt_item_t *items, uint32_t num, DecodeResult &result) override |
| Decode a single 16-bit Mitsubishi frame (16 data items + trailing stop mark) | |
| uint32_t | carrierFrequencyHz () const override |
| Carrier frequency for Mitsubishi (33 kHz) | |
| uint8_t | minFrames () const override |
| Mitsubishi requires the frame to be sent twice per keypress. | |
| uint16_t | frameGapUs () const override |
| Inter-frame gap ≈ 28.5 ms as used by real Mitsubishi remotes. | |
Public Member Functions inherited from m5::unit::ir::IRCodec | |
| IRCodec (CodecType t) | |
| CodecType | type () const |
| Get codec type for safe downcasting. | |
| virtual float | carrierDuty () const |
| Carrier duty cycle (0.0 - 1.0) | |
| virtual bool | decode (const m5::unit::gpio::m5_rmt_item_t *items, uint32_t num, DecodeResult &result)=0 |
| Try to decode RMT items into an IR command. | |
Mitsubishi 16-bit IR protocol encoder/decoder.
| Element | Mark (us) | Space (us) |
|---|---|---|
| Bit "1" | 300 | 2100 |
| Bit "0" | 300 | 900 |
| Stop | 300 | - |
| Gap | - | ~28500 |
|
inlineoverridevirtual |
Carrier frequency for Mitsubishi (33 kHz)
Implements m5::unit::ir::IRCodec.
|
overridevirtual |
Encode a single 16-bit Mitsubishi frame (UnitIR::send() replicates per minFrames())
Implements m5::unit::ir::IRCodec.
|
inlineoverridevirtual |
Inter-frame gap ≈ 28.5 ms as used by real Mitsubishi remotes.
Reimplemented from m5::unit::ir::IRCodec.
|
inlineoverridevirtual |
Mitsubishi requires the frame to be sent twice per keypress.
Reimplemented from m5::unit::ir::IRCodec.