subghz_protocol_star_line.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  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. const char* subghz_protocol_star_line_get_manufacture_name(void* context);
  16. /** Sends the key on the air
  17. *
  18. * @param instance - SubGhzProtocolStarLine instance
  19. * @param key - key send
  20. * @param bit - count bit key
  21. * @param repeat - repeat send key
  22. */
  23. void subghz_protocol_star_line_send_key(SubGhzProtocolStarLine* instance, uint64_t key, uint8_t bit, uint8_t repeat);
  24. /** Reset internal state
  25. * @param instance - SubGhzProtocolStarLine instance
  26. */
  27. void subghz_protocol_star_line_reset(SubGhzProtocolStarLine* instance);
  28. /** Analysis of received data
  29. *
  30. * @param instance SubGhzProtocolStarLine instance
  31. */
  32. void subghz_protocol_star_line_check_remote_controller(SubGhzProtocolStarLine* instance);
  33. /** Parse accepted duration
  34. *
  35. * @param instance - SubGhzProtocolStarLine instance
  36. * @param data - LevelDuration level_duration
  37. */
  38. void subghz_protocol_star_line_parse(SubGhzProtocolStarLine* instance, bool level, uint32_t duration);
  39. /** Outputting information from the parser
  40. *
  41. * @param instance - SubGhzProtocolStarLine* instance
  42. * @param output - output string
  43. */
  44. void subghz_protocol_star_line_to_str(SubGhzProtocolStarLine* instance, string_t output);
  45. void subghz_decoder_star_line_to_load_protocol(SubGhzProtocolStarLine* instance, void* context);