subghz_protocol_nero_radio.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef struct SubGhzProtocolNeroRadio SubGhzProtocolNeroRadio;
  4. /** Allocate SubGhzProtocolNeroRadio
  5. *
  6. * @return SubGhzProtocolNeroRadio*
  7. */
  8. SubGhzProtocolNeroRadio* subghz_protocol_nero_radio_alloc();
  9. /** Free SubGhzProtocolNeroRadio
  10. *
  11. * @param instance
  12. */
  13. void subghz_protocol_nero_radio_free(SubGhzProtocolNeroRadio* instance);
  14. /** Get upload protocol
  15. *
  16. * @param instance - SubGhzProtocolNeroRadio instance
  17. * @param encoder - SubGhzProtocolCommonEncoder encoder
  18. * @return bool
  19. */
  20. bool subghz_protocol_nero_radio_send_key(SubGhzProtocolNeroRadio* instance, SubGhzProtocolCommonEncoder* encoder);
  21. /** Reset internal state
  22. * @param instance - SubGhzProtocolNeroRadio instance
  23. */
  24. void subghz_protocol_nero_radio_reset(SubGhzProtocolNeroRadio* instance);
  25. /** Analysis of received data
  26. *
  27. * @param instance SubGhzProtocolNeroRadio instance
  28. */
  29. void subghz_protocol_nero_radio_check_remote_controller(SubGhzProtocolNeroRadio* instance);
  30. /** Parse accepted duration
  31. *
  32. * @param instance - SubGhzProtocolNeroRadio instance
  33. * @param data - LevelDuration level_duration
  34. */
  35. void subghz_protocol_nero_radio_parse(SubGhzProtocolNeroRadio* instance, bool level, uint32_t duration);
  36. /** Outputting information from the parser
  37. *
  38. * @param instance - SubGhzProtocolNeroRadio* instance
  39. * @param output - output string
  40. */
  41. void subghz_protocol_nero_radio_to_str(SubGhzProtocolNeroRadio* instance, string_t output);
  42. /** Get a string to save the protocol
  43. *
  44. * @param instance - SubGhzProtocolNeroRadio instance
  45. * @param output - the resulting string
  46. */
  47. void subghz_protocol_nero_radio_to_save_str(SubGhzProtocolNeroRadio* instance, string_t output);
  48. /** Loading protocol from file
  49. *
  50. * @param file_worker - FileWorker file_worker
  51. * @param instance - SubGhzProtocolNeroRadio instance
  52. * @return bool
  53. */
  54. bool subghz_protocol_nero_radio_to_load_protocol_from_file(FileWorker* file_worker, SubGhzProtocolNeroRadio* instance);
  55. /** Loading protocol from bin data
  56. *
  57. * @param instance - SubGhzProtocolNeroRadio instance
  58. * @param context - SubGhzProtocolCommonLoad context
  59. */
  60. void subghz_decoder_nero_radio_to_load_protocol(SubGhzProtocolNeroRadio* instance, void* context);