#pragma once #include #include #include #include #include #include #include #include #include #include #include #include "scenes/camera_suite_scene.h" #include "views/camera_suite_view_guide.h" #include "views/camera_suite_view_start.h" #include "views/camera_suite_view_camera.h" #include "helpers/camera_suite_storage.h" #define TAG "Camera Suite" #ifdef xtreme_settings /** * Enable the following line for "Xtreme Firmware" & "Xtreme Apps" (Flipper-XFW). * * @see https://github.com/Flipper-XFW/Xtreme-Firmware * @see https://github.com/Flipper-XFW/Xtreme-Apps */ #define UART_CH (xtreme_settings.uart_esp_channel) #elif momentum_settings /** * Enable the following line for "Momentum Firmware" & "Momentum Apps". * * @see https://github.com/Next-Flip/Momentum-Firmware * @see https://github.com/Next-Flip/Momentum-Apps */ #define UART_CH (momentum_settings.uart_esp_channel) #else #define UART_CH (FuriHalSerialIdUsart) #endif typedef struct { Gui* gui; NotificationApp* notification; ViewDispatcher* view_dispatcher; Submenu* submenu; SceneManager* scene_manager; VariableItemList* variable_item_list; CameraSuiteViewStart* camera_suite_view_start; CameraSuiteViewCamera* camera_suite_view_camera; CameraSuiteViewGuide* camera_suite_view_guide; uint32_t orientation; uint32_t dither; uint32_t flash; uint32_t haptic; uint32_t jpeg; uint32_t speaker; uint32_t led; ButtonMenu* button_menu; } CameraSuite; typedef enum { CameraSuiteViewIdStartscreen, CameraSuiteViewIdMenu, CameraSuiteViewIdCamera, CameraSuiteViewIdGuide, CameraSuiteViewIdAppSettings, CameraSuiteViewIdCamSettings, } CameraSuiteViewId; typedef enum { CameraSuiteOrientation0, CameraSuiteOrientation90, CameraSuiteOrientation180, CameraSuiteOrientation270, } CameraSuiteOrientationState; typedef enum { CameraSuiteDitherFloydSteinberg, CameraSuiteDitherStucki, CameraSuiteDitherJarvisJudiceNinke, } CameraSuiteDitherState; typedef enum { CameraSuiteFlashOff, CameraSuiteFlashOn, } CameraSuiteFlashState; typedef enum { CameraSuiteJpegOff, CameraSuiteJpegOn, } CameraSuiteJpegState; typedef enum { CameraSuiteHapticOff, CameraSuiteHapticOn, } CameraSuiteHapticState; typedef enum { CameraSuiteSpeakerOff, CameraSuiteSpeakerOn, } CameraSuiteSpeakerState; typedef enum { CameraSuiteLedOff, CameraSuiteLedOn, } CameraSuiteLedState;