subghz_protocol.h 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. #pragma once
  2. #include "subghz_protocol_common.h"
  3. typedef void (*SubGhzProtocolTextCallback)(string_t text, void* context);
  4. typedef struct SubGhzProtocol SubGhzProtocol;
  5. /** Allocate SubGhzProtocol
  6. *
  7. * @return SubGhzProtocol*
  8. */
  9. SubGhzProtocol* subghz_protocol_alloc();
  10. /** Free SubGhzProtocol
  11. *
  12. * @param instance
  13. */
  14. void subghz_protocol_free(SubGhzProtocol* instance);
  15. /** Outputting data from all parsers
  16. *
  17. * @param instance - SubGhzProtocol instance
  18. * @param callback - SubGhzProtocolTextCallback callback
  19. * @param context
  20. */
  21. void subghz_protocol_enable_dump(
  22. SubGhzProtocol* instance,
  23. SubGhzProtocolTextCallback callback,
  24. void* context);
  25. /** File name rainbow table Nice Flor-S
  26. *
  27. * @param instance - SubGhzProtocol instance
  28. * @param file_name - "path/file_name"
  29. */
  30. void subghz_protocol_load_nice_flor_s_file(SubGhzProtocol* instance, const char* file_name);
  31. /** File upload manufacture keys
  32. *
  33. * @param instance - SubGhzProtocol instance
  34. * @param file_name - "path/file_name"
  35. */
  36. void subghz_protocol_load_keeloq_file(SubGhzProtocol* instance, const char* file_name);
  37. /** Restarting all parsers
  38. *
  39. * @param instance - SubGhzProtocol instance
  40. */
  41. void subghz_protocol_reset(SubGhzProtocol* instance);
  42. /** Loading data into all parsers
  43. *
  44. * @param instance - SubGhzProtocol instance
  45. * @param data - LevelPair data
  46. */
  47. void subghz_protocol_parse(SubGhzProtocol* instance, LevelPair data);