subghz_protocol_nero_radio.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  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. /** Adding data to a file
  48. *
  49. * @param instance - SubGhzProtocolNeroRadio instance
  50. * @param flipper_file - FlipperFile
  51. * @return bool
  52. */
  53. bool subghz_protocol_nero_radio_to_save_file(
  54. SubGhzProtocolNeroRadio* instance,
  55. FlipperFile* flipper_file);
  56. /** Loading protocol from file
  57. *
  58. * @param flipper_file - FlipperFile
  59. * @param instance - SubGhzProtocolNeroRadio instance
  60. * @param file_path - file path
  61. * @return bool
  62. */
  63. bool subghz_protocol_nero_radio_to_load_protocol_from_file(
  64. FlipperFile* flipper_file,
  65. SubGhzProtocolNeroRadio* instance,
  66. const char* file_path);
  67. /** Loading protocol from bin data
  68. *
  69. * @param instance - SubGhzProtocolNeroRadio instance
  70. * @param context - SubGhzProtocolCommonLoad context
  71. */
  72. void subghz_decoder_nero_radio_to_load_protocol(SubGhzProtocolNeroRadio* instance, void* context);