subghz_frequency_analyzer_worker.h 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. #pragma once
  2. #include <furi_hal.h>
  3. #include "../subghz_i.h"
  4. typedef struct SubGhzFrequencyAnalyzerWorker SubGhzFrequencyAnalyzerWorker;
  5. typedef void (
  6. *SubGhzFrequencyAnalyzerWorkerPairCallback)(void* context, uint32_t frequency, float rssi);
  7. typedef struct {
  8. uint32_t frequency_coarse;
  9. float rssi_coarse;
  10. uint32_t frequency_fine;
  11. float rssi_fine;
  12. } FrequencyRSSI;
  13. /** Allocate SubGhzFrequencyAnalyzerWorker
  14. *
  15. * @param context SubGhz* context
  16. * @return SubGhzFrequencyAnalyzerWorker*
  17. */
  18. SubGhzFrequencyAnalyzerWorker* subghz_frequency_analyzer_worker_alloc(void* context);
  19. /** Free SubGhzFrequencyAnalyzerWorker
  20. *
  21. * @param instance SubGhzFrequencyAnalyzerWorker instance
  22. */
  23. void subghz_frequency_analyzer_worker_free(SubGhzFrequencyAnalyzerWorker* instance);
  24. /** Pair callback SubGhzFrequencyAnalyzerWorker
  25. *
  26. * @param instance SubGhzFrequencyAnalyzerWorker instance
  27. * @param callback SubGhzFrequencyAnalyzerWorkerOverrunCallback callback
  28. * @param context
  29. */
  30. void subghz_frequency_analyzer_worker_set_pair_callback(
  31. SubGhzFrequencyAnalyzerWorker* instance,
  32. SubGhzFrequencyAnalyzerWorkerPairCallback callback,
  33. void* context);
  34. /** Start SubGhzFrequencyAnalyzerWorker
  35. *
  36. * @param instance SubGhzFrequencyAnalyzerWorker instance
  37. */
  38. void subghz_frequency_analyzer_worker_start(SubGhzFrequencyAnalyzerWorker* instance);
  39. /** Stop SubGhzFrequencyAnalyzerWorker
  40. *
  41. * @param instance SubGhzFrequencyAnalyzerWorker instance
  42. */
  43. void subghz_frequency_analyzer_worker_stop(SubGhzFrequencyAnalyzerWorker* instance);
  44. /** Check if worker is running
  45. * @param instance SubGhzFrequencyAnalyzerWorker instance
  46. * @return bool - true if running
  47. */
  48. bool subghz_frequency_analyzer_worker_is_running(SubGhzFrequencyAnalyzerWorker* instance);