subghz_protocol_raw.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef struct SubGhzProtocolRAW SubGhzProtocolRAW;
  4. /** Allocate SubGhzProtocolRAW
  5. *
  6. * @return SubGhzProtocolRAW*
  7. */
  8. SubGhzProtocolRAW* subghz_protocol_raw_alloc();
  9. /** Free SubGhzProtocolRAW
  10. *
  11. * @param instance
  12. */
  13. void subghz_protocol_raw_free(SubGhzProtocolRAW* instance);
  14. /** Reset internal state
  15. * @param instance - SubGhzProtocolRAW instance
  16. */
  17. void subghz_protocol_raw_reset(SubGhzProtocolRAW* instance);
  18. /** Get upload protocol
  19. *
  20. * @param instance - SubGhzProtocolRAW instance
  21. * @param encoder - SubGhzProtocolCommonEncoder encoder
  22. * @return bool
  23. */
  24. bool subghz_protocol_raw_send_key(
  25. SubGhzProtocolRAW* instance,
  26. SubGhzProtocolCommonEncoder* encoder);
  27. /** Parse accepted duration
  28. *
  29. * @param instance - SubGhzProtocolRAW instance
  30. * @param data - LevelDuration level_duration
  31. */
  32. void subghz_protocol_raw_parse(SubGhzProtocolRAW* instance, bool level, uint32_t duration);
  33. /** Outputting information from the parser
  34. *
  35. * @param instance - SubGhzProtocolRAW* instance
  36. * @param output - output string
  37. */
  38. void subghz_protocol_raw_to_str(SubGhzProtocolRAW* instance, string_t output);
  39. const char* subghz_protocol_get_last_file_name(SubGhzProtocolRAW* instance);
  40. void subghz_protocol_set_last_file_name(SubGhzProtocolRAW* instance, const char* name);
  41. bool subghz_protocol_raw_save_to_file_init(
  42. SubGhzProtocolRAW* instance,
  43. const char* dev_name,
  44. uint32_t frequency,
  45. FuriHalSubGhzPreset preset);
  46. void subghz_protocol_raw_save_to_file_stop(SubGhzProtocolRAW* instance);
  47. bool subghz_protocol_raw_save_to_file_write(SubGhzProtocolRAW* instance);
  48. size_t subghz_protocol_raw_get_sample_write(SubGhzProtocolRAW* instance);
  49. bool subghz_protocol_raw_to_load_protocol_from_file(
  50. FileWorker* file_worker,
  51. SubGhzProtocolRAW* instance,
  52. const char* file_path);