decoder-emmarine.h 385 B

1234567891011121314151617181920
  1. #pragma once
  2. #include <stdint.h>
  3. #include <atomic>
  4. #include "manchester-decoder.h"
  5. class DecoderEMMarine {
  6. public:
  7. bool read(uint8_t* data, uint8_t data_size);
  8. void process_front(bool polarity, uint32_t time);
  9. DecoderEMMarine();
  10. private:
  11. void reset_state();
  12. uint64_t readed_data = 0;
  13. std::atomic<bool> ready;
  14. ManchesterState manchester_saved_state;
  15. };