subghz_protocol_scher_khan.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef struct SubGhzProtocolScherKhan SubGhzProtocolScherKhan;
  4. /** Allocate SubGhzProtocolScherKhan
  5. *
  6. * @return SubGhzProtocolScherKhan*
  7. */
  8. SubGhzProtocolScherKhan* subghz_protocol_scher_khan_alloc();
  9. /** Free SubGhzProtocolScherKhan
  10. *
  11. * @param instance
  12. */
  13. void subghz_protocol_scher_khan_free(SubGhzProtocolScherKhan* instance);
  14. /** Sends the key on the air
  15. *
  16. * @param instance - SubGhzProtocolScherKhan instance
  17. * @param key - key send
  18. * @param bit - count bit key
  19. * @param repeat - repeat send key
  20. */
  21. void subghz_protocol_scher_khan_send_key(
  22. SubGhzProtocolScherKhan* instance,
  23. uint64_t key,
  24. uint8_t bit,
  25. uint8_t repeat);
  26. /** Reset internal state
  27. * @param instance - SubGhzProtocolScherKhan instance
  28. */
  29. void subghz_protocol_scher_khan_reset(SubGhzProtocolScherKhan* instance);
  30. /** Analysis of received data
  31. *
  32. * @param instance SubGhzProtocolScherKhan instance
  33. */
  34. void subghz_protocol_scher_khan_check_remote_controller(SubGhzProtocolScherKhan* instance);
  35. /** Parse accepted duration
  36. *
  37. * @param instance - SubGhzProtocolScherKhan instance
  38. * @param data - LevelDuration level_duration
  39. */
  40. void subghz_protocol_scher_khan_parse(
  41. SubGhzProtocolScherKhan* instance,
  42. bool level,
  43. uint32_t duration);
  44. /** Outputting information from the parser
  45. *
  46. * @param instance - SubGhzProtocolScherKhan* instance
  47. * @param output - output string
  48. */
  49. void subghz_protocol_scher_khan_to_str(SubGhzProtocolScherKhan* instance, string_t output);
  50. /** Loading protocol from bin data
  51. *
  52. * @param instance - SubGhzProtocolScherKhan instance
  53. * @param context - SubGhzProtocolCommonLoad context
  54. */
  55. void subghz_decoder_scher_khan_to_load_protocol(SubGhzProtocolScherKhan* instance, void* context);