decoder_indala.h 539 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <stdint.h>
  3. #include <limits.h>
  4. #include <atomic>
  5. #include "protocols/protocol_indala_40134.h"
  6. class DecoderIndala {
  7. public:
  8. bool read(uint8_t* data, uint8_t data_size);
  9. void process_front(bool polarity, uint32_t time);
  10. void process_internal(bool polarity, uint32_t time, uint64_t* data);
  11. DecoderIndala();
  12. private:
  13. void reset_state();
  14. uint64_t raw_data;
  15. uint64_t cursed_raw_data;
  16. std::atomic<bool> ready;
  17. std::atomic<bool> cursed_data_valid;
  18. ProtocolIndala40134 indala;
  19. };