subbrute_protocols.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #pragma once
  2. #include "subbrute_protocols_i.h"
  3. #include <furi.h>
  4. #include <m-string.h>
  5. #include <furi_hal_subghz.h>
  6. //typedef enum {
  7. // FrequencyProtocolField,
  8. // BitsProtocolField,
  9. // HasTeProtocolField,
  10. // RepeatProtocolField,
  11. // PresetProtocolField,
  12. // FileProtocolField,
  13. // TotalProtocolFields
  14. //} ProtocolFields;
  15. typedef enum {
  16. CAMEFileProtocol,
  17. NICEFileProtocol,
  18. ChamberlainFileProtocol,
  19. LinearFileProtocol,
  20. PrincetonFileProtocol,
  21. RAWFileProtocol,
  22. TotalFileProtocol,
  23. } SubBruteFileProtocol;
  24. typedef struct {
  25. uint32_t frequency;
  26. uint8_t bits;
  27. uint8_t te;
  28. uint8_t repeat;
  29. FuriHalSubGhzPreset preset;
  30. SubBruteFileProtocol file;
  31. } SubBruteProtocol;
  32. SubBruteProtocol* subbrute_protocol_alloc(void);
  33. SubBruteProtocol* subbrute_protocol(SubBruteAttacks index);
  34. const char* subbrute_protocol_preset(FuriHalSubGhzPreset preset);
  35. const char* subbrute_protocol_file(SubBruteFileProtocol protocol);
  36. FuriHalSubGhzPreset subbrute_protocol_convert_preset(string_t preset_name);
  37. SubBruteFileProtocol subbrute_protocol_file_protocol_name(string_t name);