Improve exclude feature

This commit is contained in:
Armel FAUVEAU
2024-07-25 05:24:54 +02:00
parent a271d847c3
commit 0fe97245d8
4 changed files with 47 additions and 28 deletions

View File

@@ -203,6 +203,17 @@ const uint8_t BITMAP_ScanList3[7] =
0b01111111 0b01111111
}; };
const uint8_t BITMAP_ScanListE[7] =
{ // 'E' symbol
0b01111111,
0b01111111,
0b01000001,
0b01010101,
0b01010101,
0b01111111,
0b01111111
};
const uint8_t BITMAP_ScanList123[19] = const uint8_t BITMAP_ScanList123[19] =
{ {
// 'All' symbol // 'All' symbol

View File

@@ -36,6 +36,7 @@ extern const uint8_t BITMAP_ScanList2[7];
extern const uint8_t BITMAP_ScanList3[7]; extern const uint8_t BITMAP_ScanList3[7];
extern const uint8_t BITMAP_ScanList123[19]; extern const uint8_t BITMAP_ScanList123[19];
extern const uint8_t BITMAP_ScanListAll[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_PowerUser[3];
extern const uint8_t BITMAP_compand[6]; extern const uint8_t BITMAP_compand[6];

View File

@@ -62,7 +62,7 @@ bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanL
const ChannelAttributes_t att = gMR_ChannelAttributes[channel]; const ChannelAttributes_t att = gMR_ChannelAttributes[channel];
if (gMR_ChannelExclude[channel] == true) if (checkScanList && gMR_ChannelExclude[channel] == true)
return false; return false;
if (att.band > BAND7_470MHz) if (att.band > BAND7_470MHz)

View File

@@ -895,36 +895,43 @@ void UI_DisplayMain(void)
uint8_t countList = 0; uint8_t countList = 0;
uint8_t shiftList = 0; uint8_t shiftList = 0;
// show the scan list assigment symbols if(gMR_ChannelExclude[gEeprom.ScreenChannel[vfo_num]] == false)
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)); // show the scan list assigment symbols
shiftList--; 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)); memcpy(p_line0 + 127 - (1 * 6), BITMAP_ScanListE, sizeof(BITMAP_ScanListE));
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));
} }
/* /*