From 3c2849ffdcd7791a78e7579bb3ada9bb8250f384 Mon Sep 17 00:00:00 2001 From: jflyper Date: Mon, 7 Nov 2016 17:12:57 +0900 Subject: [PATCH] VTX menu: onEntry and onExit should be working now MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Don’t know why this was overlooked. Needs testing. --- src/main/cms/cms_menu_builtin.c | 2 +- src/main/cms/cms_menu_vtx.c | 31 ++++++++++++++++++++++++++----- 2 files changed, 27 insertions(+), 6 deletions(-) diff --git a/src/main/cms/cms_menu_builtin.c b/src/main/cms/cms_menu_builtin.c index 7b094b0b3f..72365d4ae2 100644 --- a/src/main/cms/cms_menu_builtin.c +++ b/src/main/cms/cms_menu_builtin.c @@ -112,7 +112,7 @@ static CMS_Menu menuFeatures = { static OSD_Entry menuMainEntries[] = { - {"--- MAIN MENU ---", OME_Label, NULL, NULL, 0}, + {"-- MAIN MENU --", OME_Label, NULL, NULL, 0}, {"CFG&IMU", OME_Submenu, cmsMenuChange, &cmsx_menuImu, 0}, {"FEATURES", OME_Submenu, cmsMenuChange, &menuFeatures, 0}, #ifdef OSD diff --git a/src/main/cms/cms_menu_vtx.c b/src/main/cms/cms_menu_vtx.c index f96eb8f2da..32d921d62f 100644 --- a/src/main/cms/cms_menu_vtx.c +++ b/src/main/cms/cms_menu_vtx.c @@ -38,20 +38,24 @@ static bool featureRead = false; static uint8_t cmsx_featureVtx = 0, cmsx_vtxBand, cmsx_vtxChannel; -static void cmsx_Vtx_FeatureRead(void) +static long cmsx_Vtx_FeatureRead(void) { if (!featureRead) { cmsx_featureVtx = feature(FEATURE_VTX) ? 1 : 0; featureRead = true; } + + return 0; } -static void cmsx_Vtx_FeatureWriteback(void) +static long cmsx_Vtx_FeatureWriteback(void) { if (cmsx_featureVtx) featureSet(FEATURE_VTX); else featureClear(FEATURE_VTX); + + return 0; } static const char * const vtxBandNames[] = { @@ -90,6 +94,23 @@ static void cmsx_Vtx_ConfigWriteback(void) #endif // USE_RTC6705 } +static long cmsx_Vtx_onEnter(void) +{ + cmsx_Vtx_FeatureRead(); + cmsx_Vtx_ConfigRead(); + + return 0; +} + +static long cmsx_Vtx_onExit(OSD_Entry *self) +{ + UNUSED(self); + + cmsx_Vtx_ConfigWriteback(); + + return 0; +} + #ifdef VTX static OSD_UINT8_t entryVtxMode = {&masterConfig.vtx_mode, 0, 2, 1}; static OSD_UINT16_t entryVtxMhz = {&masterConfig.vtx_mhz, 5600, 5950, 1}; @@ -115,9 +136,9 @@ static OSD_Entry cmsx_menuVtxEntries[] = CMS_Menu cmsx_menuVtx = { "MENUVTX", OME_MENU, - NULL, - NULL, - NULL, + cmsx_Vtx_onEnter, + cmsx_Vtx_onExit, + cmsx_Vtx_FeatureWriteback, cmsx_menuVtxEntries, };