xremote_signal.h 1.2 KB

12345678910111213141516171819202122232425262728
  1. /*!
  2. * @file flipper-xremote/xremote_signal.h
  3. @license This project is released under the GNU GPLv3 License
  4. * @copyright (c) 2023 Sandro Kalatozishvili (s.kalatoz@gmail.com)
  5. *
  6. * @brief Implementation of infrared signal receiver functionality
  7. */
  8. #pragma once
  9. #include "xremote_app.h"
  10. #include "infrared/infrared_signal.h"
  11. typedef void (*XRemoteRxCallback)(void *context, InfraredSignal* signal);
  12. typedef struct XRemoteSignalReceiver XRemoteSignalReceiver;
  13. XRemoteSignalReceiver* xremote_signal_receiver_alloc(XRemoteAppContext* app_ctx);
  14. void xremote_signal_receiver_free(XRemoteSignalReceiver* rx_ctx);
  15. void xremote_signal_receiver_set_context(XRemoteSignalReceiver* rx_ctx, void *context, XRemoteClearCallback on_clear);
  16. void xremote_signal_receiver_set_rx_callback(XRemoteSignalReceiver* rx_ctx, XRemoteRxCallback rx_callback);
  17. InfraredSignal* xremote_signal_receiver_get_signal(XRemoteSignalReceiver *rx_ctx);
  18. void xremote_signal_receiver_start(XRemoteSignalReceiver *rx_ctx);
  19. void xremote_signal_receiver_stop(XRemoteSignalReceiver *rx_ctx);
  20. void xremote_signal_receiver_pause(XRemoteSignalReceiver *rx_ctx);
  21. void xremote_signal_receiver_resume(XRemoteSignalReceiver *rx_ctx);