subghz_protocol.h 1.9 KB

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