infrared_parser.h 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. /**
  2. * @file infrared_parser.h
  3. * Infrared: Helper file for conversion Flipper File Format
  4. * to Infrared signal class, and backwards
  5. */
  6. #pragma once
  7. #include "../infrared_app_signal.h"
  8. #include <flipper_format/flipper_format.h>
  9. #include <string>
  10. /** Save Infrared signal into file
  11. *
  12. * @param ff - Flipper File Format instance
  13. * @param signal - Infrared signal to save
  14. * @param name - name for saved signal. Every
  15. * signal on disk has name.
  16. */
  17. bool infrared_parser_save_signal(
  18. FlipperFormat* ff,
  19. const InfraredAppSignal& signal,
  20. const std::string& name);
  21. /** Read Infrared signal from file
  22. *
  23. * @param ff - Flipper File Format instance
  24. * @param signal - Infrared signal to read to
  25. * @param name - name for saved signal. Every
  26. * signal in file has name.
  27. */
  28. bool infrared_parser_read_signal(FlipperFormat* ff, InfraredAppSignal& signal, std::string& name);
  29. /** Validate parsed signal
  30. *
  31. * @signal - signal to validate
  32. * @retval true if valid, false otherwise
  33. */
  34. bool infrared_parser_is_parsed_signal_valid(const InfraredMessage* signal);
  35. /** Validate raw signal
  36. *
  37. * @signal - signal to validate
  38. * @retval true if valid, false otherwise
  39. */
  40. bool infrared_parser_is_raw_signal_valid(
  41. uint32_t frequency,
  42. float duty_cycle,
  43. uint32_t timings_cnt);