From f4643adb2a8e8b0947a051cbdc768f91522ed69e Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 29 Sep 2023 20:48:23 +0100 Subject: [PATCH] Fix-n-clean DTMF live decoder --- Makefile | 10 ++++-- am_fix.c | 8 ++--- app/app.c | 63 +++++++++++++++++++------------------- app/dtmf.c | 4 +-- app/dtmf.h | 4 +-- app/menu.c | 4 +-- firmware.bin | Bin 58324 -> 58340 bytes firmware.packed.bin | Bin 58342 -> 58358 bytes functions.c | 7 +++-- misc.c | 4 +-- misc.h | 2 +- ui/main.c | 72 +++++++++++++++++++++++--------------------- 12 files changed, 94 insertions(+), 84 deletions(-) diff --git a/Makefile b/Makefile index 9514d4b..f194b92 100644 --- a/Makefile +++ b/Makefile @@ -138,9 +138,9 @@ OBJCOPY = arm-none-eabi-objcopy SIZE = arm-none-eabi-size # the user might not have/want git installed -# can set own version string here (max 7 chars here) +# can set own version string here (max 7 chars) GIT_HASH := $(shell git rev-parse --short HEAD) -#GIT_HASH := 230925b +#GIT_HASH := 230930b $(info GIT_HASH = $(GIT_HASH)) @@ -150,6 +150,10 @@ ifeq ($(ENABLE_OVERLAY),1) endif CFLAGS = -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD +#CFLAGS = -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c99 -MMD +#CFLAGS = -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=gnu99 -MMD +#CFLAGS = -Os -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=gnu11 -MMD + CFLAGS += -DPRINTF_INCLUDE_CONFIG_H CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\" ifeq ($(ENABLE_SWD),1) @@ -287,4 +291,4 @@ bsp/dp32g030/%.h: hardware/dp32g030/%.def -include $(DEPS) clean: - rm -f $(TARGET).bin $(TARGET).packed.bin $(TARGET) $(OBJS) $(DEPS) \ No newline at end of file + rm -f $(TARGET).bin $(TARGET).packed.bin $(TARGET) $(OBJS) $(DEPS) diff --git a/am_fix.c b/am_fix.c index 0f70a9f..d182b3c 100644 --- a/am_fix.c +++ b/am_fix.c @@ -340,7 +340,7 @@ const uint8_t orig_pga = 6; // -3dB case FUNCTION_TRANSMIT: case FUNCTION_BAND_SCOPE: case FUNCTION_POWER_SAVE: - counter = display_update_rate - 1; + counter = display_update_rate; // queue up a display update as soon as we switch to RX mode return; // only adjust stuff if we're in one of these modes @@ -442,9 +442,9 @@ const uint8_t orig_pga = 6; // -3dB hold_counter[vfo] = 30; // 300ms hold if (hold_counter[vfo] == 0) - { // hold has been released/timed-out, we're free to increase gain - const unsigned int index = gain_table_index[vfo] + 1; // move up to next gain table index - gain_table_index[vfo] = (index <= max_index) ? index : max_index; // limit the gain index and save it + { // hold has been released, we're free to increase gain + const unsigned int index = gain_table_index[vfo] + 1; // move up to next gain index + gain_table_index[vfo] = (index <= max_index) ? index : max_index; // limit the gain index } if (gain_table_index[vfo] == gain_table_index_prev[vfo]) diff --git a/app/app.c b/app/app.c index cd849eb..4d9c2ab 100644 --- a/app/app.c +++ b/app/app.c @@ -783,25 +783,26 @@ void APP_CheckRadioInterrupts(void) const char c = DTMF_GetCharacter(BK4819_GetDTMF_5TONE_Code()); if (c != 0xff) { - gDTMF_RequestPending = true; - gDTMF_RecvTimeout = DTMF_RX_timeout_500ms; - // shift the RX buffer down one - if need be - if (gDTMF_WriteIndex >= sizeof(gDTMF_Received)) - memmove(gDTMF_Received, &gDTMF_Received[1], gDTMF_WriteIndex-- - 1); - gDTMF_Received[gDTMF_WriteIndex++] = c; - - if (gCurrentFunction == FUNCTION_RECEIVE) + if (gCurrentFunction == FUNCTION_RECEIVE || + gCurrentFunction == FUNCTION_INCOMING || + gCurrentFunction == FUNCTION_MONITOR) { - { // live DTMF decoder - gDTMF_RecvTimeoutSaved = DTMF_RX_timeout_saved_500ms; - size_t len = strlen(gDTMF_ReceivedSaved); - // shift the RX buffer down one - if need be - if (len >= (sizeof(gDTMF_ReceivedSaved) - 1)) - memmove(gDTMF_ReceivedSaved, &gDTMF_ReceivedSaved[1], len--); - gDTMF_ReceivedSaved[len++] = c; - gDTMF_ReceivedSaved[len] = '\0'; - gUpdateDisplay = true; - } + gDTMF_RequestPending = true; + gDTMF_RecvTimeout = DTMF_RX_timeout_500ms; + // shift the RX buffer down one - if need be + if (gDTMF_WriteIndex >= sizeof(gDTMF_Received)) + memmove(gDTMF_Received, &gDTMF_Received[1], --gDTMF_WriteIndex); + gDTMF_Received[gDTMF_WriteIndex++] = c; + + // live DTMF decoder + size_t len = strlen(gDTMF_RX_live); + // shift the RX buffer down one - if need be + if (len >= (sizeof(gDTMF_RX_live) - 1)) + memmove(&gDTMF_RX_live[0], &gDTMF_RX_live[1], --len); + gDTMF_RX_live[len++] = c; + gDTMF_RX_live[len] = 0; + gDTMF_RX_live_timeout = DTMF_RX_live_timeout_500ms; // time till we delete it + gUpdateDisplay = true; DTMF_HandleRequest(); } @@ -1687,6 +1688,15 @@ void APP_TimeSlice500ms(void) if (--gKeyInputCountdown == 0) cancelUserInputModes(); + if (gDTMF_RX_live_timeout > 0) + { + if (--gDTMF_RX_live_timeout == 0) + { + gDTMF_RX_live[0] = 0; + gUpdateDisplay = true; + } + } + // Skipped authentic device check #ifdef ENABLE_FMRADIO @@ -1936,15 +1946,6 @@ void APP_TimeSlice500ms(void) memset(gDTMF_Received, 0, sizeof(gDTMF_Received)); } } - - if (gDTMF_RecvTimeoutSaved > 0) - { - if (--gDTMF_RecvTimeoutSaved == 0) - { - gDTMF_ReceivedSaved[0] = '\0'; - gUpdateDisplay = true; - } - } } #ifdef ENABLE_ALARM @@ -2019,11 +2020,11 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (gEeprom.AUTO_KEYPAD_LOCK) gKeyLockCountdown = 30; // 15 seconds - if (Key == KEY_EXIT && bKeyPressed && bKeyHeld && gDTMF_ReceivedSaved[0] > 0) + if (Key == KEY_EXIT && bKeyPressed && bKeyHeld && gDTMF_RX_live[0] != 0) { // clear the live DTMF decoder if the EXIT key is held - gDTMF_RecvTimeoutSaved = 0; - gDTMF_ReceivedSaved[0] = '\0'; - gUpdateDisplay = true; + gDTMF_RX_live_timeout = 0; + gDTMF_RX_live[0] = 0; + gUpdateDisplay = true; } if (!bKeyPressed) diff --git a/app/dtmf.c b/app/dtmf.c index 146e75c..415f42e 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -40,8 +40,8 @@ uint8_t gDTMF_WriteIndex = 0; uint8_t gDTMF_PreviousIndex = 0; uint8_t gDTMF_RecvTimeout = 0; -char gDTMF_ReceivedSaved[20]; -uint8_t gDTMF_RecvTimeoutSaved = 0; +char gDTMF_RX_live[20]; +uint8_t gDTMF_RX_live_timeout = 0; bool gIsDtmfContactValid; char gDTMF_ID[4]; diff --git a/app/dtmf.h b/app/dtmf.h index 141aec5..3b4b425 100644 --- a/app/dtmf.h +++ b/app/dtmf.h @@ -63,8 +63,8 @@ extern uint8_t gDTMF_WriteIndex; extern uint8_t gDTMF_PreviousIndex; extern uint8_t gDTMF_RecvTimeout; -extern char gDTMF_ReceivedSaved[20]; -extern uint8_t gDTMF_RecvTimeoutSaved; +extern char gDTMF_RX_live[20]; +extern uint8_t gDTMF_RX_live_timeout; extern bool gIsDtmfContactValid; extern char gDTMF_ID[4]; diff --git a/app/menu.c b/app/menu.c index 0d85e73..db627f6 100644 --- a/app/menu.c +++ b/app/menu.c @@ -595,8 +595,8 @@ void MENU_AcceptSetting(void) return; case MENU_D_LIVE_DEC: - gDTMF_RecvTimeoutSaved = 0; - gDTMF_ReceivedSaved[0] = '\0'; + gDTMF_RX_live_timeout = 0; + gDTMF_RX_live[0] = '\0'; gSetting_live_DTMF_decoder = gSubMenuSelection; if (!gSetting_live_DTMF_decoder) BK4819_DisableDTMF(); diff --git a/firmware.bin b/firmware.bin index 3b8e77e032c7b6bbca6995270e79373dd29e0b93..d0e66df538f1ac5abd868a0e5dfb96344f241123 100644 GIT binary patch delta 11576 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 delta 11557 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index f6a4a44b7a4a708fd9cdf96dca0d592fd7fff1d8..7ac0589aae2c6cff80044c2aba644af92cd596bf 100644 GIT binary patch delta 47312 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

yXe_=6x@MN5$9rQ2c;N$bb%5WMsqCO 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

tzG(B-1wrJ;N5zXAt*}cRevzv)to;W z=8Adj)j;acVE?I_?KCxGjajUeWDy}uN-bIcg3z@6VoV-!StbHare%?HWn2ZME)lBG z$|)mT=}T>RZb~v?@dq{;vx7wR(n{p8+cPK;%Y(p@+oCZb6jPu3zO;&0Wb2}o*L-U; z&v@u|h*}kX`6ALmndD_D;)H=hG85-3V%!{5MB>RIO?%3y?eMZB<`bR8n>dj8cGk$W zF6%375k(F;EW{s?+lsEV)O;t@mPY?|{5SXm#Ly6;KpkjH?Gg4ez7;Kvnizw!yuL_2 zm#)g{VZPc~t=)V3TAX~e=ee)ZmCBz@x@f7WAXhbk4OCiIXT2m`cd*#&Y+UpHWMsWk zf1g9W`GBXcOEihr?bpL;8~9uIhxy}XPY#gJxb4Rw606>%_EOcbuOlNP4=5A3WOG(R zUc2}`(%o`*dx}YqeAmzIt{<;9T~n;dXPjlj-Q(1zr=yED~-bXYe)ISt~mA(hNV2wQz>P(oHshLYwUF z&ZMk6G)`lm!Wep6V!LA~JinIqA-8T8D&Xj=+P|up6%YmwE;>8?@uZLvI~%xlzf-;s z9q$9<@u+^JPAo$Ur$u6donZfyL(?e>u`lllR!?gjeESzNJii(`iDqV(ny#x`&07Z= z%kL|cVA2j`$l}Cuz9HmtvF1ITHsPN@zVd*u3n9~#+*32A=q~U#^FbI|5+1~nOx@Ft zQHroq)#tPTKzkkho%}DWsVJE?;?46!=NNuF~a>8PQlV%W78St^sb$(-sz^XE^+ObJUN&NA^PU zu2Ya%>-^aRRn%zHaXyxb1iEfv*n@r=ScAYXFFRI>rx~;Hn0{$@%pTnCPT}N9K(r7) z$w!YI@hrAnCQE)Kw%3e?S>cNmy>v5ay436qjUmL}IxCYqV8p|pY|4`;5xO7g=BP$A zP^?uDUm9sj6Z5pt)|7@+=c-4Iw>T1-;GplMuwA_PgTp(}J~=w)uEN0~7rx`Q$SJVS zdr1@GZsgYXcgI1uL71D-v8A3E{{sGkmZ*acIpk67H0M->CYzhAZ&WYV!*#75aFNbF z@&31$-@@2F`h^39>3sb#Vo;U24DQROwCrt$lwIvsQYDyERbPsXNBhOGlyh?AdeMzX@l{AtX^H!{qx9(I@;h5kgH{ zrg6EAWwefm?5|)5z55U2>z|TAO%eTiWHUTiP1{MVw$I=8O_m1=nX!rgjf5W|81|J@ z9-zZQaF7$a^-XDIboKvo)D@#KXLTmd6E3qQgNzT4!@sdA$Z?yUdwHhP>MPIlhNeB{m0&FOT{=Y*}>rw;-~H7p9H=z zS1IHWkqQ{aa3&YxcDxf`4xg0zTveIEzpq?-8(F$7Id)4a*Y!lEIJE1`d}0GG8fgy}e)Y=*J2~Xj#lviQ-6-}2{?cL*7tJgwM#QI<>cv|ls437?T&(DD1i;d1!(3h0F9YAes_I;p zAFs9&q57tk-&$-XutnU-X*W*#(mXzR0J2jDJi#rOmhJ=BAz6Mw32RQO(`GJzoN6@U zV!#(%|H4w-1=Sodbj=nVK*R({sU)7u5Zi-OE>L>$JkCX(7?o6drNfpY7M`k&1%5M* zlxL7Q^Zp^noWp=c!Kuuz-J~xMH=12x0$vcfY?i(;Rghzi3HE%584E~)%V$S}UB*!c zDndmq+IR8aHaL8RTk{KJ7sQ~fo#y!c!4sr&1a_o#X9f4tA9S-PEcIp0!buA%H0?fl zyg*N7BFR%16&;?JvM()8vAGNp=3d;b{Pen;`GT2|Q6h>~rS?d_#6`COobw?NfaEe5ClOL<9@> z%DtN>pnO`_C4?CisM(s~0B8DNS$qKgW{WUWwjNNI3xb&q3Ve?fU<62IfjgXD*#8d& C09m5| delta 47296 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 diff --git a/functions.c b/functions.c index a9df9f7..6f35bf4 100644 --- a/functions.c +++ b/functions.c @@ -59,8 +59,8 @@ void FUNCTION_Init(void) gDTMF_WriteIndex = 0; memset(gDTMF_Received, 0, sizeof(gDTMF_Received)); -// gDTMF_RecvTimeoutSaved = 0; -// gDTMF_ReceivedSaved[0] = '\0'; +// gDTMF_RX_timeout_live = 0; +// gDTMF_RX_timeout_live[0] = '\0'; g_CxCSS_TAIL_Found = false; g_CDCSS_Lost = false; @@ -152,7 +152,8 @@ void FUNCTION_Select(FUNCTION_Type_t Function) // if DTMF is enabled when TX'ing, it changes the TX audio filtering !! .. 1of11 BK4819_DisableDTMF(); - gDTMF_ReceivedSaved[0] = 0; + gDTMF_RX_live_timeout = 0; + gDTMF_RX_live[0] = 0; #if defined(ENABLE_FMRADIO) if (gFmRadioMode) diff --git a/misc.c b/misc.c index 471922c..efb619b 100644 --- a/misc.c +++ b/misc.c @@ -26,8 +26,8 @@ const uint16_t fm_restore_countdown_10ms = 5000 / 10; // 5 seconds const uint8_t menu_timeout_500ms = 20000 / 500; // 20 seconds -const uint8_t DTMF_RX_timeout_500ms = 2500 / 500; // 2.5 seconds -const uint8_t DTMF_RX_timeout_saved_500ms = 20000 / 500; // 20 seconds +const uint8_t DTMF_RX_live_timeout_500ms = 6000 / 500; // 6 seconds live decoder on screen +const uint8_t DTMF_RX_timeout_500ms = 10000 / 500; // 10 seconds till we wipe the DTMF receiver const uint8_t DTMF_decode_ring_countdown_500ms = 15000 / 500; // 15 seconds const uint8_t DTMF_txstop_countdown_500ms = 3000 / 500; // 6 seconds diff --git a/misc.h b/misc.h index 75d1827..517e28b 100644 --- a/misc.h +++ b/misc.h @@ -91,8 +91,8 @@ extern const uint16_t fm_restore_countdown_10ms; extern const uint8_t menu_timeout_500ms; +extern const uint8_t DTMF_RX_live_timeout_500ms; extern const uint8_t DTMF_RX_timeout_500ms; -extern const uint8_t DTMF_RX_timeout_saved_500ms; extern const uint8_t DTMF_decode_ring_countdown_500ms; extern const uint8_t DTMF_txstop_countdown_500ms; diff --git a/ui/main.c b/ui/main.c index 6bd7553..f0dd0f4 100644 --- a/ui/main.c +++ b/ui/main.c @@ -117,36 +117,40 @@ #if defined(ENABLE_RSSI_BAR) void UI_DisplayRSSIBar(const int16_t rssi, const bool now) { + const int16_t s9_dBm = -73; // S9 + const int16_t s0_dBm = -127; // S0 + + const int16_t bar_max_dBm = s9_dBm + 30; // S9+30dB + const int16_t bar_min_dBm = s0_dBm; // S0 + + // ************ + + const unsigned int txt_width = 7 * 8; // 8 text chars + const unsigned int bar_x = 2 + txt_width + 4; // X coord of bar graph + const unsigned int bar_width = LCD_WIDTH - 1 - bar_x; + + const int16_t dBm = (rssi / 2) - 160; + const int16_t clamped_dBm = (dBm <= bar_min_dBm) ? bar_min_dBm : (dBm >= bar_max_dBm) ? bar_max_dBm : dBm; + const unsigned int bar_range_dB = bar_max_dBm - bar_min_dBm; + const unsigned int len = ((clamped_dBm - bar_min_dBm) * bar_width) / bar_range_dB; + + const unsigned int line = 3; + uint8_t *pLine = gFrameBuffer[line]; + char s[16]; unsigned int i; - - const int16_t max_dB = -33; // S9+40dB - const int16_t min_dB = -127; // S0 - - const unsigned int txt_width = 7 * 8; // 8 text chars - const unsigned int bar_x = txt_width + 4; - const unsigned int bar_width = LCD_WIDTH - 1 - bar_x; - - const int16_t dBm = (rssi / 2) - 160; - const int16_t clamped_dBm = (dBm <= min_dB) ? min_dB : (dBm >= max_dB) ? max_dB : dBm; - const unsigned int range_dB = max_dB - min_dB; - const unsigned int len = ((clamped_dBm - min_dB) * bar_width) / range_dB; - - const unsigned int line = 3; - uint8_t *pLine = gFrameBuffer[line]; - - unsigned int s_level = 0; + unsigned int s_level = 0; // S0 if (gEeprom.KEY_LOCK && gKeypadLocked > 0) return; // display is in use if (gCurrentFunction == FUNCTION_TRANSMIT || gScreenToDisplay != DISPLAY_MAIN) return; // display is in use - if (dBm >= -63) // S9+10dB - s_level = 10 + (((dBm - -63) / 10) * 10); + if (dBm >= (s9_dBm + 10)) // S9+10dB + s_level = ((dBm - s9_dBm) / 10) * 10; else - if (clamped_dBm >= -127) // S0 - s_level = (clamped_dBm - -127) / 6; + if (dBm >= s0_dBm) // S0 + s_level = (dBm - s0_dBm) / 6; // 6dB per S point if (now) memset(pLine, 0, LCD_WIDTH); @@ -154,7 +158,7 @@ if (s_level < 10) sprintf(s, "%-4d S%u ", dBm, s_level); // S0 ~ S9 else - sprintf(s, "%-4d +%2u", dBm, s_level); // S9+ + sprintf(s, "%-4d +%2u", dBm, s_level); // S9+XX UI_PrintStringSmall(s, 2, 0, line); #if 1 @@ -182,7 +186,7 @@ void UI_UpdateRSSI(const int16_t rssi, const int vfo) #if defined(ENABLE_AM_FIX) && defined(ENABLE_AM_FIX_SHOW_DATA) if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode && gSetting_AM_fix) - { + { // AM test data is currently being shown } else #endif @@ -692,13 +696,19 @@ void UI_DisplayMain(void) gCurrentFunction == FUNCTION_MONITOR || gCurrentFunction == FUNCTION_INCOMING); + #ifdef ENABLE_AUDIO_BAR + if (gSetting_mic_bar && gCurrentFunction == FUNCTION_TRANSMIT) + UI_DisplayAudioBar(); + else + #endif + #if defined(ENABLE_AM_FIX) && defined(ENABLE_AM_FIX_SHOW_DATA) if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].AM_mode && gSetting_AM_fix) { if (rx) { AM_fix_print_data(gEeprom.RX_CHANNEL, String); - UI_PrintStringSmall(String, 0, 0, 3); + UI_PrintStringSmall(String, 2, 0, 3); } } else @@ -710,20 +720,14 @@ void UI_DisplayMain(void) else #endif - #ifdef ENABLE_AUDIO_BAR - if (gSetting_mic_bar && gCurrentFunction == FUNCTION_TRANSMIT) - UI_DisplayAudioBar(); - else - #endif - if (rx || gCurrentFunction == FUNCTION_FOREGROUND) { - if (gSetting_live_DTMF_decoder && gDTMF_ReceivedSaved[0] >= 32) + if (gSetting_live_DTMF_decoder && gDTMF_RX_live[0] >= 32) { // show live DTMF decode - const unsigned int len = strlen(gDTMF_ReceivedSaved); - const unsigned int idx = (len > (17 - 5)) ? len - (17 - 5) : 0; // just the last 'n' chars + const unsigned int len = strlen(gDTMF_RX_live); + const unsigned int idx = (len > (17 - 5)) ? len - (17 - 5) : 0; // limit to last 'n' chars strcpy(String, "DTMF "); - strcat(String, gDTMF_ReceivedSaved + idx); + strcat(String, gDTMF_RX_live + idx); UI_PrintStringSmall(String, 2, 0, 3); }