subghz_protocol_ido.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  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(SubGhzProtocolIDo* instance, uint64_t key, uint8_t bit, uint8_t repeat);
  22. /** Reset internal state
  23. * @param instance - SubGhzProtocolIDo instance
  24. */
  25. void subghz_protocol_ido_reset(SubGhzProtocolIDo* instance);
  26. /** Analysis of received data
  27. *
  28. * @param instance SubGhzProtocolIDo instance
  29. */
  30. void subghz_protocol_ido_check_remote_controller(SubGhzProtocolIDo* instance);
  31. /** Parse accepted duration
  32. *
  33. * @param instance - SubGhzProtocolIDo instance
  34. * @param data - LevelDuration level_duration
  35. */
  36. void subghz_protocol_ido_parse(SubGhzProtocolIDo* instance, bool level, uint32_t duration);
  37. /** Outputting information from the parser
  38. *
  39. * @param instance - SubGhzProtocolIDo* instance
  40. * @param output - output string
  41. */
  42. void subghz_protocol_ido_to_str(SubGhzProtocolIDo* instance, string_t output);