From 0176cb4214aa47769ca6966e0d241d027d5f4bf4 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sun, 10 Sep 2023 10:28:30 +0100 Subject: [PATCH] Fixed channel display new bug --- Makefile | 1 + README.md | 1 + firmware | Bin 172692 -> 172692 bytes firmware.bin | Bin 56944 -> 57016 bytes firmware.packed.bin | Bin 56962 -> 57034 bytes font.c | 196 ++++++++++++++++++++++---------------------- font.h | 2 +- radio.c | 2 +- ui/helper.c | 12 +-- ui/main.c | 21 +++-- 10 files changed, 122 insertions(+), 113 deletions(-) diff --git a/Makefile b/Makefile index f97ba7b..08a3e36 100644 --- a/Makefile +++ b/Makefile @@ -99,6 +99,7 @@ CFLAGS += -DDISABLE_AIRCOPY CFLAGS += -DKEEP_MEM_NAME CFLAGS += -DDISABLE_ALARM CFLAGS += -DCHAN_NAME_FREQ +CFLAGS += -DSINGLE_VFO_CHAN #CFLAGS += -DBAND_SCOPE ifeq ($(DEBUG),1) diff --git a/README.md b/README.md index 1e388e9..b6ce7b0 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,7 @@ You can edit those changes by (currently) editing the MakeFile, look for these l * CFLAGS += -DKEEP_MEM_NAME .. maintain the memory channel's name when re-saving the memory channel * CFLAGS += -DDISABLE_ALARM .. remove the ALARM transmit option from the firmware * CFLAGS += -DCHAN_NAME_FREQ .. show the channel frequency (as well as channel number/name) +* CFLAGS += -DSINGLE_VFO_CHAN .. only show a single VFO/CHANNEL if dual watch is disabled * #CFLAGS += -DBAND_SCOPE .. not yet implemented To enable the custom option just uncomment the line by removing the starting '#'. diff --git a/firmware b/firmware index 946d78e4bba9b041224ee6983bdfcee0dc281958..b7e296f92e14bc9ae64d68060c75613cf559945f 100644 GIT binary patch delta 8048 zcmbPolxxaSt_d!(Gj205fG{fq2rx1*f+z+i5UDU@Vxm0bj>g8Rjf}IIIDc)IV`QAf z$@pUXMlQzhoQyNJuM}Z?&&cSweWnMnQ$&0(%9va(+;O(i+>%jToPEF)96? zu3*a;!1!}}p)DgL3*(RN#g2^TER1)yuXbh3W@J>`F7D3wmx-}|x~Lc9XGY!aoZgH# zSs079KlW!dXA*qypF!EUpwQ2_fDobzos8krw+1n$vao+p{xMxHm@$Fz z)AsscMs`Lfj$hL|LKuS>zfHd#!e|XLJ(N+Fk+FBXX&7T8BjdI0+rt@;Gcrz_ULVPL znXztqa1`TOM#Jrl(Tu{3yxxBwZmN`ER?_ug``|iVF@`ap@zL~&F^tNhFHbTs-k}Mx?O#j`$D9t1D zTZw@|(Sm{HgZS_1N{x(NjNhlPZDb5(^qS7x#Awghw%xgjQIv`C&i2R_#*561leTMj zFkWV44BP&{lTn+I@xXNLZbn7M_0xU38I>95PA>%UdZthAX0&BoG5umUqdsHkcE%n? zWk%Km*BBUTrfc>xY6q@3!N4HA^_zl&4~LQ>g9GEQ?^?eU890<|J(xet{R3jzcrbsM z0cKfwFn^f*#|o^{(&N{6QLsu259SXYV0kkS<`2!&m-aILXM8t(X&<9JqwDmeeT>(c z1kOyK*Uy*+qS+=eYB8?aZa9Haor$q}dgLU=wNhFC8Fh3ontDrDFlaMhU{K^>`0@SJ zf94NdKc*{8X57ShV*BOEjF%aO@BK4ZV)vFRVE2|O5ZKG0!1Uqj_MKB11uW~^jpTr>USJjU&eYqqbP÷xM%wH#f*lG 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 v)6?w=nfio4vw1Smzo?u`|J$u$M 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 delta 5014 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 6d4914c81e103f143ae352c1945ed2989952ba4d..9b269faaf69ac0617eabac0041bc0ba60b3a9c2c 100644 GIT binary patch delta 13650 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 Q{+DxRK9A4Zu-~Q=0B7O-VgLXD delta 13577 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 ZqPQ5^Ebs8G*>zp(df44-le%yG1ptab-c= 32) { - const unsigned int Index = ((unsigned int)pString[i] - 32) * 5; - if (Index < sizeof(gFont5x7)) + const unsigned int Index = ((unsigned int)pString[i] - 32); + if (Index < ARRAY_SIZE(gFont5x7)) { - const unsigned int ofs = (unsigned int)Start + (i * 8); - memcpy(gFrameBuffer[Line] + ofs, &gFont5x7[Index], 5); + const unsigned int ofs = (unsigned int)Start + (i * 6); + memcpy(gFrameBuffer[Line] + ofs, &gFont5x7[Index], ARRAY_SIZE(gFont5x7[Index])); } } } @@ -114,8 +114,8 @@ void UI_PrintStringSmall(const char *pString, uint8_t Start, uint8_t End, uint8_ const unsigned int Index = (unsigned int)pString[i] - 32; if (Index < ARRAY_SIZE(gFont6x8)) { - const unsigned int ofs = (unsigned int)Start + (i * 8); - memcpy(gFrameBuffer[Line] + ofs, &gFont6x8[Index], 6); + const unsigned int ofs = (unsigned int)Start + (i * 7); + memcpy(gFrameBuffer[Line] + ofs, &gFont6x8[Index], ARRAY_SIZE(gFont6x8[Index])); } } } diff --git a/ui/main.c b/ui/main.c index 539c1bf..17ee218 100644 --- a/ui/main.c +++ b/ui/main.c @@ -43,7 +43,11 @@ void UI_DisplayMain(void) return; } +//#ifndef SINGLE_VFO_CHAN for (vfo_num = 0; vfo_num < 2; vfo_num++) +//#else +// vfo_num = 0; +//#endif { uint8_t Channel = gEeprom.TX_CHANNEL; bool bIsSameVfo = !!(Channel == vfo_num); @@ -274,7 +278,11 @@ void UI_DisplayMain(void) { case MDF_FREQUENCY: NUMBER_ToDigits(frequency_Hz, String); + + // show the first lot of the frequency digits UI_DisplayFrequency(String, 31, vfo_num * 4, false, false); + // show the remaining 2 frequency digits + UI_DisplaySmallDigits(2, String + 6, 112, Line + 1); if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) { @@ -285,12 +293,11 @@ void UI_DisplayMain(void) memcpy(pLine0 + 120, BITMAP_ScanList, sizeof(BITMAP_ScanList)); } - UI_DisplaySmallDigits(2, String + 6, 112, Line + 1); - frequency_Hz = 0; break; case MDF_CHANNEL: + sprintf(String, "CH-%03d", gEeprom.ScreenChannel[vfo_num] + 1); UI_PrintString(String, 31, 112, vfo_num * 4, 8, true); frequency_Hz = 0; break; @@ -313,13 +320,13 @@ void UI_DisplayMain(void) if (gEeprom.VfoInfo[vfo_num].Name[0] == 0 || gEeprom.VfoInfo[vfo_num].Name[0] == 0xFF) { // channel number sprintf(String, "CH-%03d", gEeprom.ScreenChannel[vfo_num] + 1); - UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 8, 0, (vfo_num * 4) + 1, false); + UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 16, 0, (vfo_num * 4) + 0, false); } else { // channel name memset(String, 0, sizeof(String)); memcpy(String, gEeprom.VfoInfo[vfo_num].Name, 8); - UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 8, 0, (vfo_num * 4) + 1, false); + UI_PrintStringSmall(gEeprom.VfoInfo[vfo_num].Name, 31 + 16, 0, (vfo_num * 4) + 0, false); } break; #endif @@ -460,13 +467,13 @@ void UI_DisplayMain(void) #ifdef CHAN_NAME_FREQ if (frequency_Hz > 0) - { // show the channel frequency above the channel number/name + { // show the channel frequency below the channel number/name #if 0 NUMBER_ToDigits(frequency_Hz, String); // 8 digits - UI_DisplayFrequencySmall(String, 31 + 8, (vfo_num * 4) + 0, false); + UI_DisplayFrequencySmall(String, 31 + 8, (vfo_num * 4) + 1, false); #else sprintf(String, "%9.5f", frequency_Hz * 0.00001); - UI_PrintStringSmall(String, 31 + 8, 0, (vfo_num * 4) + 0, false); + UI_PrintStringSmall(String, 31 + 16, 0, (vfo_num * 4) + 1, false); #endif } #endif