hex_viewer.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. #pragma once
  2. #include <furi.h>
  3. #include <furi_hal.h>
  4. #include <gui/gui.h>
  5. #include <input/input.h>
  6. #include <stdlib.h>
  7. #include <assets_icons.h>
  8. #include <dialogs/dialogs.h>
  9. #include <notification/notification_messages.h>
  10. #include <gui/view_dispatcher.h>
  11. #include <gui/modules/submenu.h>
  12. #include <gui/scene_manager.h>
  13. #include <gui/modules/variable_item_list.h>
  14. #include <gui/modules/button_menu.h>
  15. #include <gui/modules/dialog_ex.h>
  16. #include "scenes/hex_viewer_scene.h"
  17. #include "views/hex_viewer_startscreen.h"
  18. #include "views/hex_viewer_scene_1.h"
  19. #include "views/hex_viewer_scene_2.h"
  20. #include "helpers/hex_viewer_storage.h"
  21. #define TAG "HexViewer"
  22. #define SUBGHZ_APP_EXTENSION ".sub"
  23. #define SUBGHZ_APP_FOLDER ANY_PATH("subghz")
  24. typedef struct {
  25. Gui* gui;
  26. NotificationApp* notification;
  27. ViewDispatcher* view_dispatcher;
  28. Submenu* submenu;
  29. SceneManager* scene_manager;
  30. VariableItemList* variable_item_list;
  31. HexViewerStartscreen* hex_viewer_startscreen;
  32. HexViewerScene1* hex_viewer_scene_1;
  33. HexViewerScene2* hex_viewer_scene_2;
  34. DialogsApp* dialogs; // File Browser
  35. FuriString* file_path; // File Browser
  36. uint32_t haptic;
  37. uint32_t speaker;
  38. uint32_t led;
  39. uint32_t save_settings;
  40. ButtonMenu* button_menu; // Button Menu
  41. } HexViewer;
  42. typedef enum {
  43. HexViewerViewIdStartscreen,
  44. HexViewerViewIdMenu,
  45. HexViewerViewIdScene1,
  46. HexViewerViewIdScene2,
  47. HexViewerViewIdScene3,
  48. HexViewerViewIdScene4,
  49. HexViewerViewIdScene5,
  50. HexViewerViewIdSettings,
  51. } HexViewerViewId;
  52. typedef enum {
  53. HexViewerHapticOff,
  54. HexViewerHapticOn,
  55. } HexViewerHapticState;
  56. typedef enum {
  57. HexViewerSpeakerOff,
  58. HexViewerSpeakerOn,
  59. } HexViewerSpeakerState;
  60. typedef enum {
  61. HexViewerLedOff,
  62. HexViewerLedOn,
  63. } HexViewerLedState;
  64. typedef enum {
  65. HexViewerSettingsOff,
  66. HexViewerSettingsOn,
  67. } HexViewerSettingsStoreState;