Major code optimization (536 bytes saved)

This commit is contained in:
kusy committed 2026-03-04 14:10:02 +00:00
1 parent 4b8f8cf22a
commit 28500e1667
12 files changed
+157 -315

No files matched your search

+29 -55
View File
@@ -1185,37 +1185,32 @@ static void DrawArrow(uint8_t x)
static void OnKeyDown(uint8_t key)
{
bool nav = (gEeprom.SET_NAV != 0);
bool nav = gEeprom.SET_NAV;
bool isTrue = false;
switch (key)
{
case KEY_3:
UpdateDBMax(true);
break;
isTrue = true;
[[fallthrough]];
case KEY_9:
UpdateDBMax(false);
UpdateDBMax(isTrue);
break;
case KEY_1:
UpdateScanStep(true);
break;
isTrue = true;
[[fallthrough]];
case KEY_7:
UpdateScanStep(false);
UpdateScanStep(isTrue);
break;
case KEY_2:
UpdateFreqChangeStep(true);
break;
isTrue = true;
[[fallthrough]];
case KEY_8:
UpdateFreqChangeStep(false);
UpdateFreqChangeStep(isTrue);
break;
case KEY_UP:
#ifdef ENABLE_SCAN_RANGES
if (!gScanRangeStart) {
#endif
UpdateCurrentFreq(nav);
#ifdef ENABLE_SCAN_RANGES
}
#endif
break;
nav = !nav;
[[fallthrough]];
case KEY_DOWN:
#ifdef ENABLE_SCAN_RANGES
if (!gScanRangeStart) {
@@ -1229,10 +1224,10 @@ static void OnKeyDown(uint8_t key)
Blacklist();
break;
case KEY_STAR:
UpdateRssiTriggerLevel(true);
break;
isTrue = true;
[[fallthrough]];
case KEY_F:
UpdateRssiTriggerLevel(false);
UpdateRssiTriggerLevel(isTrue);
break;
case KEY_5:
#ifdef ENABLE_SCAN_RANGES
@@ -1285,21 +1280,10 @@ static void OnKeyDownFreqInput(uint8_t key)
{
switch (key)
{
case KEY_0:
case KEY_1:
case KEY_2:
case KEY_3:
case KEY_4:
case KEY_5:
case KEY_6:
case KEY_7:
case KEY_8:
case KEY_9:
case KEY_0...KEY_9:
case KEY_STAR:
UpdateFreqInput(key);
break;
case KEY_EXIT:
if (freqInputIndex == 0)
if (freqInputIndex == 0 && key == KEY_EXIT)
{
SetState(previousState);
break;
@@ -1330,23 +1314,20 @@ static void OnKeyDownFreqInput(uint8_t key)
void OnKeyDownStill(KEY_Code_t key)
{
bool nav = (gEeprom.SET_NAV != 0);
bool nav = gEeprom.SET_NAV;
bool isTrue = false;
switch (key)
{
case KEY_3:
UpdateDBMax(true);
break;
isTrue = true;
[[fallthrough]];
case KEY_9:
UpdateDBMax(false);
UpdateDBMax(isTrue);
break;
case KEY_UP:
if (menuState) {
SetRegMenuValue(menuState, nav);
break;
}
UpdateCurrentFreqStill(nav);
break;
nav = !nav;
[[fallthrough]];
case KEY_DOWN:
if (menuState) {
SetRegMenuValue(menuState, !nav);
@@ -1355,10 +1336,10 @@ void OnKeyDownStill(KEY_Code_t key)
UpdateCurrentFreqStill(!nav);
break;
case KEY_STAR:
UpdateRssiTriggerLevel(true);
break;
isTrue = true;
[[fallthrough]];
case KEY_F:
UpdateRssiTriggerLevel(false);
UpdateRssiTriggerLevel(isTrue);
break;
case KEY_5:
FreqInput();
@@ -1381,14 +1362,7 @@ void OnKeyDownStill(KEY_Code_t key)
BK4819_ToggleGpioOut(BK4819_GPIO5_PIN1_RED, true); */
break;
case KEY_MENU:
if (menuState == ARRAY_SIZE(registerSpecs) - 1)
{
menuState = 1;
}
else
{
menuState++;
}
menuState = (menuState == ARRAY_SIZE(registerSpecs) - 1) ? 1 : menuState + 1;
redrawScreen = true;
break;
case KEY_EXIT: