irda-app-transceiver.hpp 562 B

123456789101112131415161718192021
  1. #pragma once
  2. #include <furi.h>
  3. #include <irda.h>
  4. class IrdaAppSignalTransceiver {
  5. public:
  6. IrdaAppSignalTransceiver(void);
  7. ~IrdaAppSignalTransceiver(void);
  8. void capture_once_start(osMessageQueueId_t event_queue);
  9. void capture_stop(void);
  10. IrdaMessage* get_last_message(void);
  11. void send_message(const IrdaMessage* message) const;
  12. private:
  13. bool capture_started;
  14. osMessageQueueId_t event_queue;
  15. static void irda_rx_callback(void* ctx, bool level, uint32_t duration);
  16. IrdaDecoderHandler* decoder;
  17. IrdaMessage message;
  18. };