Update '[ESP32] Camera Suite' to v1.1.0

This commit is contained in:
Cody Tolene
2023-07-27 22:25:37 -05:00
parent 99b203e25c
commit d4ff1e3a50
12 changed files with 119 additions and 500 deletions

View File

@@ -1,35 +1,35 @@
#include "../camera_suite.h"
#include "../helpers/camera_suite_custom_event.h"
#include "../views/camera_suite_view_style_1.h"
#include "../views/camera_suite_view_camera.h"
static void camera_suite_view_style_1_callback(CameraSuiteCustomEvent event, void* context) {
void camera_suite_view_camera_callback(CameraSuiteCustomEvent event, void* context) {
furi_assert(context);
CameraSuite* app = context;
view_dispatcher_send_custom_event(app->view_dispatcher, event);
}
void camera_suite_scene_style_1_on_enter(void* context) {
void camera_suite_scene_camera_on_enter(void* context) {
furi_assert(context);
CameraSuite* app = context;
camera_suite_view_style_1_set_callback(
app->camera_suite_view_style_1, camera_suite_view_style_1_callback, app);
view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdScene1);
camera_suite_view_camera_set_callback(
app->camera_suite_view_camera, camera_suite_view_camera_callback, app);
view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdCamera);
}
bool camera_suite_scene_style_1_on_event(void* context, SceneManagerEvent event) {
bool camera_suite_scene_camera_on_event(void* context, SceneManagerEvent event) {
CameraSuite* app = context;
bool consumed = false;
if(event.type == SceneManagerEventTypeCustom) {
switch(event.event) {
case CameraSuiteCustomEventSceneStyle1Left:
case CameraSuiteCustomEventSceneStyle1Right:
case CameraSuiteCustomEventSceneStyle1Up:
case CameraSuiteCustomEventSceneStyle1Down:
case CameraSuiteCustomEventSceneStyle1Ok:
case CameraSuiteCustomEventSceneCameraLeft:
case CameraSuiteCustomEventSceneCameraRight:
case CameraSuiteCustomEventSceneCameraUp:
case CameraSuiteCustomEventSceneCameraDown:
case CameraSuiteCustomEventSceneCameraOk:
// Do nothing.
break;
case CameraSuiteCustomEventSceneStyle1Back:
case CameraSuiteCustomEventSceneCameraBack:
notification_message(app->notification, &sequence_reset_red);
notification_message(app->notification, &sequence_reset_green);
notification_message(app->notification, &sequence_reset_blue);
@@ -46,7 +46,7 @@ bool camera_suite_scene_style_1_on_event(void* context, SceneManagerEvent event)
return consumed;
}
void camera_suite_scene_style_1_on_exit(void* context) {
void camera_suite_scene_camera_on_exit(void* context) {
CameraSuite* app = context;
UNUSED(app);
}

View File

@@ -1,6 +1,5 @@
ADD_SCENE(camera_suite, start, Start)
ADD_SCENE(camera_suite, menu, Menu)
ADD_SCENE(camera_suite, style_1, Style_1)
ADD_SCENE(camera_suite, style_2, Style_2)
ADD_SCENE(camera_suite, camera, Camera)
ADD_SCENE(camera_suite, guide, Guide)
ADD_SCENE(camera_suite, settings, Settings)

View File

@@ -1,10 +1,8 @@
#include "../camera_suite.h"
enum SubmenuIndex {
/** Atkinson Dithering Algorithm. */
SubmenuIndexSceneStyle1 = 10,
/** Floyd-Steinberg Dithering Algorithm. */
SubmenuIndexSceneStyle2,
/** Camera. */
SubmenuIndexSceneCamera = 10,
/** Guide/how-to. */
SubmenuIndexGuide,
/** Settings menu. */
@@ -22,16 +20,9 @@ void camera_suite_scene_menu_on_enter(void* context) {
submenu_add_item(
app->submenu,
"Open Camera",
SubmenuIndexSceneStyle1,
SubmenuIndexSceneCamera,
camera_suite_scene_menu_submenu_callback,
app);
// Staged view for the future.
// submenu_add_item(
// app->submenu,
// "Test",
// SubmenuIndexSceneStyle2,
// camera_suite_scene_menu_submenu_callback,
// app);
submenu_add_item(
app->submenu, "Guide", SubmenuIndexGuide, camera_suite_scene_menu_submenu_callback, app);
submenu_add_item(
@@ -56,15 +47,10 @@ bool camera_suite_scene_menu_on_event(void* context, SceneManagerEvent event) {
view_dispatcher_stop(app->view_dispatcher);
return true;
} else if(event.type == SceneManagerEventTypeCustom) {
if(event.event == SubmenuIndexSceneStyle1) {
if(event.event == SubmenuIndexSceneCamera) {
scene_manager_set_scene_state(
app->scene_manager, CameraSuiteSceneMenu, SubmenuIndexSceneStyle1);
scene_manager_next_scene(app->scene_manager, CameraSuiteSceneStyle_1);
return true;
} else if(event.event == SubmenuIndexSceneStyle2) {
scene_manager_set_scene_state(
app->scene_manager, CameraSuiteSceneMenu, SubmenuIndexSceneStyle2);
scene_manager_next_scene(app->scene_manager, CameraSuiteSceneStyle_2);
app->scene_manager, CameraSuiteSceneMenu, SubmenuIndexSceneCamera);
scene_manager_next_scene(app->scene_manager, CameraSuiteSceneCamera);
return true;
} else if(event.event == SubmenuIndexGuide) {
scene_manager_set_scene_state(

View File

@@ -24,9 +24,9 @@ bool camera_suite_scene_start_on_event(void* context, SceneManagerEvent event) {
switch(event.event) {
case CameraSuiteCustomEventStartLeft:
case CameraSuiteCustomEventStartRight:
break;
case CameraSuiteCustomEventStartUp:
case CameraSuiteCustomEventStartDown:
// Do nothing.
break;
case CameraSuiteCustomEventStartOk:
scene_manager_next_scene(app->scene_manager, CameraSuiteSceneMenu);

View File

@@ -1,54 +0,0 @@
#include "../camera_suite.h"
#include "../helpers/camera_suite_custom_event.h"
#include "../helpers/camera_suite_haptic.h"
#include "../helpers/camera_suite_led.h"
#include "../views/camera_suite_view_style_2.h"
void camera_suite_view_style_2_callback(CameraSuiteCustomEvent event, void* context) {
furi_assert(context);
CameraSuite* app = context;
view_dispatcher_send_custom_event(app->view_dispatcher, event);
}
void camera_suite_scene_style_2_on_enter(void* context) {
furi_assert(context);
CameraSuite* app = context;
camera_suite_view_style_2_set_callback(
app->camera_suite_view_style_2, camera_suite_view_style_2_callback, app);
view_dispatcher_switch_to_view(app->view_dispatcher, CameraSuiteViewIdScene2);
}
bool camera_suite_scene_style_2_on_event(void* context, SceneManagerEvent event) {
CameraSuite* app = context;
bool consumed = false;
if(event.type == SceneManagerEventTypeCustom) {
switch(event.event) {
case CameraSuiteCustomEventSceneStyle2Left:
case CameraSuiteCustomEventSceneStyle2Right:
case CameraSuiteCustomEventSceneStyle2Up:
case CameraSuiteCustomEventSceneStyle2Down:
case CameraSuiteCustomEventSceneStyle2Ok:
// Do nothing.
break;
case CameraSuiteCustomEventSceneStyle2Back:
notification_message(app->notification, &sequence_reset_red);
notification_message(app->notification, &sequence_reset_green);
notification_message(app->notification, &sequence_reset_blue);
if(!scene_manager_search_and_switch_to_previous_scene(
app->scene_manager, CameraSuiteSceneMenu)) {
scene_manager_stop(app->scene_manager);
view_dispatcher_stop(app->view_dispatcher);
}
consumed = true;
break;
}
}
return consumed;
}
void camera_suite_scene_style_2_on_exit(void* context) {
CameraSuite* app = context;
UNUSED(app);
}