subghz_frequency_analyzer_worker.h 1.6 KB

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