subghz_protocol_nero_radio.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  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(
  21. SubGhzProtocolNeroRadio* instance,
  22. SubGhzProtocolCommonEncoder* encoder);
  23. /** Reset internal state
  24. * @param instance - SubGhzProtocolNeroRadio instance
  25. */
  26. void subghz_protocol_nero_radio_reset(SubGhzProtocolNeroRadio* instance);
  27. /** Analysis of received data
  28. *
  29. * @param instance SubGhzProtocolNeroRadio instance
  30. */
  31. void subghz_protocol_nero_radio_check_remote_controller(SubGhzProtocolNeroRadio* instance);
  32. /** Parse accepted duration
  33. *
  34. * @param instance - SubGhzProtocolNeroRadio instance
  35. * @param data - LevelDuration level_duration
  36. */
  37. void subghz_protocol_nero_radio_parse(
  38. SubGhzProtocolNeroRadio* instance,
  39. bool level,
  40. uint32_t duration);
  41. /** Outputting information from the parser
  42. *
  43. * @param instance - SubGhzProtocolNeroRadio* instance
  44. * @param output - output string
  45. */
  46. void subghz_protocol_nero_radio_to_str(SubGhzProtocolNeroRadio* instance, string_t output);
  47. /** Get a string to save the protocol
  48. *
  49. * @param instance - SubGhzProtocolNeroRadio instance
  50. * @param output - the resulting string
  51. */
  52. void subghz_protocol_nero_radio_to_save_str(SubGhzProtocolNeroRadio* instance, string_t output);
  53. /** Loading protocol from file
  54. *
  55. * @param file_worker - FileWorker file_worker
  56. * @param instance - SubGhzProtocolNeroRadio instance
  57. * @param file_path - file path
  58. * @return bool
  59. */
  60. bool subghz_protocol_nero_radio_to_load_protocol_from_file(
  61. FileWorker* file_worker,
  62. SubGhzProtocolNeroRadio* instance,
  63. const char* file_path);
  64. /** Loading protocol from bin data
  65. *
  66. * @param instance - SubGhzProtocolNeroRadio instance
  67. * @param context - SubGhzProtocolCommonLoad context
  68. */
  69. void subghz_decoder_nero_radio_to_load_protocol(SubGhzProtocolNeroRadio* instance, void* context);