subghz_remote_app_i.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  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. #include "subghz_remote_icons.h"
  7. #include "views/remote.h"
  8. #include "views/edit_menu.h"
  9. #include <gui/gui.h>
  10. #include <gui/view_dispatcher.h>
  11. #include <gui/scene_manager.h>
  12. #include <gui/modules/submenu.h>
  13. #include <gui/modules/widget.h>
  14. #include <gui/modules/text_input.h>
  15. #include <gui/modules/popup.h>
  16. #include <dialogs/dialogs.h>
  17. #include <notification/notification_messages.h>
  18. #include <storage/storage.h>
  19. #include <flipper_format/flipper_format_i.h>
  20. #define SUBREM_APP_FOLDER EXT_PATH("subghz_remote")
  21. #define SUBREM_MAX_LEN_NAME 64
  22. typedef struct {
  23. Gui* gui;
  24. ViewDispatcher* view_dispatcher;
  25. SceneManager* scene_manager;
  26. NotificationApp* notifications;
  27. DialogsApp* dialogs;
  28. Widget* widget;
  29. Popup* popup;
  30. TextInput* text_input;
  31. Submenu* submenu;
  32. FuriString* file_path;
  33. char file_name_tmp[SUBREM_MAX_LEN_NAME];
  34. SubRemViewRemote* subrem_remote_view;
  35. SubRemViewEditMenu* subrem_edit_menu;
  36. SubRemMapPreset* map_preset;
  37. SubGhzTxRx* txrx;
  38. bool map_not_saved;
  39. uint8_t chosen_sub;
  40. } SubGhzRemoteApp;
  41. SubRemLoadMapState subrem_load_from_file(SubGhzRemoteApp* app);
  42. bool subrem_tx_start_sub(SubGhzRemoteApp* app, SubRemSubFilePreset* sub_preset);
  43. bool subrem_tx_stop_sub(SubGhzRemoteApp* app, bool forced);
  44. SubRemLoadMapState subrem_map_file_load(SubGhzRemoteApp* app, const char* file_path);
  45. void subrem_map_preset_reset(SubRemMapPreset* map_preset);
  46. bool subrem_save_map_to_file(SubGhzRemoteApp* app);
  47. void subrem_save_active_sub(void* context);