subghz_protocol_came.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef struct SubGhzProtocolCame SubGhzProtocolCame;
  4. /** Allocate SubGhzProtocolCame
  5. *
  6. * @return SubGhzProtocolCame*
  7. */
  8. SubGhzProtocolCame* subghz_protocol_came_alloc();
  9. /** Free SubGhzProtocolCame
  10. *
  11. * @param instance
  12. */
  13. void subghz_protocol_came_free(SubGhzProtocolCame* instance);
  14. /** Get upload protocol
  15. *
  16. * @param instance - SubGhzProtocolCame instance
  17. * @param encoder - SubGhzProtocolCommonEncoder encoder
  18. * @return bool
  19. */
  20. bool subghz_protocol_came_send_key(
  21. SubGhzProtocolCame* instance,
  22. SubGhzProtocolCommonEncoder* encoder);
  23. /** Reset internal state
  24. * @param instance - SubGhzProtocolCame instance
  25. */
  26. void subghz_protocol_came_reset(SubGhzProtocolCame* instance);
  27. /** Parse accepted duration
  28. *
  29. * @param instance - SubGhzProtocolCame instance
  30. * @param data - LevelDuration level_duration
  31. */
  32. void subghz_protocol_came_parse(SubGhzProtocolCame* instance, bool level, uint32_t duration);
  33. /** Outputting information from the parser
  34. *
  35. * @param instance - SubGhzProtocolCame* instance
  36. * @param output - output string
  37. */
  38. void subghz_protocol_came_to_str(SubGhzProtocolCame* instance, string_t output);
  39. /** Adding data to a file
  40. *
  41. * @param instance - SubGhzProtocolCame instance
  42. * @param flipper_file - FlipperFile
  43. * @return bool
  44. */
  45. bool subghz_protocol_came_to_save_file(SubGhzProtocolCame* instance, FlipperFile* flipper_file);
  46. /** Loading protocol from file
  47. *
  48. * @param flipper_file - FlipperFile
  49. * @param instance - SubGhzProtocolCame instance
  50. * @param file_path - file path
  51. * @return bool
  52. */
  53. bool subghz_protocol_came_to_load_protocol_from_file(
  54. FlipperFile* flipper_file,
  55. SubGhzProtocolCame* instance,
  56. const char* file_path);
  57. /** Loading protocol from bin data
  58. *
  59. * @param instance - SubGhzProtocolCame instance
  60. * @param context - SubGhzProtocolCommonLoad context
  61. */
  62. void subghz_decoder_came_to_load_protocol(SubGhzProtocolCame* instance, void* context);