subghz_worker.h 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include <api-hal.h>
  3. typedef struct SubGhzWorker SubGhzWorker;
  4. typedef void (*SubGhzWorkerOverrunCallback)(void* context);
  5. typedef void (*SubGhzWorkerPairCallback)(void* context, bool level, uint32_t duration);
  6. void subghz_worker_rx_callback(bool level, uint32_t duration, void* context);
  7. /** Allocate SubGhzWorker
  8. *
  9. * @return SubGhzWorker*
  10. */
  11. SubGhzWorker* subghz_worker_alloc();
  12. /** Free SubGhzWorker
  13. *
  14. * @param instance SubGhzWorker instance
  15. */
  16. void subghz_worker_free(SubGhzWorker* instance);
  17. /** Overrun callback SubGhzWorker
  18. *
  19. * @param instance SubGhzWorker instance
  20. * @param callback SubGhzWorkerOverrunCallback callback
  21. */
  22. void subghz_worker_set_overrun_callback(SubGhzWorker* instance, SubGhzWorkerOverrunCallback callback);
  23. /** Pair callback SubGhzWorker
  24. *
  25. * @param instance SubGhzWorker instance
  26. * @param callback SubGhzWorkerOverrunCallback callback
  27. */
  28. void subghz_worker_set_pair_callback(SubGhzWorker* instance, SubGhzWorkerPairCallback callback);
  29. /** Context callback SubGhzWorker
  30. *
  31. * @param instance SubGhzWorker instance
  32. * @param context
  33. */
  34. void subghz_worker_set_context(SubGhzWorker* instance, void* context);
  35. /** Start SubGhzWorker
  36. *
  37. * @param instance SubGhzWorker instance
  38. */
  39. void subghz_worker_start(SubGhzWorker* instance);
  40. /** Stop SubGhzWorker
  41. *
  42. * @param instance SubGhzWorker instance
  43. */
  44. void subghz_worker_stop(SubGhzWorker* instance);