morse_code_worker.h 946 B

123456789101112131415161718192021222324252627282930313233343536
  1. #pragma once
  2. #include <stdbool.h>
  3. #include <stdint.h>
  4. #include <furi.h>
  5. #define FREQUENCY 261.63f
  6. #define SLEEP 10
  7. #define DOT "."
  8. #define LINE "-"
  9. #define SPACE " "
  10. typedef void (*MorseCodeWorkerCallback)(FuriString* buffer, void* context);
  11. typedef struct MorseCodeWorker MorseCodeWorker;
  12. MorseCodeWorker* morse_code_worker_alloc();
  13. void morse_code_worker_free(MorseCodeWorker* instance);
  14. void morse_code_worker_set_callback(
  15. MorseCodeWorker* instance,
  16. MorseCodeWorkerCallback callback,
  17. void* context);
  18. void morse_code_worker_start(MorseCodeWorker* instance);
  19. void morse_code_worker_stop(MorseCodeWorker* instance);
  20. void morse_code_worker_play(MorseCodeWorker* instance, bool play);
  21. void morse_code_worker_reset_text(MorseCodeWorker* instance);
  22. void morse_code_worker_set_volume(MorseCodeWorker* instance, float level);
  23. void morse_code_worker_set_dit_delta(MorseCodeWorker* instance, uint32_t delta);