#pragma once #include #include #include #include "protocols/protocol-indala-40134.h" class DecoderIndala { public: bool read(uint8_t* data, uint8_t data_size); void process_front(bool polarity, uint32_t time); void process_internal(bool polarity, uint32_t time, uint64_t* data); DecoderIndala(); private: void reset_state(); uint64_t raw_data; uint64_t cursed_raw_data; std::atomic ready; std::atomic cursed_data_valid; ProtocolIndala40134 indala; };