subghz_remote_app_i.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma once
  2. #include "helpers/subrem_types.h"
  3. #include "helpers/subrem_presets.h"
  4. #include "scenes/subrem_scene.h"
  5. #include "helpers/txrx/subghz_txrx.h"
  6. // Fix importing from firmware for folder path
  7. #if __has_include("subghz_remote_icons.h")
  8. #include "subghz_remote_icons.h"
  9. #endif
  10. #include "views/remote.h"
  11. #include "views/edit_menu.h"
  12. #include <gui/gui.h>
  13. #include <gui/view_dispatcher.h>
  14. #include <gui/scene_manager.h>
  15. #include <gui/modules/submenu.h>
  16. #include <gui/modules/widget.h>
  17. #include <gui/modules/text_input.h>
  18. #include <gui/modules/popup.h>
  19. #include <dialogs/dialogs.h>
  20. #include <notification/notification_messages.h>
  21. #include <storage/storage.h>
  22. #include <flipper_format/flipper_format_i.h>
  23. #define SUBREM_APP_FOLDER EXT_PATH("subghz/remote")
  24. #define SUBREM_MAX_LEN_NAME 64
  25. typedef struct {
  26. Gui* gui;
  27. ViewDispatcher* view_dispatcher;
  28. SceneManager* scene_manager;
  29. NotificationApp* notifications;
  30. DialogsApp* dialogs;
  31. Widget* widget;
  32. Popup* popup;
  33. TextInput* text_input;
  34. Submenu* submenu;
  35. FuriString* file_path;
  36. char file_name_tmp[SUBREM_MAX_LEN_NAME];
  37. SubRemViewRemote* subrem_remote_view;
  38. SubRemViewEditMenu* subrem_edit_menu;
  39. SubRemMapPreset* map_preset;
  40. SubGhzTxRx* txrx;
  41. bool map_not_saved;
  42. uint8_t chosen_sub;
  43. } SubGhzRemoteApp;
  44. SubRemLoadMapState subrem_load_from_file(SubGhzRemoteApp* app);
  45. bool subrem_tx_start_sub(SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset);
  46. bool subrem_tx_stop_sub(SubGhzRemoteApp* app, bool forced);
  47. SubRemLoadMapState subrem_map_file_load(SubGhzRemoteApp* app, const char* file_path);
  48. void subrem_map_preset_reset(SubRemMapPreset* map_preset);
  49. bool subrem_save_map_to_file(SubGhzRemoteApp* app);
  50. void subrem_save_active_sub(void* context);