subghz_file_encoder_worker.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #pragma once
  2. #include <furi_hal.h>
  3. typedef void (*SubGhzFileEncoderWorkerCallbackEnd)(void* context);
  4. typedef struct SubGhzFileEncoderWorker SubGhzFileEncoderWorker;
  5. /**
  6. * End callback SubGhzWorker.
  7. * @param instance SubGhzFileEncoderWorker instance
  8. * @param callback SubGhzFileEncoderWorkerCallbackEnd callback
  9. */
  10. void subghz_file_encoder_worker_callback_end(
  11. SubGhzFileEncoderWorker* instance,
  12. SubGhzFileEncoderWorkerCallbackEnd callback_end,
  13. void* context_end);
  14. /**
  15. * Allocate SubGhzFileEncoderWorker.
  16. * @return SubGhzFileEncoderWorker* pointer to a SubGhzFileEncoderWorker instance
  17. */
  18. SubGhzFileEncoderWorker* subghz_file_encoder_worker_alloc();
  19. /**
  20. * Free SubGhzFileEncoderWorker.
  21. * @param instance Pointer to a SubGhzFileEncoderWorker instance
  22. */
  23. void subghz_file_encoder_worker_free(SubGhzFileEncoderWorker* instance);
  24. /**
  25. * Getting the level and duration of the upload to be loaded into DMA.
  26. * @param context Pointer to a SubGhzFileEncoderWorker instance
  27. * @return LevelDuration
  28. */
  29. LevelDuration subghz_file_encoder_worker_get_level_duration(void* context);
  30. /**
  31. * Start SubGhzFileEncoderWorker.
  32. * @param instance Pointer to a SubGhzFileEncoderWorker instance
  33. * @return bool - true if ok
  34. */
  35. bool subghz_file_encoder_worker_start(SubGhzFileEncoderWorker* instance, const char* file_path);
  36. /**
  37. * Stop SubGhzFileEncoderWorker
  38. * @param instance Pointer to a SubGhzFileEncoderWorker instance
  39. */
  40. void subghz_file_encoder_worker_stop(SubGhzFileEncoderWorker* instance);
  41. /**
  42. * Check if worker is running
  43. * @param instance Pointer to a SubGhzFileEncoderWorker instance
  44. * @return bool - true if running
  45. */
  46. bool subghz_file_encoder_worker_is_running(SubGhzFileEncoderWorker* instance);