[FL-3762] Configurable Infrared TX output (#3484)

* Implement Gui for the feature
* Implement furi_hal side
* Implement IR module detection
* Fix PVS warnings
* Add comments

Co-authored-by: Aleksandr Kutuzov <alleteam@gmail.com>
This commit is contained in:
Georgii Surkov
2024-03-25 11:56:56 +03:00
committed by GitHub
parent 6de2934394
commit adafe96924
10 changed files with 326 additions and 43 deletions

View File

@@ -4,6 +4,7 @@ enum SubmenuIndex {
SubmenuIndexUniversalRemotes,
SubmenuIndexLearnNewRemote,
SubmenuIndexSavedRemotes,
SubmenuIndexGpioSettings,
SubmenuIndexDebug
};
@@ -35,6 +36,12 @@ void infrared_scene_start_on_enter(void* context) {
SubmenuIndexSavedRemotes,
infrared_scene_start_submenu_callback,
infrared);
submenu_add_item(
submenu,
"GPIO Settings",
SubmenuIndexGpioSettings,
infrared_scene_start_submenu_callback,
infrared);
if(infrared->app_state.is_debug_enabled) {
submenu_add_item(
@@ -60,19 +67,19 @@ bool infrared_scene_start_on_event(void* context, SceneManagerEvent event) {
scene_manager_set_scene_state(scene_manager, InfraredSceneStart, submenu_index);
if(submenu_index == SubmenuIndexUniversalRemotes) {
scene_manager_next_scene(scene_manager, InfraredSceneUniversal);
consumed = true;
} else if(submenu_index == SubmenuIndexLearnNewRemote) {
infrared->app_state.is_learning_new_remote = true;
scene_manager_next_scene(scene_manager, InfraredSceneLearn);
consumed = true;
} else if(submenu_index == SubmenuIndexSavedRemotes) {
furi_string_set(infrared->file_path, INFRARED_APP_FOLDER);
scene_manager_next_scene(scene_manager, InfraredSceneRemoteList);
consumed = true;
} else if(submenu_index == SubmenuIndexGpioSettings) {
scene_manager_next_scene(scene_manager, InfraredSceneGpioSettings);
} else if(submenu_index == SubmenuIndexDebug) {
scene_manager_next_scene(scene_manager, InfraredSceneDebug);
consumed = true;
}
consumed = true;
}
return consumed;