From 170fcbfb6e2e9240e496a8c6479f57d6b24941f4 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Thu, 8 Feb 2024 02:17:04 +0100 Subject: [PATCH] Change SWITCH MAIN ONLY to RX MODE --- app/action.c | 57 ++++++++++++++++++++++------------------------------ app/action.h | 2 +- settings.h | 2 +- ui/menu.c | 2 +- 4 files changed, 27 insertions(+), 36 deletions(-) diff --git a/app/action.c b/app/action.c index 3c8d4ae..91ce04e 100644 --- a/app/action.c +++ b/app/action.c @@ -102,11 +102,11 @@ void (*action_opt_table[])(void) = { #endif #ifdef ENABLE_FEAT_F4HWN - [ACTION_OPT_MAIN] = &ACTION_Main, + [ACTION_OPT_RXMODE] = &ACTION_RxMode, [ACTION_OPT_PTT] = &ACTION_Ptt, [ACTION_OPT_WN] = &ACTION_Wn, #else - [ACTION_OPT_MAIN] = &FUNCTION_NOP, + [ACTION_OPT_RXMODE] = &FUNCTION_NOP, #endif }; @@ -451,43 +451,34 @@ void ACTION_BlminTmpOff(void) #endif #ifdef ENABLE_FEAT_F4HWN -void ACTION_Main(void) +void ACTION_RxMode(void) { - static uint8_t cycle = 0; - static uint8_t a; - static uint8_t b; + static bool cycle = 0; + static uint8_t a = 255; + static uint8_t b = 255; - - if(gEeprom.DUAL_WATCH == 0 && gEeprom.CROSS_BAND_RX_TX == 0 && cycle != 1) + if(a == 255 && b == 255) { - return; + a = gEeprom.DUAL_WATCH; + b = gEeprom.CROSS_BAND_RX_TX; } - else - { - if(cycle == 0) - { - a = gEeprom.DUAL_WATCH; - b = gEeprom.CROSS_BAND_RX_TX; - - gEeprom.DUAL_WATCH = 0; - gEeprom.CROSS_BAND_RX_TX = 0; - - gFlagReconfigureVfos = true; - gUpdateStatus = true; - + + switch(cycle) { + case 0: + a = (a == 0) ? 1 : 0; cycle = 1; - } - else - { - gEeprom.DUAL_WATCH = a; - gEeprom.CROSS_BAND_RX_TX = b; - - gFlagReconfigureVfos = true; - gUpdateStatus = true; - - cycle = 0; - } + break; + case 1: + b = (b == 0) ? 1 : 0; + cycle = 0; + break; } + + gEeprom.DUAL_WATCH = a; + gEeprom.CROSS_BAND_RX_TX = b; + + gFlagReconfigureVfos = true; + gUpdateStatus = true; } void ACTION_Ptt(void) diff --git a/app/action.h b/app/action.h index a82bc3e..4dc7937 100644 --- a/app/action.h +++ b/app/action.h @@ -36,7 +36,7 @@ void ACTION_SwitchDemodul(void); #endif #ifdef ENABLE_FEAT_F4HWN - void ACTION_Main(void); + void ACTION_RxMode(void); void ACTION_Ptt(void); void ACTION_Wn(void); #endif diff --git a/settings.h b/settings.h index 2334546..129eb27 100644 --- a/settings.h +++ b/settings.h @@ -91,7 +91,7 @@ enum ACTION_OPT_t { ACTION_OPT_SWITCH_DEMODUL, ACTION_OPT_BLMIN_TMP_OFF, //BackLight Minimum Temporay OFF #ifdef ENABLE_FEAT_F4HWN - ACTION_OPT_MAIN, + ACTION_OPT_RXMODE, ACTION_OPT_PTT, ACTION_OPT_WN, #endif diff --git a/ui/menu.c b/ui/menu.c index b105768..b68a26b 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -400,7 +400,7 @@ const t_sidefunction gSubMenu_SIDEFUNCTIONS[] = {"BLMIN\nTMP OFF", ACTION_OPT_BLMIN_TMP_OFF}, //BackLight Minimum Temporay OFF #endif #ifdef ENABLE_FEAT_F4HWN - {"SWITCH\nMAIN ONLY", ACTION_OPT_MAIN}, + {"SWITCH\nRX MODE", ACTION_OPT_RXMODE}, {"SWITCH\nPTT", ACTION_OPT_PTT}, {"SWITCH\nWIDE\nNARROW", ACTION_OPT_WN}, #endif