subghz_protocol_star_line.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef struct SubGhzKeystore SubGhzKeystore;
  4. typedef struct SubGhzProtocolStarLine SubGhzProtocolStarLine;
  5. /** Allocate SubGhzProtocolStarLine
  6. *
  7. * @return SubGhzProtocolStarLine*
  8. */
  9. SubGhzProtocolStarLine* subghz_protocol_star_line_alloc(SubGhzKeystore* keystore);
  10. /** Free SubGhzProtocolStarLine
  11. *
  12. * @param instance
  13. */
  14. void subghz_protocol_star_line_free(SubGhzProtocolStarLine* instance);
  15. /** Sends the key on the air
  16. *
  17. * @param instance - SubGhzProtocolStarLine instance
  18. * @param key - key send
  19. * @param bit - count bit key
  20. * @param repeat - repeat send key
  21. */
  22. void subghz_protocol_star_line_send_key(SubGhzProtocolStarLine* instance, uint64_t key, uint8_t bit, uint8_t repeat);
  23. /** Reset internal state
  24. * @param instance - SubGhzProtocolStarLine instance
  25. */
  26. void subghz_protocol_star_line_reset(SubGhzProtocolStarLine* instance);
  27. /** Analysis of received data
  28. *
  29. * @param instance SubGhzProtocolStarLine instance
  30. */
  31. void subghz_protocol_star_line_check_remote_controller(SubGhzProtocolStarLine* instance);
  32. /** Parse accepted duration
  33. *
  34. * @param instance - SubGhzProtocolStarLine instance
  35. * @param data - LevelDuration level_duration
  36. */
  37. void subghz_protocol_star_line_parse(SubGhzProtocolStarLine* instance, bool level, uint32_t duration);
  38. /** Outputting information from the parser
  39. *
  40. * @param instance - SubGhzProtocolStarLine* instance
  41. * @param output - output string
  42. */
  43. void subghz_protocol_star_line_to_str(SubGhzProtocolStarLine* instance, string_t output);