subghz_protocol_ido.h 1.6 KB

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