Add Not In List and All In List
This commit is contained in:
2
Makefile
2
Makefile
@@ -4,7 +4,7 @@
|
|||||||
# 1 = enable
|
# 1 = enable
|
||||||
|
|
||||||
# ---- STOCK QUANSHENG FERATURES ----
|
# ---- STOCK QUANSHENG FERATURES ----
|
||||||
ENABLE_FMRADIO ?= 1
|
ENABLE_FMRADIO ?= 0
|
||||||
ENABLE_UART ?= 1
|
ENABLE_UART ?= 1
|
||||||
ENABLE_AIRCOPY ?= 0
|
ENABLE_AIRCOPY ?= 0
|
||||||
ENABLE_NOAA ?= 0
|
ENABLE_NOAA ?= 0
|
||||||
|
@@ -219,7 +219,7 @@ void ACTION_Scan(bool bRestart)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// channel mode. Keep scanning but toggle between scan lists
|
// channel mode. Keep scanning but toggle between scan lists
|
||||||
gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) % 4;
|
gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) % 6;
|
||||||
|
|
||||||
// jump to the next channel
|
// jump to the next channel
|
||||||
CHFRSCANNER_Start(false, gScanStateDir);
|
CHFRSCANNER_Start(false, gScanStateDir);
|
||||||
|
@@ -195,7 +195,7 @@ static void NextFreqChannel(void)
|
|||||||
static void NextMemChannel(void)
|
static void NextMemChannel(void)
|
||||||
{
|
{
|
||||||
static unsigned int prev_mr_chan = 0;
|
static unsigned int prev_mr_chan = 0;
|
||||||
const bool enabled = (gEeprom.SCAN_LIST_DEFAULT < 3) ? gEeprom.SCAN_LIST_ENABLED[gEeprom.SCAN_LIST_DEFAULT] : true;
|
const bool enabled = (gEeprom.SCAN_LIST_DEFAULT < 5) ? gEeprom.SCAN_LIST_ENABLED[gEeprom.SCAN_LIST_DEFAULT] : true;
|
||||||
const int chan1 = -1;
|
const int chan1 = -1;
|
||||||
const int chan2 = -1;
|
const int chan2 = -1;
|
||||||
const int chan3 = -1;
|
const int chan3 = -1;
|
||||||
@@ -267,7 +267,7 @@ static void NextMemChannel(void)
|
|||||||
|
|
||||||
if (!enabled || chan == 0xff)
|
if (!enabled || chan == 0xff)
|
||||||
{
|
{
|
||||||
chan = RADIO_FindNextChannel(gNextMrChannel + gScanStateDir, gScanStateDir, (gEeprom.SCAN_LIST_DEFAULT < 3) ? true : false, gEeprom.SCAN_LIST_DEFAULT);
|
chan = RADIO_FindNextChannel(gNextMrChannel + gScanStateDir, gScanStateDir, (gEeprom.SCAN_LIST_DEFAULT < 5) ? true : false, gEeprom.SCAN_LIST_DEFAULT);
|
||||||
if (chan == 0xFF)
|
if (chan == 0xFF)
|
||||||
{ // no valid channel found
|
{ // no valid channel found
|
||||||
chan = MR_CHANNEL_FIRST;
|
chan = MR_CHANNEL_FIRST;
|
||||||
|
@@ -568,7 +568,7 @@ static void MAIN_Key_MENU(bool bKeyPressed, bool bKeyHeld)
|
|||||||
if (bKeyPressed) { // long press MENU key
|
if (bKeyPressed) { // long press MENU key
|
||||||
|
|
||||||
#ifdef ENABLE_FEAT_F4HWN
|
#ifdef ENABLE_FEAT_F4HWN
|
||||||
if(gScanStateDir != SCAN_OFF && gEeprom.SCAN_LIST_DEFAULT < 3)
|
if(gScanStateDir != SCAN_OFF && gEeprom.SCAN_LIST_DEFAULT < 5)
|
||||||
{
|
{
|
||||||
if(FUNCTION_IsRx())
|
if(FUNCTION_IsRx())
|
||||||
{
|
{
|
||||||
|
@@ -311,7 +311,7 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax)
|
|||||||
|
|
||||||
case MENU_S_LIST:
|
case MENU_S_LIST:
|
||||||
//*pMin = 0;
|
//*pMin = 0;
|
||||||
*pMax = 3;
|
*pMax = 5;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef ENABLE_DTMF_CALLING
|
#ifdef ENABLE_DTMF_CALLING
|
||||||
|
56
bitmaps.c
56
bitmaps.c
@@ -38,19 +38,6 @@ const uint8_t gFontKeyLock[1][9] =
|
|||||||
{0x7c, 0x46, 0x45, 0x45, 0x45, 0x45, 0x45, 0x46, 0x7c}
|
{0x7c, 0x46, 0x45, 0x45, 0x45, 0x45, 0x45, 0x46, 0x7c}
|
||||||
};
|
};
|
||||||
|
|
||||||
const uint8_t gFontScanAll[9] =
|
|
||||||
{
|
|
||||||
0b00111110,
|
|
||||||
0b01000001,
|
|
||||||
0b01000001,
|
|
||||||
0b00100010,
|
|
||||||
0b00011100,
|
|
||||||
0b00100010,
|
|
||||||
0b01000001,
|
|
||||||
0b01000001,
|
|
||||||
0b00111110
|
|
||||||
};
|
|
||||||
|
|
||||||
const uint8_t gFontLight[9] =
|
const uint8_t gFontLight[9] =
|
||||||
{
|
{
|
||||||
0b00001100,
|
0b00001100,
|
||||||
@@ -205,6 +192,49 @@ const uint8_t BITMAP_ScanList3[7] =
|
|||||||
0b01111111,
|
0b01111111,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const uint8_t BITMAP_ScanList4[7] =
|
||||||
|
{ // '0' symbol
|
||||||
|
0b01111111,
|
||||||
|
0b01111111,
|
||||||
|
0b01000011,
|
||||||
|
0b01011101,
|
||||||
|
0b01100001,
|
||||||
|
0b01111111,
|
||||||
|
0b01111111,
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t BITMAP_ScanList5[11] =
|
||||||
|
{
|
||||||
|
// 'All List' symbol
|
||||||
|
0b11111111,
|
||||||
|
0b11000011,
|
||||||
|
0b10111101,
|
||||||
|
0b10111101,
|
||||||
|
0b11011011,
|
||||||
|
0b11100111,
|
||||||
|
0b11011011,
|
||||||
|
0b10111101,
|
||||||
|
0b10111101,
|
||||||
|
0b11000011,
|
||||||
|
0b11111111
|
||||||
|
};
|
||||||
|
|
||||||
|
const uint8_t BITMAP_ScanList6[11] =
|
||||||
|
{
|
||||||
|
// 'All' symbol
|
||||||
|
0b00000000,
|
||||||
|
0b00111100,
|
||||||
|
0b01000010,
|
||||||
|
0b01000010,
|
||||||
|
0b00100100,
|
||||||
|
0b00011000,
|
||||||
|
0b00100100,
|
||||||
|
0b01000010,
|
||||||
|
0b01000010,
|
||||||
|
0b00111100,
|
||||||
|
0b00000000
|
||||||
|
};
|
||||||
|
|
||||||
const uint8_t BITMAP_compand[6] =
|
const uint8_t BITMAP_compand[6] =
|
||||||
{
|
{
|
||||||
0b00000000,
|
0b00000000,
|
||||||
|
@@ -11,7 +11,6 @@ extern const uint8_t gFontF[1][8];
|
|||||||
extern const uint8_t gFontS[1][6];
|
extern const uint8_t gFontS[1][6];
|
||||||
|
|
||||||
extern const uint8_t gFontKeyLock[1][9];
|
extern const uint8_t gFontKeyLock[1][9];
|
||||||
extern const uint8_t gFontScanAll[9];
|
|
||||||
extern const uint8_t gFontLight[9];
|
extern const uint8_t gFontLight[9];
|
||||||
|
|
||||||
extern const uint8_t gFontXB[2][6];
|
extern const uint8_t gFontXB[2][6];
|
||||||
@@ -34,6 +33,9 @@ extern const uint8_t BITMAP_VFO_NotDefault[8];
|
|||||||
extern const uint8_t BITMAP_ScanList1[7];
|
extern const uint8_t BITMAP_ScanList1[7];
|
||||||
extern const uint8_t BITMAP_ScanList2[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_ScanList4[7];
|
||||||
|
extern const uint8_t BITMAP_ScanList5[11];
|
||||||
|
extern const uint8_t BITMAP_ScanList6[11];
|
||||||
extern const uint8_t BITMAP_compand[6];
|
extern const uint8_t BITMAP_compand[6];
|
||||||
|
|
||||||
#ifndef ENABLE_CUSTOM_MENU_LAYOUT
|
#ifndef ENABLE_CUSTOM_MENU_LAYOUT
|
||||||
|
10
radio.c
10
radio.c
@@ -73,7 +73,7 @@ bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanL
|
|||||||
if (att.band > BAND7_470MHz)
|
if (att.band > BAND7_470MHz)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
if (!checkScanList || scanList > 2)
|
if (!checkScanList || scanList > 4)
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
//sprintf(str, "scanList %d / att.scanlist1 %d / att.scanlist2 %d / att.scanlist3 %d\n", scanList, att.scanlist1, att.scanlist2, att.scanlist3);
|
//sprintf(str, "scanList %d / att.scanlist1 %d / att.scanlist2 %d / att.scanlist3 %d\n", scanList, att.scanlist1, att.scanlist2, att.scanlist3);
|
||||||
@@ -92,6 +92,14 @@ bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanL
|
|||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
else if(scanList == 3 && (att.scanlist1 == 1 || att.scanlist2 == 1 || att.scanlist3 == 1))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
else if(scanList == 4 && (att.scanlist1 == 0 && att.scanlist2 == 0 && att.scanlist3 == 0))
|
||||||
|
{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
//sprintf(str, ">>> %d\n", scanList);
|
//sprintf(str, ">>> %d\n", scanList);
|
||||||
//LogUart(str);
|
//LogUart(str);
|
||||||
|
@@ -225,11 +225,11 @@ void SETTINGS_InitEEPROM(void)
|
|||||||
|
|
||||||
// 0F18..0F1F
|
// 0F18..0F1F
|
||||||
EEPROM_ReadBuffer(0x0F18, Data, 8);
|
EEPROM_ReadBuffer(0x0F18, Data, 8);
|
||||||
gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 3) ? Data[0] : 0; // we now have 'all' channel scan option
|
gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 5) ? Data[0] : 0; // we now have 'all' channel scan option
|
||||||
for (unsigned int i = 0; i < 2; i++)
|
for (unsigned int i = 0; i < 2; i++)
|
||||||
{
|
{
|
||||||
const unsigned int j = 1 + (i * 3);
|
const unsigned int j = 1 + (i * 3);
|
||||||
gEeprom.SCAN_LIST_ENABLED[i] = (Data[j + 0] < 2) ? Data[j] : false;
|
gEeprom.SCAN_LIST_ENABLED[i] = (Data[j + 0] < 5) ? Data[j] : false;
|
||||||
gEeprom.SCANLIST_PRIORITY_CH1[i] = Data[j + 1];
|
gEeprom.SCANLIST_PRIORITY_CH1[i] = Data[j + 1];
|
||||||
gEeprom.SCANLIST_PRIORITY_CH2[i] = Data[j + 2];
|
gEeprom.SCANLIST_PRIORITY_CH2[i] = Data[j + 2];
|
||||||
}
|
}
|
||||||
|
@@ -810,7 +810,11 @@ void UI_DisplayMenu(void)
|
|||||||
case MENU_S_LIST:
|
case MENU_S_LIST:
|
||||||
if (gSubMenuSelection < 3)
|
if (gSubMenuSelection < 3)
|
||||||
sprintf(String, "LIST%u", 1 + gSubMenuSelection);
|
sprintf(String, "LIST%u", 1 + gSubMenuSelection);
|
||||||
else
|
else if (gSubMenuSelection == 3)
|
||||||
|
strcpy(String, "NOT\nIN LISTS");
|
||||||
|
else if (gSubMenuSelection == 4)
|
||||||
|
strcpy(String, "ALL\nIN LISTS");
|
||||||
|
else if (gSubMenuSelection == 5)
|
||||||
strcpy(String, "ALL");
|
strcpy(String, "ALL");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@@ -105,7 +105,13 @@ void UI_DisplayStatus()
|
|||||||
memcpy(line + x + 2, BITMAP_ScanList3, sizeof(BITMAP_ScanList3));
|
memcpy(line + x + 2, BITMAP_ScanList3, sizeof(BITMAP_ScanList3));
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
memcpy(line + x, gFontScanAll, sizeof(gFontScanAll));
|
memcpy(line + x + 2, BITMAP_ScanList4, sizeof(BITMAP_ScanList4));
|
||||||
|
break;
|
||||||
|
case 4:
|
||||||
|
memcpy(line + x, BITMAP_ScanList5, sizeof(BITMAP_ScanList5));
|
||||||
|
break;
|
||||||
|
case 5:
|
||||||
|
memcpy(line + x, BITMAP_ScanList6, sizeof(BITMAP_ScanList6));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user