diff --git a/bitmaps.c b/bitmaps.c index c403918..fd9c55e 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -203,6 +203,17 @@ const uint8_t BITMAP_ScanList3[7] = 0b01111111 }; +const uint8_t BITMAP_ScanListE[7] = +{ // 'E' symbol + 0b01111111, + 0b01111111, + 0b01000001, + 0b01010101, + 0b01010101, + 0b01111111, + 0b01111111 +}; + const uint8_t BITMAP_ScanList123[19] = { // 'All' symbol diff --git a/bitmaps.h b/bitmaps.h index a57d9d9..39d23fd 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -36,6 +36,7 @@ extern const uint8_t BITMAP_ScanList2[7]; extern const uint8_t BITMAP_ScanList3[7]; extern const uint8_t BITMAP_ScanList123[19]; extern const uint8_t BITMAP_ScanListAll[19]; +extern const uint8_t BITMAP_ScanListE[7]; extern const uint8_t BITMAP_PowerUser[3]; extern const uint8_t BITMAP_compand[6]; diff --git a/radio.c b/radio.c index 0f85f38..814acde 100644 --- a/radio.c +++ b/radio.c @@ -62,7 +62,7 @@ bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanL const ChannelAttributes_t att = gMR_ChannelAttributes[channel]; - if (gMR_ChannelExclude[channel] == true) + if (checkScanList && gMR_ChannelExclude[channel] == true) return false; if (att.band > BAND7_470MHz) diff --git a/ui/main.c b/ui/main.c index d2fc63d..cba423d 100644 --- a/ui/main.c +++ b/ui/main.c @@ -895,36 +895,43 @@ void UI_DisplayMain(void) uint8_t countList = 0; uint8_t shiftList = 0; - // show the scan list assigment symbols - const ChannelAttributes_t att = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; - - if (att.scanlist1) - countList++; - if (att.scanlist2) - countList++; - if (att.scanlist3) - countList++; - - shiftList = countList; - - if (att.scanlist1) + if(gMR_ChannelExclude[gEeprom.ScreenChannel[vfo_num]] == false) { - memcpy(p_line0 + 127 - (shiftList * 6), BITMAP_ScanList1, sizeof(BITMAP_ScanList1)); - shiftList--; + // show the scan list assigment symbols + const ChannelAttributes_t att = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; + + if (att.scanlist1) + countList++; + if (att.scanlist2) + countList++; + if (att.scanlist3) + countList++; + + shiftList = countList; + + if (att.scanlist1) + { + memcpy(p_line0 + 127 - (shiftList * 6), BITMAP_ScanList1, sizeof(BITMAP_ScanList1)); + shiftList--; + } + if (att.scanlist2) + { + memcpy(p_line0 + 127 - (shiftList * 6), BITMAP_ScanList2, sizeof(BITMAP_ScanList2)); + shiftList--; + } + if (att.scanlist3) + { + memcpy(p_line0 + 127 - (shiftList * 6), BITMAP_ScanList3, sizeof(BITMAP_ScanList3)); + } + + if(countList == 0) + { + memcpy(p_line0 + 127 - (1 * 6), BITMAP_ScanList0, sizeof(BITMAP_ScanList0)); + } } - if (att.scanlist2) + else { - memcpy(p_line0 + 127 - (shiftList * 6), BITMAP_ScanList2, sizeof(BITMAP_ScanList2)); - shiftList--; - } - if (att.scanlist3) - { - memcpy(p_line0 + 127 - (shiftList * 6), BITMAP_ScanList3, sizeof(BITMAP_ScanList3)); - } - - if(countList == 0) - { - memcpy(p_line0 + 127 - (1 * 6), BITMAP_ScanList0, sizeof(BITMAP_ScanList0)); + memcpy(p_line0 + 127 - (1 * 6), BITMAP_ScanListE, sizeof(BITMAP_ScanListE)); } /*