From 30e2dc81a5e64dfc173fa14b4da13987d0396acb Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 26 Jun 2024 04:10:28 +0200 Subject: [PATCH] Improve toggle scanlist --- app/main.c | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/app/main.c b/app/main.c index 78c04d7..e0ffbb5 100644 --- a/app/main.c +++ b/app/main.c @@ -67,24 +67,13 @@ static void toggle_chan_scanlist(void) } */ - if(gTxVfo->SCANLIST1_PARTICIPATION == 1) - { - gTxVfo->SCANLIST1_PARTICIPATION = 0; - gTxVfo->SCANLIST2_PARTICIPATION = 1; - gTxVfo->SCANLIST3_PARTICIPATION = 0; - } - else if(gTxVfo->SCANLIST2_PARTICIPATION == 1) - { - gTxVfo->SCANLIST1_PARTICIPATION = 0; - gTxVfo->SCANLIST2_PARTICIPATION = 0; - gTxVfo->SCANLIST3_PARTICIPATION = 1; - } - else if(gTxVfo->SCANLIST3_PARTICIPATION == 1) - { - gTxVfo->SCANLIST1_PARTICIPATION = 1; - gTxVfo->SCANLIST2_PARTICIPATION = 0; - gTxVfo->SCANLIST3_PARTICIPATION = 0; - } + uint8_t scanTmp = (gTxVfo->SCANLIST1_PARTICIPATION << 2) | (gTxVfo->SCANLIST2_PARTICIPATION << 1) | gTxVfo->SCANLIST3_PARTICIPATION; + + scanTmp = (scanTmp++ < 7) ? scanTmp: 0; + + gTxVfo->SCANLIST1_PARTICIPATION = (scanTmp >> 0) & 0x01; + gTxVfo->SCANLIST2_PARTICIPATION = (scanTmp >> 1) & 0x01; + gTxVfo->SCANLIST3_PARTICIPATION = (scanTmp >> 2) & 0x01; SETTINGS_UpdateChannel(gTxVfo->CHANNEL_SAVE, gTxVfo, true, true, true);