diff --git a/app/action.c b/app/action.c index 0e3ef9e..9aa2565 100644 --- a/app/action.c +++ b/app/action.c @@ -200,7 +200,7 @@ void ACTION_Scan(bool bRestart) #endif // clear the other vfo's rssi level (to hide the antenna symbol) - gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL == 0] = 0; + gVFO_RSSI_bar_level[(gEeprom.RX_CHANNEL + 1) & 1u] = 0; // let the user see DW is not active gDualWatchActive = false; @@ -212,14 +212,20 @@ void ACTION_Scan(bool bRestart) if (!bRestart) { // scanning + // swap scan lists + gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) & 1u; + gUpdateStatus = true; + } + else + { // stop scanning gMonitor = false; - + SCANNER_Stop(); - + #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_SCANNING_STOP; #endif - + gRequestDisplayScreen = DISPLAY_MAIN; } } diff --git a/app/main.c b/app/main.c index 02ecae3..0347b97 100644 --- a/app/main.c +++ b/app/main.c @@ -651,6 +651,7 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) return; ACTION_Scan(false); + return; } diff --git a/bitmaps.c b/bitmaps.c index 790c6f0..34f0bc2 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -282,21 +282,28 @@ const uint8_t BITMAP_TDR2[12] = }; #endif -const uint8_t BITMAP_SC[12] = -{ // "SC" - 0b00000000, - 0b01000110, - 0b01001001, - 0b01001001, - 0b01001001, - 0b00110001, +const uint8_t BITMAP_SC1[8] = +{ // "I" + 0b01000001, + 0b01000001, + 0b01000001, + 0b01111111, + 0b01000001, + 0b01000001, + 0b01000001, + 0b00000000 +}; - 0b00000000, - 0b00111110, +const uint8_t BITMAP_SC2[8] = +{ // "II" 0b01000001, 0b01000001, + 0b01111111, 0b01000001, - 0b00100010 + 0b01111111, + 0b01000001, + 0b01000001, + 0b00000000 }; const uint8_t BITMAP_Antenna[5] = @@ -385,17 +392,7 @@ const uint8_t BITMAP_VFO_NotDefault[8] = 0b00010100, 0b00001000 }; -/* -const uint8_t BITMAP_ScanList[6] = -{ // diamond symbol - 0b00001000, - 0b00011100, - 0b00111110, - 0b00111110, - 0b00011100, - 0b00001000 -}; -*/ + const uint8_t BITMAP_ScanList1[6] = { // 'I' symbol 0b00000000, diff --git a/bitmaps.h b/bitmaps.h index b73c516..f7ba9c3 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -46,7 +46,8 @@ extern const uint8_t BITMAP_TDR2[12]; extern const uint8_t BITMAP_NOAA[12]; #endif -extern const uint8_t BITMAP_SC[12]; +extern const uint8_t BITMAP_SC1[8]; +extern const uint8_t BITMAP_SC2[8]; extern const uint8_t BITMAP_Antenna[5]; extern const uint8_t BITMAP_AntennaLevel1[3]; @@ -61,7 +62,6 @@ extern const uint8_t BITMAP_MARKER[8]; extern const uint8_t BITMAP_VFO_Default[8]; extern const uint8_t BITMAP_VFO_NotDefault[8]; -//extern const uint8_t BITMAP_ScanList[6]; extern const uint8_t BITMAP_ScanList1[6]; extern const uint8_t BITMAP_ScanList2[6]; diff --git a/firmware.bin b/firmware.bin index 087bc60..62724c2 100644 Binary files a/firmware.bin and b/firmware.bin differ diff --git a/firmware.packed.bin b/firmware.packed.bin index 216ad34..b9e7cb1 100644 Binary files a/firmware.packed.bin and b/firmware.packed.bin differ diff --git a/ui/status.c b/ui/status.c index 4fafd6a..075f02a 100644 --- a/ui/status.c +++ b/ui/status.c @@ -96,10 +96,13 @@ void UI_DisplayStatus(const bool test_display) // SCAN indicator if (gScanState != SCAN_OFF || gScreenToDisplay == DISPLAY_SCANNER || test_display) { - memmove(line + x, BITMAP_SC, sizeof(BITMAP_SC)); - x1 = x + sizeof(BITMAP_SC); + if (gEeprom.SCAN_LIST_DEFAULT == 0) + memmove(line + x, BITMAP_SC1, sizeof(BITMAP_SC1)); + else + memmove(line + x, BITMAP_SC2, sizeof(BITMAP_SC2)); + x1 = x + sizeof(BITMAP_SC1); } - x += sizeof(BITMAP_SC); + x += sizeof(BITMAP_SC1); #ifdef ENABLE_VOICE // VOICE indicator