mirror of
https://github.com/egzumer/uv-k5-firmware-custom
synced 2024-11-21 17:19:57 +00:00
Added scan indicator (if NOAA disabled)
This commit is contained in:
parent
777117c76b
commit
784a4dd79f
@ -80,6 +80,7 @@ static void ACTION_Monitor(void)
|
||||
RADIO_SetupRegisters(true);
|
||||
|
||||
APP_StartListening(FUNCTION_MONITOR);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
@ -184,6 +185,10 @@ void ACTION_Scan(bool bRestart)
|
||||
AUDIO_SetVoiceID(0, VOICE_ID_SCANNING_BEGIN);
|
||||
AUDIO_PlaySingleVoice(true);
|
||||
#endif
|
||||
|
||||
// let the user see DW is not active
|
||||
gDualWatchActive = false;
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -195,6 +195,7 @@ static void AIRCOPY_Key_MENU(bool bKeyPressed, bool bKeyHeld)
|
||||
g_FSK_Buffer[35] = 0xDCBA;
|
||||
|
||||
AIRCOPY_SendMessage();
|
||||
|
||||
GUI_DisplayScreen();
|
||||
|
||||
gAircopyState = AIRCOPY_TRANSFER;
|
||||
|
89
app/app.c
89
app/app.c
@ -638,6 +638,12 @@ static void DUALWATCH_Alternate(void)
|
||||
{ // toggle between VFO's
|
||||
gEeprom.RX_CHANNEL = (1 - gEeprom.RX_CHANNEL) & 1;
|
||||
gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_CHANNEL];
|
||||
|
||||
if (!gDualWatchActive)
|
||||
{ // let the user see DW is active
|
||||
gDualWatchActive = true;
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
}
|
||||
|
||||
RADIO_SetupRegisters(false);
|
||||
@ -647,12 +653,6 @@ static void DUALWATCH_Alternate(void)
|
||||
#else
|
||||
gDualWatchCountdown_10ms = dual_watch_count_toggle_10ms;
|
||||
#endif
|
||||
|
||||
if (!gDualWatchActive)
|
||||
{ // let the user see DW is active
|
||||
gDualWatchActive = true;
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
}
|
||||
|
||||
void APP_CheckRadioInterrupts(void)
|
||||
@ -1200,8 +1200,10 @@ void APP_CheckKeys(void)
|
||||
// scan the hardware keys
|
||||
Key = KEYBOARD_Poll();
|
||||
|
||||
if (Key != KEY_INVALID)
|
||||
boot_counter_10ms = 0;
|
||||
#ifdef ENABLE_BOOT_BEEPS
|
||||
if (Key != KEY_INVALID)
|
||||
boot_counter_10ms = 0; // cancel bbot beeps if any key pressed
|
||||
#endif
|
||||
|
||||
if (gKeyReading0 != Key)
|
||||
{ // new key pressed
|
||||
@ -1300,10 +1302,7 @@ void APP_TimeSlice10ms(void)
|
||||
if (gCurrentFunction != FUNCTION_TRANSMIT)
|
||||
{
|
||||
if (gUpdateStatus)
|
||||
{
|
||||
UI_DisplayStatus(false);
|
||||
gUpdateStatus = false;
|
||||
}
|
||||
|
||||
if (gUpdateDisplay)
|
||||
{
|
||||
@ -1406,9 +1405,9 @@ void APP_TimeSlice10ms(void)
|
||||
BK4819_CssScanResult_t ScanResult;
|
||||
uint16_t CtcssFreq;
|
||||
|
||||
if (gScanDelay > 0)
|
||||
if (gScanDelay_10ms > 0)
|
||||
{
|
||||
gScanDelay--;
|
||||
gScanDelay_10ms--;
|
||||
APP_CheckKeys();
|
||||
return;
|
||||
}
|
||||
@ -1451,9 +1450,11 @@ void APP_TimeSlice10ms(void)
|
||||
gScanProgressIndicator = 0;
|
||||
gScanCssState = SCAN_CSS_STATE_SCANNING;
|
||||
GUI_SelectNextDisplay(DISPLAY_SCANNER);
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
|
||||
gScanDelay = scan_delay_10ms;
|
||||
//gScanDelay_10ms = scan_delay_10ms;
|
||||
gScanDelay_10ms = 20 / 10; // 20ms
|
||||
break;
|
||||
|
||||
case SCAN_CSS_STATE_SCANNING:
|
||||
@ -1472,6 +1473,7 @@ void APP_TimeSlice10ms(void)
|
||||
gScanCssResultType = CODE_TYPE_DIGITAL;
|
||||
gScanCssState = SCAN_CSS_STATE_FOUND;
|
||||
gScanUseCssResult = true;
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1486,6 +1488,7 @@ void APP_TimeSlice10ms(void)
|
||||
{
|
||||
gScanCssState = SCAN_CSS_STATE_FOUND;
|
||||
gScanUseCssResult = true;
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
}
|
||||
else
|
||||
@ -1499,7 +1502,7 @@ void APP_TimeSlice10ms(void)
|
||||
if (gScanCssState < SCAN_CSS_STATE_FOUND)
|
||||
{
|
||||
BK4819_SetScanFrequency(gScanFrequency);
|
||||
gScanDelay = scan_delay_10ms;
|
||||
gScanDelay_10ms = scan_delay_10ms;
|
||||
break;
|
||||
}
|
||||
|
||||
@ -1730,7 +1733,10 @@ void APP_TimeSlice500ms(void)
|
||||
gScanCssState = SCAN_CSS_STATE_FOUND;
|
||||
else
|
||||
gScanCssState = SCAN_CSS_STATE_FAILED;
|
||||
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
|
||||
gUpdateDisplay = true;
|
||||
}
|
||||
|
||||
@ -1840,6 +1846,20 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
{
|
||||
bool bFlag = false;
|
||||
|
||||
// const bool backlight_was_on = (gBacklightCountdown > 0 || gEeprom.BACKLIGHT >= 5);
|
||||
const bool backlight_was_on = GPIO_CheckBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT);
|
||||
|
||||
// if (Key == KEY_EXIT && bKeyPressed && !bKeyHeld && !backlight_was_on)
|
||||
if (bKeyPressed && !bKeyHeld && !backlight_was_on)
|
||||
{ // just turn the light on for now
|
||||
BACKLIGHT_TurnOn();
|
||||
// gKeyReading0 = KEY_INVALID;
|
||||
// gKeyReading1 = KEY_INVALID;
|
||||
gDebounceCounter = 0;
|
||||
AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL);
|
||||
return;
|
||||
}
|
||||
|
||||
if (gCurrentFunction == FUNCTION_POWER_SAVE)
|
||||
FUNCTION_Select(FUNCTION_FOREGROUND);
|
||||
|
||||
@ -1939,25 +1959,28 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld)
|
||||
}
|
||||
}
|
||||
|
||||
if ((gScanState != SCAN_OFF &&
|
||||
Key != KEY_PTT &&
|
||||
Key != KEY_UP &&
|
||||
Key != KEY_DOWN &&
|
||||
Key != KEY_EXIT &&
|
||||
Key != KEY_STAR)
|
||||
||
|
||||
(gCssScanMode != CSS_SCAN_MODE_OFF &&
|
||||
Key != KEY_PTT &&
|
||||
Key != KEY_UP &&
|
||||
Key != KEY_DOWN &&
|
||||
Key != KEY_EXIT &&
|
||||
Key != KEY_STAR &&
|
||||
Key != KEY_MENU))
|
||||
{
|
||||
if (!bKeyPressed || bKeyHeld)
|
||||
return;
|
||||
if (gScanState != SCAN_OFF &&
|
||||
Key != KEY_PTT &&
|
||||
Key != KEY_UP &&
|
||||
Key != KEY_DOWN &&
|
||||
Key != KEY_EXIT &&
|
||||
Key != KEY_STAR)
|
||||
{ // scanning
|
||||
if (bKeyPressed && !bKeyHeld)
|
||||
AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL);
|
||||
return;
|
||||
}
|
||||
|
||||
AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL);
|
||||
if (gCssScanMode != CSS_SCAN_MODE_OFF &&
|
||||
Key != KEY_PTT &&
|
||||
Key != KEY_UP &&
|
||||
Key != KEY_DOWN &&
|
||||
Key != KEY_EXIT &&
|
||||
Key != KEY_STAR &&
|
||||
Key != KEY_MENU)
|
||||
{ // code scanning
|
||||
if (bKeyPressed && !bKeyHeld)
|
||||
AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL);
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -149,11 +149,11 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep)
|
||||
|
||||
case KEY_4:
|
||||
gWasFKeyPressed = false;
|
||||
gUpdateStatus = true;
|
||||
gFlagStartScan = true;
|
||||
gScanSingleFrequency = false;
|
||||
gBackupCROSS_BAND_RX_TX = gEeprom.CROSS_BAND_RX_TX;
|
||||
gEeprom.CROSS_BAND_RX_TX = CROSS_BAND_OFF;
|
||||
gUpdateStatus = true;
|
||||
|
||||
if (beep)
|
||||
gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL;
|
||||
|
10
app/menu.c
10
app/menu.c
@ -124,7 +124,9 @@
|
||||
|
||||
void MENU_StartCssScan(int8_t Direction)
|
||||
{
|
||||
gCssScanMode = CSS_SCAN_MODE_SCANNING;
|
||||
gCssScanMode = CSS_SCAN_MODE_SCANNING;
|
||||
gUpdateStatus = true;
|
||||
|
||||
gMenuScrollDirection = Direction;
|
||||
|
||||
RADIO_SelectVfos();
|
||||
@ -137,7 +139,8 @@ void MENU_StartCssScan(int8_t Direction)
|
||||
|
||||
void MENU_StopCssScan(void)
|
||||
{
|
||||
gCssScanMode = CSS_SCAN_MODE_OFF;
|
||||
gCssScanMode = CSS_SCAN_MODE_OFF;
|
||||
gUpdateStatus = true;
|
||||
|
||||
RADIO_SetupRegisters(true);
|
||||
}
|
||||
@ -1262,7 +1265,8 @@ static void MENU_Key_MENU(bool bKeyPressed, bool bKeyHeld)
|
||||
gIsInSubMenu = false;
|
||||
}
|
||||
|
||||
gCssScanMode = CSS_SCAN_MODE_OFF;
|
||||
gCssScanMode = CSS_SCAN_MODE_OFF;
|
||||
gUpdateStatus = true;
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
if (gMenuCursor == MENU_SCR)
|
||||
|
@ -207,6 +207,8 @@ static void SCANNER_Key_MENU(bool bKeyPressed, bool bKeyHeld)
|
||||
gAnotherVoiceID = VOICE_ID_MEMORY_CHANNEL;
|
||||
#endif
|
||||
gRequestDisplayScreen = DISPLAY_SCANNER;
|
||||
|
||||
gUpdateStatus = true;
|
||||
break;
|
||||
|
||||
case 1:
|
||||
@ -380,18 +382,24 @@ void SCANNER_Start(void)
|
||||
gScanCssState = SCAN_CSS_STATE_SCANNING;
|
||||
gScanFrequency = gRxVfo->pRX->Frequency;
|
||||
gStepSetting = gRxVfo->STEP_SETTING;
|
||||
|
||||
BK4819_PickRXFilterPathBasedOnFrequency(gScanFrequency);
|
||||
BK4819_SetScanFrequency(gScanFrequency);
|
||||
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
else
|
||||
{
|
||||
gScanCssState = SCAN_CSS_STATE_OFF;
|
||||
gScanFrequency = 0xFFFFFFFF;
|
||||
|
||||
BK4819_PickRXFilterPathBasedOnFrequency(0xFFFFFFFF);
|
||||
BK4819_EnableFrequencyScan();
|
||||
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
|
||||
gScanDelay = scan_delay_10ms;
|
||||
gScanDelay_10ms = scan_delay_10ms;
|
||||
gScanCssResultCode = 0xFF;
|
||||
gScanCssResultType = 0xFF;
|
||||
gScanHitCount = 0;
|
||||
@ -441,4 +449,6 @@ void SCANNER_Stop(void)
|
||||
}
|
||||
|
||||
SETTINGS_SaveVfoIndices();
|
||||
|
||||
gUpdateStatus = true;
|
||||
}
|
||||
|
104
bitmaps.c
104
bitmaps.c
@ -4,19 +4,32 @@
|
||||
// all these images are on their right sides
|
||||
// turn your monitor 90deg anti-clockwise to see the images
|
||||
|
||||
const uint8_t BITMAP_PowerSave[] =
|
||||
{ // "S"
|
||||
0b00000000,
|
||||
0b00100110,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b00110010
|
||||
const uint8_t BITMAP_PowerSave[8] =
|
||||
{
|
||||
#if 0
|
||||
// "S"
|
||||
0b00000000,
|
||||
0b00100110,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b00110010
|
||||
#else
|
||||
// "PS"
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
0b00010001,
|
||||
0b00001110,
|
||||
0b00000000,
|
||||
0b01000110,
|
||||
0b01001001,
|
||||
0b00110001
|
||||
#endif
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_BatteryLevel1[] =
|
||||
const uint8_t BITMAP_BatteryLevel1[18] =
|
||||
{
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
@ -38,7 +51,7 @@ const uint8_t BITMAP_BatteryLevel1[] =
|
||||
0b01111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_BatteryLevel2[] =
|
||||
const uint8_t BITMAP_BatteryLevel2[18] =
|
||||
{
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
@ -60,7 +73,7 @@ const uint8_t BITMAP_BatteryLevel2[] =
|
||||
0b01111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_BatteryLevel3[] =
|
||||
const uint8_t BITMAP_BatteryLevel3[18] =
|
||||
{
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
@ -82,7 +95,7 @@ const uint8_t BITMAP_BatteryLevel3[] =
|
||||
0b01111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_BatteryLevel4[] =
|
||||
const uint8_t BITMAP_BatteryLevel4[18] =
|
||||
{
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
@ -104,7 +117,7 @@ const uint8_t BITMAP_BatteryLevel4[] =
|
||||
0b01111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_BatteryLevel5[] =
|
||||
const uint8_t BITMAP_BatteryLevel5[18] =
|
||||
{
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
@ -126,7 +139,7 @@ const uint8_t BITMAP_BatteryLevel5[] =
|
||||
0b01111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_USB_C[] =
|
||||
const uint8_t BITMAP_USB_C[9] =
|
||||
{ // USB symbol
|
||||
0b00000000,
|
||||
0b00011100,
|
||||
@ -139,7 +152,7 @@ const uint8_t BITMAP_USB_C[] =
|
||||
0b00011100
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_KeyLock[] =
|
||||
const uint8_t BITMAP_KeyLock[9] =
|
||||
{ // padlock symbol
|
||||
0b00000000,
|
||||
0b01111100,
|
||||
@ -152,7 +165,7 @@ const uint8_t BITMAP_KeyLock[] =
|
||||
0b01111100
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_F_Key[] =
|
||||
const uint8_t BITMAP_F_Key[10] =
|
||||
{ // F-Key symbol
|
||||
0b11111111,
|
||||
0b10000001,
|
||||
@ -166,7 +179,7 @@ const uint8_t BITMAP_F_Key[] =
|
||||
0b11111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_VOX[] =
|
||||
const uint8_t BITMAP_VOX[18] =
|
||||
{ // "VOX"
|
||||
0b00000000,
|
||||
0b00011111,
|
||||
@ -191,7 +204,7 @@ const uint8_t BITMAP_VOX[] =
|
||||
};
|
||||
|
||||
#if 0
|
||||
const uint8_t BITMAP_WX[] =
|
||||
const uint8_t BITMAP_WX[12] =
|
||||
{ // "WX"
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
@ -209,7 +222,7 @@ const uint8_t BITMAP_VOX[] =
|
||||
};
|
||||
#else
|
||||
// 'XB' (cross-band)
|
||||
const uint8_t BITMAP_XB[] =
|
||||
const uint8_t BITMAP_XB[12] =
|
||||
{ // "XB"
|
||||
0b00000000,
|
||||
0b01100011,
|
||||
@ -227,7 +240,7 @@ const uint8_t BITMAP_VOX[] =
|
||||
};
|
||||
#endif
|
||||
|
||||
const uint8_t BITMAP_TDR1[] =
|
||||
const uint8_t BITMAP_TDR1[12] =
|
||||
{ // "DW"
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
@ -244,7 +257,7 @@ const uint8_t BITMAP_TDR1[] =
|
||||
0b01111111
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_TDR2[] =
|
||||
const uint8_t BITMAP_TDR2[12] =
|
||||
{ // "--"
|
||||
0b00000000,
|
||||
0b00010000,
|
||||
@ -262,7 +275,7 @@ const uint8_t BITMAP_TDR2[] =
|
||||
};
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
const uint8_t BITMAP_VoicePrompt[] =
|
||||
const uint8_t BITMAP_VoicePrompt[9] =
|
||||
{
|
||||
0b00000000,
|
||||
0b00011000,
|
||||
@ -277,7 +290,7 @@ const uint8_t BITMAP_TDR2[] =
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_FMRADIO
|
||||
const uint8_t BITMAP_FM[] =
|
||||
const uint8_t BITMAP_FM[12] =
|
||||
{ // "FM"
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
@ -296,7 +309,7 @@ const uint8_t BITMAP_TDR2[] =
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_NOAA
|
||||
const uint8_t BITMAP_NOAA[] =
|
||||
const uint8_t BITMAP_NOAA[12] =
|
||||
{ // "NS"
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
@ -312,9 +325,26 @@ const uint8_t BITMAP_TDR2[] =
|
||||
0b01001001,
|
||||
0b00110001
|
||||
};
|
||||
#else
|
||||
const uint8_t BITMAP_SC[12] =
|
||||
{ // "SC"
|
||||
0b00000000,
|
||||
0b01000110,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b01001001,
|
||||
0b00110001,
|
||||
|
||||
0b00000000,
|
||||
0b00111110,
|
||||
0b01000001,
|
||||
0b01000001,
|
||||
0b01000001,
|
||||
0b00100010
|
||||
};
|
||||
#endif
|
||||
|
||||
const uint8_t BITMAP_Antenna[] =
|
||||
const uint8_t BITMAP_Antenna[5] =
|
||||
{
|
||||
0b00000011,
|
||||
0b00000101,
|
||||
@ -323,49 +353,49 @@ const uint8_t BITMAP_Antenna[] =
|
||||
0b00000011
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_AntennaLevel1[] =
|
||||
const uint8_t BITMAP_AntennaLevel1[3] =
|
||||
{
|
||||
0b01100000,
|
||||
0b01100000,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_AntennaLevel2[] =
|
||||
const uint8_t BITMAP_AntennaLevel2[3] =
|
||||
{
|
||||
0b01110000,
|
||||
0b01110000,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_AntennaLevel3[] =
|
||||
const uint8_t BITMAP_AntennaLevel3[3] =
|
||||
{
|
||||
0b01111000,
|
||||
0b01111000,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_AntennaLevel4[] =
|
||||
const uint8_t BITMAP_AntennaLevel4[3] =
|
||||
{
|
||||
0b01111100,
|
||||
0b01111100,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_AntennaLevel5[] =
|
||||
const uint8_t BITMAP_AntennaLevel5[3] =
|
||||
{
|
||||
0b01111110,
|
||||
0b01111110,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_AntennaLevel6[] =
|
||||
const uint8_t BITMAP_AntennaLevel6[3] =
|
||||
{
|
||||
0b01111111,
|
||||
0b01111111,
|
||||
0b00000000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_CurrentIndicator[] =
|
||||
const uint8_t BITMAP_CurrentIndicator[8] =
|
||||
{
|
||||
0b11111111,
|
||||
0b11111111,
|
||||
@ -377,7 +407,7 @@ const uint8_t BITMAP_CurrentIndicator[] =
|
||||
0b00011000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_VFO_Default[] =
|
||||
const uint8_t BITMAP_VFO_Default[8] =
|
||||
{
|
||||
0b00000000,
|
||||
0b01111111,
|
||||
@ -389,7 +419,7 @@ const uint8_t BITMAP_VFO_Default[] =
|
||||
0b00001000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_VFO_NotDefault[] =
|
||||
const uint8_t BITMAP_VFO_NotDefault[8] =
|
||||
{
|
||||
0b00000000,
|
||||
0b01000001,
|
||||
@ -401,7 +431,7 @@ const uint8_t BITMAP_VFO_NotDefault[] =
|
||||
0b00001000
|
||||
};
|
||||
|
||||
const uint8_t BITMAP_ScanList[] =
|
||||
const uint8_t BITMAP_ScanList[6] =
|
||||
{ // diamond symbol
|
||||
0b00001000,
|
||||
0b00011100,
|
||||
|
@ -39,6 +39,8 @@ extern const uint8_t BITMAP_TDR2[12];
|
||||
|
||||
#ifdef ENABLE_NOAA
|
||||
extern const uint8_t BITMAP_NOAA[12];
|
||||
#else
|
||||
extern const uint8_t BITMAP_SC[12];
|
||||
#endif
|
||||
|
||||
extern const uint8_t BITMAP_Antenna[5];
|
||||
|
BIN
firmware.bin
BIN
firmware.bin
Binary file not shown.
Binary file not shown.
2
misc.c
2
misc.c
@ -167,7 +167,7 @@ bool gPttIsPressed;
|
||||
uint8_t gPttDebounceCounter;
|
||||
uint8_t gMenuListCount;
|
||||
uint8_t gBackupCROSS_BAND_RX_TX;
|
||||
uint8_t gScanDelay;
|
||||
uint8_t gScanDelay_10ms;
|
||||
#ifdef ENABLE_AIRCOPY
|
||||
uint8_t gAircopySendCountdown;
|
||||
#endif
|
||||
|
2
misc.h
2
misc.h
@ -223,7 +223,7 @@ extern bool gPttIsPressed;
|
||||
extern uint8_t gPttDebounceCounter;
|
||||
extern uint8_t gMenuListCount;
|
||||
extern uint8_t gBackupCROSS_BAND_RX_TX;
|
||||
extern uint8_t gScanDelay;
|
||||
extern uint8_t gScanDelay_10ms;
|
||||
#ifdef ENABLE_AIRCOPY
|
||||
extern uint8_t gAircopySendCountdown;
|
||||
#endif
|
||||
|
@ -436,7 +436,7 @@ void UI_DisplayMain(void)
|
||||
String[0] = '?';
|
||||
switch (gEeprom.VfoInfo[vfo_num].CHANNEL_BANDWIDTH)
|
||||
{
|
||||
case BANDWIDTH_WIDE: String[0] = 'W'; break;
|
||||
// case BANDWIDTH_WIDE: String[0] = 'W'; break;
|
||||
case BANDWIDTH_NARROW: String[0] = 'N'; break;
|
||||
}
|
||||
String[1] = '\0';
|
||||
|
24
ui/status.c
24
ui/status.c
@ -16,6 +16,7 @@
|
||||
|
||||
#include <string.h>
|
||||
|
||||
#include "app/scanner.h"
|
||||
#ifdef ENABLE_FMRADIO
|
||||
#include "app/fm.h"
|
||||
#endif
|
||||
@ -26,11 +27,13 @@
|
||||
#include "helper/battery.h"
|
||||
#include "misc.h"
|
||||
#include "settings.h"
|
||||
//#include "ui/helper.h"
|
||||
#include "ui/ui.h"
|
||||
#include "ui/status.h"
|
||||
|
||||
void UI_DisplayStatus(const bool test_display)
|
||||
{
|
||||
gUpdateStatus = false;
|
||||
|
||||
memset(gStatusLine, 0, sizeof(gStatusLine));
|
||||
|
||||
if (gCurrentFunction == FUNCTION_POWER_SAVE || test_display)
|
||||
@ -39,24 +42,37 @@ void UI_DisplayStatus(const bool test_display)
|
||||
#ifdef ENABLE_NOAA
|
||||
if (gIsNoaaMode || test_display)
|
||||
memmove(gStatusLine + 7, BITMAP_NOAA, sizeof(BITMAP_NOAA));
|
||||
#else
|
||||
if (gScanState != SCAN_OFF ||
|
||||
gCssScanMode != CSS_SCAN_MODE_OFF ||
|
||||
gScanCssState != SCAN_CSS_STATE_OFF ||
|
||||
gScreenToDisplay == DISPLAY_SCANNER ||
|
||||
test_display)
|
||||
memmove(gStatusLine + 7, BITMAP_SC, sizeof(BITMAP_SC));
|
||||
#endif
|
||||
|
||||
if (gSetting_KILLED || test_display)
|
||||
memset(gStatusLine + 21, 0xFF, 10);
|
||||
#ifdef ENABLE_FMRADIO
|
||||
if (gSetting_KILLED)
|
||||
memset(gStatusLine + 21, 0xFF, 10);
|
||||
else
|
||||
if (gFmRadioMode || test_display)
|
||||
memmove(gStatusLine + 21, BITMAP_FM, sizeof(BITMAP_FM));
|
||||
#else
|
||||
if (test_display)
|
||||
memset(gStatusLine + 21, 0xFF, 10);
|
||||
#endif
|
||||
|
||||
#ifdef ENABLE_VOICE
|
||||
if (gEeprom.VOICE_PROMPT != VOICE_PROMPT_OFF || test_display)
|
||||
memmove(gStatusLine + 34, BITMAP_VoicePrompt, sizeof(BITMAP_VoicePrompt));
|
||||
#else
|
||||
if (test_display)
|
||||
memset(gStatusLine + 35, 0xFF, 8);
|
||||
#endif
|
||||
|
||||
if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF || test_display)
|
||||
{
|
||||
if (gDualWatchActive)
|
||||
if (gDualWatchActive || test_display)
|
||||
memmove(gStatusLine + 45, BITMAP_TDR1, sizeof(BITMAP_TDR1));
|
||||
else
|
||||
memmove(gStatusLine + 45, BITMAP_TDR2, sizeof(BITMAP_TDR2));
|
||||
|
Loading…
Reference in New Issue
Block a user