subghz_protocol_came.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  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. /** Get a string to save the protocol
  40. *
  41. * @param instance - SubGhzProtocolCame instance
  42. * @param output - the resulting string
  43. */
  44. void subghz_protocol_came_to_save_str(SubGhzProtocolCame* instance, string_t output);
  45. /** Loading protocol from file
  46. *
  47. * @param file_worker - FileWorker file_worker
  48. * @param instance - SubGhzProtocolCame instance
  49. * @return bool
  50. */
  51. bool subghz_protocol_came_to_load_protocol_from_file(
  52. FileWorker* file_worker,
  53. SubGhzProtocolCame* instance);
  54. /** Loading protocol from bin data
  55. *
  56. * @param instance - SubGhzProtocolCame instance
  57. * @param context - SubGhzProtocolCommonLoad context
  58. */
  59. void subghz_decoder_came_to_load_protocol(SubGhzProtocolCame* instance, void* context);