From 4f5ab0b15b23808b7ce2db92fbbdeaf4f7e4605c Mon Sep 17 00:00:00 2001 From: Dmitry422 Date: Wed, 5 Nov 2025 23:15:08 +0700 Subject: [PATCH] Start working with SubGhz_signal_settings menu --- .../main/subghz/helpers/subghz_custom_event.h | 1 + .../main/subghz/scenes/subghz_scene_config.h | 1 + .../subghz/scenes/subghz_scene_saved_menu.c | 15 +++++++- .../scenes/subghz_scene_signal_settings.c | 34 +++++++++++++++++++ applications_user/README.md | 1 - 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 applications/main/subghz/scenes/subghz_scene_signal_settings.c delete mode 100644 applications_user/README.md diff --git a/applications/main/subghz/helpers/subghz_custom_event.h b/applications/main/subghz/helpers/subghz_custom_event.h index e118948a0..41e704ea5 100644 --- a/applications/main/subghz/helpers/subghz_custom_event.h +++ b/applications/main/subghz/helpers/subghz_custom_event.h @@ -16,6 +16,7 @@ typedef enum { SubGhzCustomEventSceneReceiverInfoTxStop, SubGhzCustomEventSceneReceiverInfoSave, SubGhzCustomEventSceneSaveName, + SubGhzCustomEventSceneSignalSettings, SubGhzCustomEventSceneSaveSuccess, SubGhzCustomEventSceneShowErrorBack, SubGhzCustomEventSceneShowErrorOk, diff --git a/applications/main/subghz/scenes/subghz_scene_config.h b/applications/main/subghz/scenes/subghz_scene_config.h index a23a12a2b..7be062eba 100644 --- a/applications/main/subghz/scenes/subghz_scene_config.h +++ b/applications/main/subghz/scenes/subghz_scene_config.h @@ -25,3 +25,4 @@ ADD_SCENE(subghz, decode_raw, DecodeRAW) ADD_SCENE(subghz, delete_raw, DeleteRAW) ADD_SCENE(subghz, need_saving, NeedSaving) ADD_SCENE(subghz, rpc, Rpc) +ADD_SCENE(subghz, signal_settings, SignalSettings) diff --git a/applications/main/subghz/scenes/subghz_scene_saved_menu.c b/applications/main/subghz/scenes/subghz_scene_saved_menu.c index 61e362d5b..011e719a7 100644 --- a/applications/main/subghz/scenes/subghz_scene_saved_menu.c +++ b/applications/main/subghz/scenes/subghz_scene_saved_menu.c @@ -4,6 +4,7 @@ enum SubmenuIndex { SubmenuIndexEmulate, SubmenuIndexEdit, SubmenuIndexDelete, + SubmenuIndexSignalSettings }; void subghz_scene_saved_menu_submenu_callback(void* context, uint32_t index) { @@ -34,6 +35,13 @@ void subghz_scene_saved_menu_on_enter(void* context) { subghz_scene_saved_menu_submenu_callback, subghz); + submenu_add_item( + subghz->submenu, + "Signal Settings", + SubmenuIndexSignalSettings, + subghz_scene_saved_menu_submenu_callback, + subghz); + submenu_set_selected_item( subghz->submenu, scene_manager_get_scene_state(subghz->scene_manager, SubGhzSceneSavedMenu)); @@ -60,7 +68,12 @@ bool subghz_scene_saved_menu_on_event(void* context, SceneManagerEvent event) { subghz->scene_manager, SubGhzSceneSavedMenu, SubmenuIndexEdit); scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSaveName); return true; - } + } else if(event.event == SubmenuIndexSignalSettings) { + scene_manager_set_scene_state( + subghz->scene_manager, SubGhzSceneSavedMenu, SubmenuIndexSignalSettings); + scene_manager_next_scene(subghz->scene_manager, SubGhzSceneSignalSettings); + return true; + } } return false; } diff --git a/applications/main/subghz/scenes/subghz_scene_signal_settings.c b/applications/main/subghz/scenes/subghz_scene_signal_settings.c new file mode 100644 index 000000000..1bbe6f2c8 --- /dev/null +++ b/applications/main/subghz/scenes/subghz_scene_signal_settings.c @@ -0,0 +1,34 @@ +#include "../subghz_i.h" +#include "subghz/types.h" +#include "../helpers/subghz_custom_event.h" +#include +#include +#include +#include + +void subghz_scene_signal_settings_text_input_callback(void* context) { + furi_assert(context); + SubGhz* subghz = context; + view_dispatcher_send_custom_event(subghz->view_dispatcher, SubGhzCustomEventSceneSignalSettings); +} + +void subghz_scene_signal_settings_on_enter(void* context) { + SubGhz* subghz = context; + + view_dispatcher_switch_to_view(subghz->view_dispatcher, SubGhzViewIdVariableItemList); +} + +bool subghz_scene_signal_settings_on_event(void* context, SceneManagerEvent event) { + SubGhz* subghz = context; + if(event.type == SceneManagerEventTypeBack) { + scene_manager_previous_scene(subghz->scene_manager); + return true; + } + else return false; + } + + +void subghz_scene_signal_settings_on_exit(void* context) { + SubGhz* subghz = context; + +} diff --git a/applications_user/README.md b/applications_user/README.md deleted file mode 100644 index 8bb7823c1..000000000 --- a/applications_user/README.md +++ /dev/null @@ -1 +0,0 @@ -Put your custom applications in this folder. \ No newline at end of file