subrem_presets.h 975 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. #pragma once
  2. #include "subrem_types.h"
  3. #include "txrx/subghz_txrx.h"
  4. #include <flipper_format/flipper_format_i.h>
  5. #include <lib/subghz/types.h>
  6. typedef struct {
  7. FuriString* name;
  8. uint32_t frequency;
  9. // size_t preset_index; // Need for custom preset
  10. } FreqPreset;
  11. // Sub File preset
  12. typedef struct {
  13. FlipperFormat* fff_data;
  14. FreqPreset freq_preset;
  15. FuriString* file_path;
  16. FuriString* protocaol_name;
  17. FuriString* label;
  18. SubGhzProtocolType type;
  19. SubRemLoadSubState load_state;
  20. } SubRemSubFilePreset;
  21. typedef struct {
  22. SubRemSubFilePreset* subs_preset[SubRemSubKeyNameMaxCount];
  23. } SubRemMapPreset;
  24. SubRemSubFilePreset* subrem_sub_file_preset_alloc(void);
  25. void subrem_sub_file_preset_free(SubRemSubFilePreset* sub_preset);
  26. void subrem_sub_file_preset_reset(SubRemSubFilePreset* sub_preset);
  27. SubRemLoadSubState subrem_sub_preset_load(
  28. SubRemSubFilePreset* sub_preset,
  29. SubGhzTxRx* txrx,
  30. FlipperFormat* fff_data_file);