From b93aa24c40091269c90c9a6c3012c9b7ac6e872c Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Tue, 12 Sep 2023 19:53:54 +0100 Subject: [PATCH] RX can now be set from 18MHz to 1300MHz, though TX is still restricted. --- Makefile | 1 + README.md | 1 + app/app.c | 8 +++--- app/main.c | 3 +- app/menu.c | 6 ++-- app/scanner.h | 48 ++++++++++++++++--------------- bitmaps.c | 67 ++++++++++++++++++++++++++++++++++---------- bitmaps.h | 11 +++++++- firmware | Bin 172892 -> 172976 bytes firmware.bin | Bin 56736 -> 56696 bytes firmware.packed.bin | Bin 56754 -> 56714 bytes frequencies.c | 47 ++++++++++++++++++++----------- frequencies.h | 15 ++++++---- radio.c | 18 ++++++------ ui/main.c | 1 + ui/menu.c | 2 +- ui/menu.h | 2 +- ui/scanner.c | 58 ++++++++++++++++++++------------------ ui/status.c | 2 +- 19 files changed, 183 insertions(+), 107 deletions(-) diff --git a/Makefile b/Makefile index 65b6a5e..3909a88 100644 --- a/Makefile +++ b/Makefile @@ -100,6 +100,7 @@ CFLAGS += -DDISABLE_AIRCOPY CFLAGS += -DDISABLE_ALARM CFLAGS += -DKEEP_MEM_NAME CFLAGS += -DCHAN_NAME_FREQ +CFLAGS += -DRX_ANY_FREQ #CFLAGS += -DENABLE_TX_WHEN_AM #CFLAGS += -DSINGLE_VFO_CHAN #CFLAGS += -DBAND_SCOPE diff --git a/README.md b/README.md index 72d1c7e..e9e3ff4 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,7 @@ You can edit those changes by (currently) editing the MakeFile, look for these l * CFLAGS += -DDISABLE_ALARM .. remove the ALARM transmit option from the firmware * CFLAGS += -DKEEP_MEM_NAME .. keep the memory channels name when re-saving a channel * CFLAGS += -DCHAN_NAME_FREQ .. show the channel frequency (as well as channel number/name) +* CFLAGS += -DRX_ANY_FREQ .. allow RX on any frequency from 18MHz to 1300MHz * #CFLAGS += -DENABLE_TX_WHEN_AM .. enable TX when radio set to AM (radio does NOT do AM, the adverts are false) * #CFLAGS += -DSINGLE_VFO_CHAN .. (not yet implemented) show a single VFO/CHANNEL if dual-watch/cross-band are disabled * #CFLAGS += -DBAND_SCOPE .. (not yet implemented) add a band scope/spectrum/panadapter option diff --git a/app/app.c b/app/app.c index c6e06aa..88afaa4 100644 --- a/app/app.c +++ b/app/app.c @@ -440,12 +440,12 @@ void APP_SetFrequencyByStep(VFO_Info_t *pInfo, int8_t Step) { uint32_t Frequency = pInfo->ConfigRX.Frequency + (Step * pInfo->StepFrequency); - if (Frequency > gUpperLimitFrequencyBandTable[pInfo->Band]) - Frequency = gLowerLimitFrequencyBandTable[pInfo->Band]; - else if (Frequency < gLowerLimitFrequencyBandTable[pInfo->Band]) Frequency = FREQUENCY_FloorToStep(gUpperLimitFrequencyBandTable[pInfo->Band], pInfo->StepFrequency, gLowerLimitFrequencyBandTable[pInfo->Band]); - + else + if (Frequency > gUpperLimitFrequencyBandTable[pInfo->Band]) + Frequency = gLowerLimitFrequencyBandTable[pInfo->Band]; + pInfo->ConfigRX.Frequency = Frequency; } diff --git a/app/main.c b/app/main.c index 8630fd0..b37ca1c 100644 --- a/app/main.c +++ b/app/main.c @@ -104,7 +104,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) unsigned int i; for (i = 0; i < 7; i++) { - if (Frequency <= gUpperLimitFrequencyBandTable[i] && (gLowerLimitFrequencyBandTable[i] <= Frequency)) + if (Frequency >= gLowerLimitFrequencyBandTable[i] && Frequency <= gUpperLimitFrequencyBandTable[i]) { #ifndef DISABLE_VOICE gAnotherVoiceID = (VOICE_ID_t)Key; @@ -129,6 +129,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) return; } } + } } #ifndef DISABLE_NOAA diff --git a/app/menu.c b/app/menu.c index a3de621..cd613ae 100644 --- a/app/menu.c +++ b/app/menu.c @@ -160,7 +160,7 @@ int MENU_GetLimits(uint8_t Cursor, uint8_t *pMin, uint8_t *pMax) case MENU_TXP: case MENU_SFT_D: case MENU_TDR: - case MENU_WX: + case MENU_XB: #ifndef DISABLE_VOICE case MENU_VOICE: #endif @@ -419,7 +419,7 @@ void MENU_AcceptSetting(void) gUpdateStatus = true; return; - case MENU_WX: + case MENU_XB: #ifndef DISABLE_NOAA if (IS_NOAA_CHANNEL(gEeprom.ScreenChannel[0])) return; @@ -767,7 +767,7 @@ void MENU_ShowCurrentSetting(void) gSubMenuSelection = gEeprom.DUAL_WATCH; break; - case MENU_WX: + case MENU_XB: gSubMenuSelection = gEeprom.CROSS_BAND_RX_TX; break; diff --git a/app/scanner.h b/app/scanner.h index c5f5086..cb4ebe2 100644 --- a/app/scanner.h +++ b/app/scanner.h @@ -20,36 +20,38 @@ #include "dcs.h" #include "driver/keyboard.h" -enum SCAN_CssState_t { - SCAN_CSS_STATE_OFF = 0U, - SCAN_CSS_STATE_SCANNING = 1U, - SCAN_CSS_STATE_FOUND = 2U, - SCAN_CSS_STATE_FAILED = 3U, +enum SCAN_CssState_t +{ + SCAN_CSS_STATE_OFF = 0, + SCAN_CSS_STATE_SCANNING, + SCAN_CSS_STATE_FOUND, + SCAN_CSS_STATE_FAILED }; typedef enum SCAN_CssState_t SCAN_CssState_t; -enum { - SCAN_OFF = 0U, +enum +{ + SCAN_OFF = 0, }; -extern DCS_CodeType_t gScanCssResultType; -extern uint8_t gScanCssResultCode; -extern bool gFlagStartScan; -extern bool gFlagStopScan; -extern bool gScanSingleFrequency; -extern uint8_t gScannerEditState; -extern uint8_t gScanChannel; -extern uint32_t gScanFrequency; -extern bool gScanPauseMode; -extern SCAN_CssState_t gScanCssState; -extern volatile bool gScheduleScanListen; +extern DCS_CodeType_t gScanCssResultType; +extern uint8_t gScanCssResultCode; +extern bool gFlagStartScan; +extern bool gFlagStopScan; +extern bool gScanSingleFrequency; +extern uint8_t gScannerEditState; +extern uint8_t gScanChannel; +extern uint32_t gScanFrequency; +extern bool gScanPauseMode; +extern SCAN_CssState_t gScanCssState; +extern volatile bool gScheduleScanListen; extern volatile uint16_t ScanPauseDelayIn10msec; -extern uint8_t gScanProgressIndicator; -extern uint8_t gScanHitCount; -extern bool gScanUseCssResult; -extern uint8_t gScanState; -extern bool bScanKeepFrequency; +extern uint8_t gScanProgressIndicator; +extern uint8_t gScanHitCount; +extern bool gScanUseCssResult; +extern uint8_t gScanState; +extern bool bScanKeepFrequency; void SCANNER_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); void SCANNER_Start(void); diff --git a/bitmaps.c b/bitmaps.c index a40c4dd..d0bec09 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -174,12 +174,14 @@ const uint8_t BITMAP_VOX[] = 0b01000000, 0b00100000, 0b00011111, + 0b00000000, 0b00111110, 0b01000001, 0b01000001, 0b01000001, 0b00111110, + 0b00000000, 0b01100011, 0b00010100, @@ -188,21 +190,42 @@ const uint8_t BITMAP_VOX[] = 0b01100011 }; -const uint8_t BITMAP_WX[] = -{ - 0b00000000, - 0b01111111, - 0b00100000, - 0b00011000, - 0b00100000, - 0b01111111, - 0b00000000, - 0b01100011, - 0b00010100, - 0b00001000, - 0b00010100, - 0b01100011 -}; +#if 0 + const uint8_t BITMAP_WX[] = + { + 0b00000000, + 0b01111111, + 0b00100000, + 0b00011000, + 0b00100000, + 0b01111111, + + 0b00000000, + 0b01100011, + 0b00010100, + 0b00001000, + 0b00010100, + 0b01100011 + }; +#else + // 'XB' (cross-band) + const uint8_t BITMAP_XB[] = + { + 0b00000000, + 0b01100011, + 0b00010100, + 0b00001000, + 0b00010100, + 0b01100011, + + 0b00000000, + 0b01111111, + 0b01001001, + 0b01001001, + 0b01001001, + 0b00110110 + }; +#endif const uint8_t BITMAP_TDR[] = { @@ -212,6 +235,7 @@ const uint8_t BITMAP_TDR[] = 0b01000001, 0b01000001, 0b00111110, + 0b00000000, 0b01111111, 0b00100000, @@ -243,6 +267,7 @@ const uint8_t BITMAP_FM[] = 0b00001001, 0b00001001, 0b00000001, + 0b00000000, 0b01111111, 0b00000010, @@ -260,6 +285,7 @@ const uint8_t BITMAP_FM[] = 0b00001000, 0b00010000, 0b01111111, + 0b00000000, 0b01000110, 0b01001001, @@ -366,6 +392,7 @@ const uint8_t BITMAP_TX[] = 0b00000001, 0b00000001, 0b00000001, + 0b00000000, 0b01100011, 0b00100010, @@ -386,6 +413,7 @@ const uint8_t BITMAP_RX[] = 0b00011001, 0b00101001, 0b01000110, + 0b00000000, 0b01100011, 0b00100010, @@ -461,18 +489,21 @@ const uint8_t BITMAP_DTMF[] = 0b01000001, 0b01000001, 0b00111110, + 0b00000000, 0b00000001, 0b00000001, 0b01111111, 0b00000001, 0b00000001, + 0b00000000, 0b01111111, 0b00000010, 0b00001100, 0b00000010, 0b01111111, + 0b00000000, 0b01111111, 0b00001001, @@ -489,12 +520,14 @@ const uint8_t BITMAP_Scramble[] = 0b01001001, 0b01001001, 0b00110010, + 0b00000000, 0b00111110, 0b01000001, 0b01000001, 0b01000001, 0b00100010, + 0b00000000, 0b01111111, 0b00001001, @@ -571,6 +604,7 @@ const uint8_t BITMAP_AM[] = 0b00010001, 0b00010010, 0b01111100, + 0b00000000, 0b01111111, 0b00000010, @@ -587,6 +621,7 @@ const uint8_t BITMAP_CT[] = 0b01000001, 0b01000001, 0b00100010, + 0b00000000, 0b00000001, 0b00000001, @@ -603,12 +638,14 @@ const uint8_t BITMAP_DCS[] = 0b01000001, 0b01000001, 0b00111110, + 0b00000000, 0b00111110, 0b01000001, 0b01000001, 0b01000001, 0b00100010, + 0b00000000, 0b00100110, 0b01001001, diff --git a/bitmaps.h b/bitmaps.h index 7fa284a..c94c76a 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -13,19 +13,27 @@ extern const uint8_t BITMAP_BatteryLevel4[18]; extern const uint8_t BITMAP_BatteryLevel5[18]; extern const uint8_t BITMAP_USB_C[9]; + extern const uint8_t BITMAP_KeyLock[9]; extern const uint8_t BITMAP_F_Key[10]; extern const uint8_t BITMAP_VOX[18]; -extern const uint8_t BITMAP_WX[12]; +#if 0 + extern const uint8_t BITMAP_WX[12]; +#else + extern const uint8_t BITMAP_XB[12]; +#endif + extern const uint8_t BITMAP_TDR[12]; + #ifndef DISABLE_VOICE extern const uint8_t BITMAP_VoicePrompt[9]; #endif extern const uint8_t BITMAP_FM[12]; + #ifndef DISABLE_NOAA extern const uint8_t BITMAP_NOAA[12]; #endif @@ -54,6 +62,7 @@ extern const uint8_t BITMAP_ReverseMode[8]; extern const uint8_t BITMAP_NarrowBand[8]; extern const uint8_t BITMAP_DTMF[24]; + extern const uint8_t BITMAP_Scramble[18]; extern const uint8_t BITMAP_Add[8]; diff --git a/firmware b/firmware index d60bb5d2cf6616eed6afcb8db6339efdfabf61cf..944902f16de4ab38ab7244a1da37c64a8326d307 100644 GIT binary patch delta 17170 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 delta 17278 zcmdmRoa@dpt_cc^OC~BR%QoC%U;trO1`uFmU<6SNOdwLBVPc{@THS|PcSh2|Ns8~RtR0c;sgW3 z+7k>6sb|kRrk*`}@WA%3GK}?XOadpjmnk!L@iK;NXEbE=WE6b$OJJ|SR?ZLSp!B8f z(MF8VxfriZceZ8pX5aH)gMs72>giK$8K<)6{by8Q{V;dBp&jFM_V52d9JT54_KccL zg8!#`*)y(T+%^5XJ)<|H-*jgOMqT#cKOiMl)5{$gEt$lBPv7LgsK;nJ{h1vLQYVyl}+7>MLx2|B&X1>7o;lNJ@W$S_^aDLA8Y)3{}X~y5Py%`nd3#NGAsATC1dUMNH@m&!o2^ObeS*6dP`R@Xe(V{P+9G1Vo+dE6xhn+&Fd2xrjYUf`;Gq!8LS^Xe<)l zg97V^b<_F1789R{uNf_;EBY`>Gj?yc^6Iajk&N@EUk+i66<+;cxq?-j^}^rp1%Fn1OEj>3=$Y;u%DA1s?)U;cTxsZxSjN!Nqz!{h0N zF^u_)Nz)(3Fe-~?o@8Li;b2fO<6uz8Imy6~%fX;fv|Tcmk(*I6=_CU~1}Odn*c?D| z<{S(P3%D5+GN;?dF}`NJIbAcJQI_%4boY41lZ;N&1rr$WGp^kJF@e#Yk+FNaWfG%4 z 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 Y9m=H{CNH__!V5|n@Yvn__3CPN0Hm1$+5i9m delta 5220 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 K-F)`yYIXqWST#Zb diff --git a/firmware.packed.bin b/firmware.packed.bin index 63710d00b888aa07a23a453bac1c2d67a042e22d..43d8a301d2a29f7d4febfd65906a02d6e0c70574 100644 GIT binary patch delta 21555 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 Li^4soc-jB}xHZ6& delta 21596 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 Z%3^5mG~0h7@2^Nn*%NkQ?l0w+0{~HC^uhoD diff --git a/frequencies.c b/frequencies.c index b04cc26..f89b283 100644 --- a/frequencies.c +++ b/frequencies.c @@ -18,9 +18,16 @@ #include "misc.h" #include "settings.h" +const uint32_t bx_min_Hz = 1800000; // 18MHz +const uint32_t bx_max_Hz = 130000000; // 1300MHz + const uint32_t LowerLimitFrequencyBandTable[7] = { - 5000000, + #ifndef RX_ANY_FREQ + 5000000, + #else + 1800000, + #endif 10800000, 13600000, 17400000, @@ -48,7 +55,11 @@ const uint32_t UpperLimitFrequencyBandTable[7] = 34999990, 39999990, 46999990, - 60000000 + #ifndef RX_ANY_FREQ + 60000000 + #else + 130000000 + #endif }; #ifndef DISABLE_NOAA @@ -91,23 +102,27 @@ const uint32_t UpperLimitFrequencyBandTable[7] = FREQUENCY_Band_t FREQUENCY_GetBand(uint32_t Frequency) { - if (Frequency >= 5000000 && Frequency < 10800000) - return BAND1_50MHz; - if (Frequency >= 10800000 && Frequency < 13600000) - return BAND2_108MHz; - if (Frequency >= 13600000 && Frequency < 17400000) - return BAND3_136MHz; - if (Frequency >= 17400000 && Frequency < 35000000) - return BAND4_174MHz; - if (Frequency >= 35000000 && Frequency < 40000000) - return BAND5_350MHz; - if (Frequency >= 40000000 && Frequency < 47000000) - return BAND6_400MHz; - if (Frequency >= 47000000 && Frequency < 60000000) +// if (Frequency >= 60000000 && Frequency <= bx_max_Hz) +// return BAND7_470MHz; + if (Frequency >= 47000000) return BAND7_470MHz; + if (Frequency >= 40000000) + return BAND6_400MHz; + if (Frequency >= 35000000) + return BAND5_350MHz; + if (Frequency >= 17400000) + return BAND4_174MHz; + if (Frequency >= 13600000) + return BAND3_136MHz; + if (Frequency >= 10800000) + return BAND2_108MHz; +// if (Frequency >= 5000000) +// return BAND1_50MHz; +// if (Frequency >= bx_min_Hz) + return BAND1_50MHz; // TODO: Double check the assembly - return BAND6_400MHz; +// return BAND6_400MHz; } uint8_t FREQUENCY_CalculateOutputPower(uint8_t TxpLow, uint8_t TxpMid, uint8_t TxpHigh, int32_t LowerLimit, int32_t Middle, int32_t UpperLimit, int32_t Frequency) diff --git a/frequencies.h b/frequencies.h index 20eba98..1d64099 100644 --- a/frequencies.h +++ b/frequencies.h @@ -21,6 +21,9 @@ #include "radio.h" +extern const uint32_t bx_min_Hz; +extern const uint32_t bx_max_Hz; + enum FREQUENCY_Band_t { BAND1_50MHz = 0, @@ -34,13 +37,15 @@ enum FREQUENCY_Band_t typedef enum FREQUENCY_Band_t FREQUENCY_Band_t; -extern const uint32_t LowerLimitFrequencyBandTable[7]; -extern const uint32_t MiddleFrequencyBandTable[7]; -extern const uint32_t UpperLimitFrequencyBandTable[7]; +extern const uint32_t LowerLimitFrequencyBandTable[7]; +extern const uint32_t MiddleFrequencyBandTable[7]; +extern const uint32_t UpperLimitFrequencyBandTable[7]; + #ifndef DISABLE_NOAA - extern const uint32_t NoaaFrequencyTable[10]; + extern const uint32_t NoaaFrequencyTable[10]; #endif -extern const uint16_t StepFrequencyTable[6]; + +extern const uint16_t StepFrequencyTable[6]; FREQUENCY_Band_t FREQUENCY_GetBand(uint32_t Frequency); uint8_t FREQUENCY_CalculateOutputPower(uint8_t TxpLow, uint8_t TxpMid, uint8_t TxpHigh, int32_t LowerLimit, int32_t Middle, int32_t UpperLimit, int32_t Frequency); diff --git a/radio.c b/radio.c index 4ba9066..6e357c5 100644 --- a/radio.c +++ b/radio.c @@ -351,6 +351,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) else if (Channel >= FREQ_CHANNEL_FIRST) Frequency = FREQUENCY_FloorToStep(Frequency, gEeprom.VfoInfo[VFO].StepFrequency, gLowerLimitFrequencyBandTable[Band]); + pRadio->ConfigRX.Frequency = Frequency; if (Frequency >= 10800000 && Frequency < 13600000) @@ -438,15 +439,14 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3); - pInfo->TXP_CalculatedSetting = - FREQUENCY_CalculateOutputPower( - Txp[0], - Txp[1], - Txp[2], - LowerLimitFrequencyBandTable[Band], - MiddleFrequencyBandTable[Band], - UpperLimitFrequencyBandTable[Band], - pInfo->pTX->Frequency); + pInfo->TXP_CalculatedSetting = FREQUENCY_CalculateOutputPower( + Txp[0], + Txp[1], + Txp[2], + LowerLimitFrequencyBandTable[Band], + MiddleFrequencyBandTable[Band], + UpperLimitFrequencyBandTable[Band], + pInfo->pTX->Frequency); } void RADIO_ApplyOffset(VFO_Info_t *pInfo) diff --git a/ui/main.c b/ui/main.c index 8fbc57c..bffa730 100644 --- a/ui/main.c +++ b/ui/main.c @@ -126,6 +126,7 @@ void UI_DisplayMain(void) if (bIsSameVfo) memcpy(pLine0 + 2, BITMAP_VFO_Default, sizeof(BITMAP_VFO_Default)); else + //if (gEeprom.CROSS_BAND_RX_TX != CROSS_BAND_OFF) memcpy(pLine0 + 2, BITMAP_VFO_NotDefault, sizeof(BITMAP_VFO_NotDefault)); } diff --git a/ui/menu.c b/ui/menu.c index d588895..ff7a288 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -438,7 +438,7 @@ void UI_DisplayMenu(void) break; case MENU_TDR: - case MENU_WX: + case MENU_XB: strcpy(String, gSubMenu_CHAN[gSubMenuSelection]); break; diff --git a/ui/menu.h b/ui/menu.h index abb3f68..626115a 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -39,7 +39,7 @@ enum MENU_VOX, MENU_ABR, MENU_TDR, - MENU_WX, + MENU_XB, MENU_BEEP, MENU_TOT, #ifndef DISABLE_VOICE diff --git a/ui/scanner.c b/ui/scanner.c index c953774..738260d 100644 --- a/ui/scanner.c +++ b/ui/scanner.c @@ -26,56 +26,60 @@ void UI_DisplayScanner(void) { - char String[16]; - bool bCentered; + char String[16]; + bool bCentered; uint8_t Start; memset(gFrameBuffer, 0, sizeof(gFrameBuffer)); - memset(String, 0, sizeof(String)); - if (gScanSingleFrequency || (gScanCssState != SCAN_CSS_STATE_OFF && gScanCssState != SCAN_CSS_STATE_FAILED)) { + memset(String, 0, sizeof(String)); + if (gScanSingleFrequency || (gScanCssState != SCAN_CSS_STATE_OFF && gScanCssState != SCAN_CSS_STATE_FAILED)) sprintf(String, "FREQ:%.5f", gScanFrequency * 1e-05); - } else { + else sprintf(String, "FREQ:**.*****"); - } UI_PrintString(String, 2, 0, 1, 8); - memset(String, 0, sizeof(String)); - if (gScanCssState < SCAN_CSS_STATE_FOUND || !gScanUseCssResult) { + memset(String, 0, sizeof(String)); + if (gScanCssState < SCAN_CSS_STATE_FOUND || !gScanUseCssResult) sprintf(String, "CTC:******"); - } else if (gScanCssResultType == CODE_TYPE_CONTINUOUS_TONE) { + else + if (gScanCssResultType == CODE_TYPE_CONTINUOUS_TONE) sprintf(String, "CTC:%.1fHz", CTCSS_Options[gScanCssResultCode] * 0.1); - } else { + else sprintf(String, "DCS:D%03oN", DCS_Options[gScanCssResultCode]); - } - UI_PrintString(String, 2, 0, 3, 8); - memset(String, 0, sizeof(String)); - if (gScannerEditState == 2) { + memset(String, 0, sizeof(String)); + if (gScannerEditState == 2) + { strcpy(String, "SAVE?"); - Start = 0; + + Start = 0; bCentered = 1; - } else { - if (gScannerEditState == 1) { + } + else + { + if (gScannerEditState == 1) + { strcpy(String, "SAVE:"); UI_GenerateChannelStringEx(String + 5, gShowChPrefix, gScanChannel); - } else if (gScanCssState < SCAN_CSS_STATE_FOUND) { + } + else + if (gScanCssState < SCAN_CSS_STATE_FOUND) + { strcpy(String, "SCAN"); memset(String + 4, '.', (gScanProgressIndicator & 7) + 1); - } else { - if (gScanCssState == SCAN_CSS_STATE_FOUND) { - strcpy(String, "SCAN CMP."); - } else { - strcpy(String, "SCAN FAIL."); - } } - Start = 2; + else + if (gScanCssState == SCAN_CSS_STATE_FOUND) + strcpy(String, "SCAN CMP."); + else + strcpy(String, "SCAN FAIL."); + + Start = 2; bCentered = 0; } - UI_PrintString(String, Start, bCentered ? 127 : 0, 5, 8); ST7565_BlitFullScreen(); } - diff --git a/ui/status.c b/ui/status.c index f19c4af..2e91bf3 100644 --- a/ui/status.c +++ b/ui/status.c @@ -65,7 +65,7 @@ void UI_DisplayStatus(void) memcpy(gStatusLine + 71, BITMAP_VOX, sizeof(BITMAP_VOX)); if (gEeprom.CROSS_BAND_RX_TX != CROSS_BAND_OFF) - memcpy(gStatusLine + 58, BITMAP_WX, sizeof(BITMAP_WX)); + memcpy(gStatusLine + 58, BITMAP_XB, sizeof(BITMAP_XB)); if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) memcpy(gStatusLine + 45, BITMAP_TDR, sizeof(BITMAP_TDR));