From 78c62d5489aa81df45748dd281c7f93fdb961803 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sun, 17 Sep 2023 09:54:24 +0100 Subject: [PATCH] Live DTMF decoder display tidy up --- app/app.c | 56 +++++++++++++++++++++++--------------------- app/dtmf.c | 6 ++--- app/fm.c | 18 +++++++------- app/fm.h | 46 ++++++++++++++++++------------------ app/main.c | 2 +- app/menu.c | 2 +- app/uart.c | 14 +++++------ board.c | 32 ++++++++++++------------- firmware | Bin 164816 -> 164988 bytes firmware.bin | Bin 48748 -> 48796 bytes firmware.packed.bin | Bin 48766 -> 48814 bytes functions.c | 7 ++++-- misc.c | 5 ++++ misc.h | 7 +++++- radio.c | 39 +++++++++++++++++++----------- scheduler.c | 2 +- ui/helper.c | 20 ++++++++-------- ui/main.c | 42 +++++++++++++++++++-------------- ui/menu.c | 6 ++--- ui/rssi.c | 14 +++++------ ui/status.c | 30 ++++++++++++------------ 21 files changed, 191 insertions(+), 157 deletions(-) diff --git a/app/app.c b/app/app.c index 738fa5e..fb1eb59 100644 --- a/app/app.c +++ b/app/app.c @@ -650,28 +650,30 @@ void APP_CheckRadioInterrupts(void) // fetch the RX'ed char const char c = DTMF_GetCharacter(BK4819_GetDTMF_5TONE_Code()); - - 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 (c != 0xff) { - #ifdef ENABLE_DTMF_DECODER - gDTMF_RecvTimeoutSaved = DTMF_RX_timeout_saved_500ms; - size_t len = strlen(gDTMF_ReceivedSaved); - // shift the RX buffer down one - if (len >= (sizeof(gDTMF_ReceivedSaved) - 1)) - memmove(gDTMF_ReceivedSaved, &gDTMF_ReceivedSaved[1], len--); - gDTMF_ReceivedSaved[len++] = c; - gDTMF_ReceivedSaved[len] = '\0'; - gUpdateDisplay = true; - #endif - - DTMF_HandleRequest(); + 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) + { + #ifdef ENABLE_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; + #endif + + DTMF_HandleRequest(); + } } } @@ -877,7 +879,7 @@ void APP_Update(void) APP_HandleFunction(); #ifdef ENABLE_FMRADIO - if (gFmRadioCountdown) + if (gFmRadioCountdown_500ms > 0) return; #endif @@ -1253,7 +1255,7 @@ void APP_TimeSlice10ms(void) // Skipping authentic device checks #ifdef ENABLE_FMRADIO - if (gFmRadioCountdown > 0) + if (gFmRadioCountdown_500ms > 0) return; #endif @@ -1496,9 +1498,9 @@ void APP_TimeSlice500ms(void) // Skipped authentic device check #ifdef ENABLE_FMRADIO - if (gFmRadioCountdown > 0) + if (gFmRadioCountdown_500ms > 0) { - gFmRadioCountdown--; + gFmRadioCountdown_500ms--; return; } #endif @@ -1597,9 +1599,9 @@ void APP_TimeSlice500ms(void) } #ifdef ENABLE_FMRADIO - if (!gPttIsPressed && gFM_ResumeCountdown > 0) + if (!gPttIsPressed && gFM_ResumeCountdown_500ms > 0) { - if (--gFM_ResumeCountdown == 0) + if (--gFM_ResumeCountdown_500ms == 0) { RADIO_SetVfoState(VFO_STATE_NORMAL); if (gCurrentFunction != FUNCTION_RECEIVE && gCurrentFunction != FUNCTION_TRANSMIT && gCurrentFunction != FUNCTION_MONITOR && gFmRadioMode) diff --git a/app/dtmf.c b/app/dtmf.c index 6a93a75..126552c 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -113,7 +113,7 @@ bool DTMF_FindContact(const char *pContact, char *pResult) if (j == 3) { - memcpy(pResult, Contact, 8); + memmove(pResult, Contact, 8); pResult[8] = 0; return true; } @@ -263,8 +263,8 @@ void DTMF_HandleRequest(void) if (DTMF_CompareMessage(gDTMF_Received + Offset, String, 4, true)) { gDTMF_CallState = DTMF_CALL_STATE_RECEIVED; - memcpy(gDTMF_Callee, gDTMF_Received + Offset, 3); - memcpy(gDTMF_Caller, gDTMF_Received + Offset + 4, 3); + memmove(gDTMF_Callee, gDTMF_Received + Offset, 3); + memmove(gDTMF_Caller, gDTMF_Received + Offset + 4, 3); gUpdateDisplay = true; diff --git a/app/fm.c b/app/fm.c index 56eb4ba..1573ab9 100644 --- a/app/fm.c +++ b/app/fm.c @@ -38,14 +38,14 @@ uint16_t gFM_Channels[20]; bool gFmRadioMode; -uint8_t gFmRadioCountdown; -volatile uint16_t gFmPlayCountdown; +uint8_t gFmRadioCountdown_500ms; +volatile uint16_t gFmPlayCountdown_10ms; volatile int8_t gFM_ScanState; bool gFM_AutoScan; uint8_t gFM_ChannelPosition; bool gFM_FoundFrequency; bool gFM_AutoScan; -uint8_t gFM_ResumeCountdown; +uint8_t gFM_ResumeCountdown_500ms; uint16_t gFM_RestoreCountdown; bool FM_CheckValidChannel(uint8_t Channel) @@ -120,7 +120,7 @@ void FM_Tune(uint16_t Frequency, int8_t Step, bool bFlag) gEnableSpeaker = false; - gFmPlayCountdown = (gFM_ScanState == FM_SCAN_OFF) ? 120 : 10; + gFmPlayCountdown_10ms = (gFM_ScanState == FM_SCAN_OFF) ? fm_play_countdown_noscan_10ms : fm_play_countdown_scan_10ms; gScheduleFM = false; gFM_FoundFrequency = false; @@ -159,9 +159,9 @@ void FM_PlayAndUpdate(void) BK1080_SetFrequency(gEeprom.FM_FrequencyPlaying); SETTINGS_SaveFM(); - gFmPlayCountdown = 0; - gScheduleFM = false; - gAskToSave = false; + gFmPlayCountdown_10ms = 0; + gScheduleFM = false; + gAskToSave = false; GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); @@ -617,8 +617,8 @@ void FM_Play(void) { if (!gFM_AutoScan) { - gFmPlayCountdown = 0; - gFM_FoundFrequency = true; + gFmPlayCountdown_10ms = 0; + gFM_FoundFrequency = true; if (!gEeprom.FM_IsMrMode) gEeprom.FM_SelectedFrequency = gEeprom.FM_FrequencyPlaying; diff --git a/app/fm.h b/app/fm.h index eef7b6f..462852a 100644 --- a/app/fm.h +++ b/app/fm.h @@ -28,34 +28,34 @@ enum { FM_SCAN_OFF = 0U, }; -extern uint16_t gFM_Channels[20]; -extern bool gFmRadioMode; -extern uint8_t gFmRadioCountdown; -extern volatile uint16_t gFmPlayCountdown; -extern volatile int8_t gFM_ScanState; -extern bool gFM_AutoScan; -extern uint8_t gFM_ChannelPosition; -// Doubts about whether this should be signed or not. -extern uint16_t gFM_FrequencyDeviation; -extern bool gFM_FoundFrequency; -extern bool gFM_AutoScan; -extern uint8_t gFM_ResumeCountdown; -extern uint16_t gFM_RestoreCountdown; +extern uint16_t gFM_Channels[20]; +extern bool gFmRadioMode; +extern uint8_t gFmRadioCountdown_500ms; +extern volatile uint16_t gFmPlayCountdown_10ms; +extern volatile int8_t gFM_ScanState; +extern bool gFM_AutoScan; +extern uint8_t gFM_ChannelPosition; +// Doubts about whether this should be signed or not +extern uint16_t gFM_FrequencyDeviation; +extern bool gFM_FoundFrequency; +extern bool gFM_AutoScan; +extern uint8_t gFM_ResumeCountdown_500ms; +extern uint16_t gFM_RestoreCountdown; -bool FM_CheckValidChannel(uint8_t Channel); +bool FM_CheckValidChannel(uint8_t Channel); uint8_t FM_FindNextChannel(uint8_t Channel, uint8_t Direction); -int FM_ConfigureChannelState(void); -void FM_TurnOff(void); -void FM_EraseChannels(void); +int FM_ConfigureChannelState(void); +void FM_TurnOff(void); +void FM_EraseChannels(void); -void FM_Tune(uint16_t Frequency, int8_t Step, bool bFlag); -void FM_PlayAndUpdate(void); -int FM_CheckFrequencyLock(uint16_t Frequency, uint16_t LowerLimit); +void FM_Tune(uint16_t Frequency, int8_t Step, bool bFlag); +void FM_PlayAndUpdate(void); +int FM_CheckFrequencyLock(uint16_t Frequency, uint16_t LowerLimit); -void FM_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); +void FM_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); -void FM_Play(void); -void FM_Start(void); +void FM_Play(void); +void FM_Start(void); #endif diff --git a/app/main.c b/app/main.c index e6402ca..422c57c 100644 --- a/app/main.c +++ b/app/main.c @@ -509,7 +509,7 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) { gKeyInputCountdown = key_input_timeout_500ms; gDTMF_InputMode = true; - memcpy(gDTMF_InputBox, gDTMF_String, 15); + memmove(gDTMF_InputBox, gDTMF_String, 15); gDTMF_InputIndex = 0; gRequestDisplayScreen = DISPLAY_MAIN; return; diff --git a/app/menu.c b/app/menu.c index 08febd9..7c4f89b 100644 --- a/app/menu.c +++ b/app/menu.c @@ -616,7 +616,7 @@ void MENU_AcceptSetting(void) GUI_SelectNextDisplay(DISPLAY_MAIN); gDTMF_InputMode = true; gDTMF_InputIndex = 3; - memcpy(gDTMF_InputBox, gDTMF_ID, 4); + memmove(gDTMF_InputBox, gDTMF_ID, 4); gRequestDisplayScreen = DISPLAY_INVALID; } return; diff --git a/app/uart.c b/app/uart.c index 96fc79f..cb34c71 100644 --- a/app/uart.c +++ b/app/uart.c @@ -223,7 +223,7 @@ static void CMD_0514(const uint8_t *pBuffer) Timestamp = pCmd->Timestamp; #ifdef ENABLE_FMRADIO - gFmRadioCountdown = 4; + gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); SendVersion(); @@ -240,7 +240,7 @@ static void CMD_051B(const uint8_t *pBuffer) } #ifdef ENABLE_FMRADIO - gFmRadioCountdown = 4; + gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif memset(&Reply, 0, sizeof(Reply)); Reply.Header.ID = 0x051C; @@ -273,7 +273,7 @@ static void CMD_051D(const uint8_t *pBuffer) bReloadEeprom = false; #ifdef ENABLE_FMRADIO - gFmRadioCountdown = 4; + gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif Reply.Header.ID = 0x051E; Reply.Header.Size = sizeof(Reply.Data); @@ -340,7 +340,7 @@ static void CMD_052D(const uint8_t *pBuffer) bool bIsLocked; #ifdef ENABLE_FMRADIO - gFmRadioCountdown = 4; + gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif Reply.Header.ID = 0x052E; Reply.Header.Size = sizeof(Reply.Data); @@ -458,11 +458,11 @@ bool UART_IsCommandAvailable(void) if (TailIndex < Index) { const uint16_t ChunkSize = sizeof(UART_DMA_Buffer) - Index; - memcpy(UART_Command.Buffer, UART_DMA_Buffer + Index, ChunkSize); - memcpy(UART_Command.Buffer + ChunkSize, UART_DMA_Buffer, TailIndex); + memmove(UART_Command.Buffer, UART_DMA_Buffer + Index, ChunkSize); + memmove(UART_Command.Buffer + ChunkSize, UART_DMA_Buffer, TailIndex); } else - memcpy(UART_Command.Buffer, UART_DMA_Buffer + Index, TailIndex - Index); + memmove(UART_Command.Buffer, UART_DMA_Buffer + Index, TailIndex - Index); TailIndex = DMA_INDEX(TailIndex, 2); if (TailIndex < gUART_WriteIndex) diff --git a/board.c b/board.c index 2b341b8..5d3e35c 100644 --- a/board.c +++ b/board.c @@ -609,7 +609,7 @@ void BOARD_EEPROM_Init(void) // 0E98..0E9F EEPROM_ReadBuffer(0x0E98, Data, 8); - memcpy(&gEeprom.POWER_ON_PASSWORD, Data, 4); + memmove(&gEeprom.POWER_ON_PASSWORD, Data, 4); // 0EA0..0EA7 #ifdef ENABLE_VOICE @@ -646,38 +646,38 @@ void BOARD_EEPROM_Init(void) // 0EE0..0EE7 EEPROM_ReadBuffer(0x0EE0, Data, 8); if (DTMF_ValidateCodes((char *)Data, 8)) - memcpy(gEeprom.ANI_DTMF_ID, Data, 8); + memmove(gEeprom.ANI_DTMF_ID, Data, 8); else // Original firmware overflows into the next string - memcpy(gEeprom.ANI_DTMF_ID, "123\0\0\0\0", 8); + memmove(gEeprom.ANI_DTMF_ID, "123\0\0\0\0", 8); // 0EE8..0EEF EEPROM_ReadBuffer(0x0EE8, Data, 8); if (DTMF_ValidateCodes((char *)Data, 8)) - memcpy(gEeprom.KILL_CODE, Data, 8); + memmove(gEeprom.KILL_CODE, Data, 8); else - memcpy(gEeprom.KILL_CODE, "ABCD9\0\0", 8); + memmove(gEeprom.KILL_CODE, "ABCD9\0\0", 8); // 0EF0..0EF7 EEPROM_ReadBuffer(0x0EF0, Data, 8); if (DTMF_ValidateCodes((char *)Data, 8)) - memcpy(gEeprom.REVIVE_CODE, Data, 8); + memmove(gEeprom.REVIVE_CODE, Data, 8); else - memcpy(gEeprom.REVIVE_CODE, "9DCBA\0\0", 8); + memmove(gEeprom.REVIVE_CODE, "9DCBA\0\0", 8); // 0EF8..0F07 EEPROM_ReadBuffer(0x0EF8, Data, 16); if (DTMF_ValidateCodes((char *)Data, 16)) - memcpy(gEeprom.DTMF_UP_CODE, Data, 16); + memmove(gEeprom.DTMF_UP_CODE, Data, 16); else - memcpy(gEeprom.DTMF_UP_CODE, "12345\0\0\0\0\0\0\0\0\0\0", 16); + memmove(gEeprom.DTMF_UP_CODE, "12345\0\0\0\0\0\0\0\0\0\0", 16); // 0F08..0F17 EEPROM_ReadBuffer(0x0F08, Data, 16); if (DTMF_ValidateCodes((char *)Data, 16)) - memcpy(gEeprom.DTMF_DOWN_CODE, Data, 16); + memmove(gEeprom.DTMF_DOWN_CODE, Data, 16); else - memcpy(gEeprom.DTMF_DOWN_CODE, "54321\0\0\0\0\0\0\0\0\0\0", 16); + memmove(gEeprom.DTMF_DOWN_CODE, "54321\0\0\0\0\0\0\0\0\0\0", 16); // 0F18..0F1F EEPROM_ReadBuffer(0x0F18, Data, 8); @@ -728,16 +728,16 @@ void BOARD_EEPROM_LoadMoreSettings(void) // uint8_t Mic; EEPROM_ReadBuffer(0x1EC0, gEEPROM_1EC0_0, 8); - memcpy(gEEPROM_1EC0_1, gEEPROM_1EC0_0, 8); - memcpy(gEEPROM_1EC0_2, gEEPROM_1EC0_0, 8); - memcpy(gEEPROM_1EC0_3, gEEPROM_1EC0_0, 8); + memmove(gEEPROM_1EC0_1, gEEPROM_1EC0_0, 8); + memmove(gEEPROM_1EC0_2, gEEPROM_1EC0_0, 8); + memmove(gEEPROM_1EC0_3, gEEPROM_1EC0_0, 8); // 3 bands, 4 * 16-bit values per band // both my radios are -70dBm, -65dBm, -60dBm, -55dBm (0xB4, 0xBE, 0xC8, 0xD2) // -93, -75, -57, -39 seems to be a better choice (0x86, 0xAA, 0xCE, 0xF2) EEPROM_ReadBuffer(0x1EC8, gEEPROM_RSSI_CALIB[0], 8); - memcpy(gEEPROM_RSSI_CALIB[1], gEEPROM_RSSI_CALIB[0], 8); - memcpy(gEEPROM_RSSI_CALIB[2], gEEPROM_RSSI_CALIB[0], 8); + memmove(gEEPROM_RSSI_CALIB[1], gEEPROM_RSSI_CALIB[0], 8); + memmove(gEEPROM_RSSI_CALIB[2], gEEPROM_RSSI_CALIB[0], 8); EEPROM_ReadBuffer(0x1F40, gBatteryCalibration, 12); if (gBatteryCalibration[0] >= 5000) diff --git a/firmware b/firmware index 33c0a7a55135764fc55e0d435f4610d8a34e247d..c5fb27173814a3cb850160da93273913f5758b13 100644 GIT binary patch delta 21610 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 DPcb7p delta 8349 zcmZ{J3se+G)^JtNi-#zP$V;GSS`Zirj}bu;MG%}}Kzzn1DhO+Y5Os_(f%pK|cU+BH zKEP3vxa$|um_*2!$I5ElO-we)w=+qM7}u;OF|%3M%@|{9dU|^LzcrFQ|2hBp=bSrr z@2%?UTlZDBs*lLrzx~{viTLHcCD%1MzA#S_Ny6p0nk>Qd@zZ^O#A`7&^cAYMVcghv zLH(%~yZd&9zoN!xNkOC$+xwP8j#uM`KKqC%7+)YaV%*&QK;H)=pWtwAUtW9-j+&uF z_D4EGJYxsjqP`arZiM0kWcld(NgE}^>pT->tu?U?89ArQv)>=tkM$u4d#q%AD%DXR z<~1GzS(}!DBgly~0Z%3$r7em3t50oB*bdMc*?+O}cj1V)0etNsWn(7dM@h$+Y~3O+ zdvq)58#5lKkh^1Ya0y9DZ^GGRW4e|5&O!b+eP4LLpUX~jF)1dH)(i)C(?JZGV`EtKu+2ufJiVC5>gd)^H&Sb_$ycOV^ z)gD!Vy_*tOX7;Q{tvEHYO=U#RV>f9((sO)(aw7YG*4rs0Vl|2@D{=;?EMt!#S*_Jo zNw(o_&`wXV<+oXD@t$FsnrnDM5wckFZ90!fCUcB@)ZPGxhNWw+O-nAbnXLMc{8T-5OZ#R%jkMlRu9ea1gC&G5E_;)3zvwf`npQPi-*>rgEx1pAy-W zgh!IZvGMpSDHvObH})+b8-wFM_98*B&8Ze(V5pNRCHt1zqXfv|f&}a$jsgJ}l4}L_ zgaOcMf(r4>ZL>kM?V$AM0PZ`;?s410FNkxjxhNUr+eGw*u~X*Dp>AAsu~(+`vf5p3 z-E3mfqIIhE73KhaL&S!u)&v+`Ay+_OTw5SV(|6^u5b_RpQL{|@$;RRotS2uQTkv*rr+5+fPY0=**oaN!%tUMGEB<|8 zJB=rm;F1jNAjXn*{4P0BQh?RudWjzIB611EYx*8c!Z`FPuU4-$%hXDg$rX4LsVE(T z1+u*KMZASXOqq=jktI`7hi&#Ld}J0HNMEFTBe#DzIWT1-{*J_!Eyp{^makPlA>FuMhFLHa{fUB<($m7;8@MomBx&kb?v3ll^ zGJg~#h*cn;$3ecXF4HuCA9Rt_nmjy|%&RHj?)%8@nkq;&*J@<^Sl`v@2e590{Iy%6 z8_4Pzt@t_ej~O&pt6)QkwZxKOE3tC<@NdTX8qZ8}cV-^`ilofi5j$SaKp}=$v!C`# z!uAX_!ffpH)60DqW@T`=w(o~IA7i|lI37I;Ib!y_$@s}WGOq^@yW=;tw zGYs)o4WG~{(JJUpQZ(>Lg_4I>f$*Xf9TW|ct9}TKzTkT(aM*tZ_62PHKKf%Io&THL zNACoDd@1^?n}rtJt5_I}2E$D6K}ZW>!9qhH=|J#`^*)Jq0K_V4tELL`2@SahC>k1I zO?^j~-ovKzULV~DaM-JR1NGY+8Z-p?Xr0)}cS2h)qIA(22{Jw|rguK%Eg|nMi%Hop zOY~=NWPgey(tz~Ml`4;qtt=%9yEMHH>)H ztn#c4u(8j;YA2B2w-n-Ja=qmQ{+MihqP(R?34s}9>h^^gRLL!snP%k5w5UASWcEyk z*+;tuM||m1C8t5}=Qml8%JZT8%sDv{#wNflYe;r$Z1{;F zJp$<8klNM)Ttv3C>cgK7zN-?rCUUlQCJrO2Csz-12JZ8tsv`}0gs_i(M7BJ+vcBjP zLeY+2__FE{;Fkh_dq9su43lA%7yJyH1lYSlY$9L||HR!Q5h5I~+!WDSq?BApSC>8oC&HL*Dpay?3~a%Kdb zywb@wc#$qs_?tNWJEtanv=e0|xP-wFK%S3D&FWfxn`I(x zWZ=46q_L!b^%z#Ze81X^OG(btJEImzSa73$Fl=L~&lb*HB(l^QnTrjby+WRk&JEIhkk$iT6Qpy4^k|?ff^=z+HUM1`q-O-_ zRGEwsPz5k*+z_;$jo+0!$!;?GoPD}&ymy5 z?HV&Xa5*ayQrClAghLE@s1uaD6!K1~mB$z3I73Jt<18fgYi|diZ6KC)n>v=6Mfyzu z=^qc)&mwIVmx9TRP|3aj|F!`qguMVXu{u_dm3 zemhRDaBfP*#t8!oecvn6P%&q^Fz9AOTa zMa&hF%LSs^5WOJAC(>$Pr#=)<=JP<%b&5j0qRP$=ZirXtqdwgmp8gn6-5oFc4--dB zf6qO_YC#_^5a}&%B=C?JHT|t%F$;by_JhX`_kHLlZ5u{+9ODp50~n%4Xfx!LPoRx- zsP#s8>}MGY94kg~Hj%FPW>h!*Keq6Bo0{ud;+jR8BsMi8{-IKSTZUa@A<#tniYU?z zzA*6e`MzIA)`{$-3HI`8c;BP6209kBq{HwinC3e#8(jWyFz7Md`P*cisTr8xuFx>h zB3MIkD}CZ9%Na*i6=Rw0De@nwvAHtI$K;=0WAs;YI1$ zuGZ$fpte;`7UybXw$l)_h|#HqT{(Hc)P{{=uH-7Dk8Mk?Nv`5@cvrM7$(mt{vtiKq z9I?&Nv~G5JLRB;zfa0s7ZNGx{rV9GE!(JYsiauDld;2l}z|HaZ-9}rK?H?fMuczkk z;n>kRWAYz-AHs@TMYgU}J}(SlD~NO`v|eF7i$#TgqpTE6grWPNNX5k2SK%Ks0HVH zX#!cjtpIAko^6Gbzg4JP$yB+t7S1!*d(RD}x8<|mpWLs)vHuLfV$ka2080R`?{d7IqcUOx1Xfjksp;88>#_BaA$+>X+S{ecW9+$IEB zyUC^<+4vYayTgPRk=r{mhM5Dn;LWo8F51r~nMsnKuT6~)IUQQd**)&xk1ekU4}0vV%~eENJ&-Wk}{RL-Z)$+TH&JZFUG zzI1j%?Ka7bJ*|P8fbByQ0bd%JXyHzRpd@>zMRQyd=?b!TXDVJwUfvm-@xcEZL!9+` z^Xzi&Fey{JFx;!u`kAqr43M5ZVF31FsHt0 z@HqCtPWGnxz#G`}wcKYtybfiKboN%Ugg)FEG8zjVAld6?v|pirmsLUPOpv-Fi%_1& zz?;>i$9k$(MUcP|uIspEYVu1{UaH=LN;^0d|8cu^k9k7^Lg{MfaWjIN137oLbKN`3 zkW0LI%=%(=d>d0@xa(*z_vlt&u1G@!sARV+K(x_ zB*IA^IS*Juf&Znf8qL{}VPScQ!08bQJt-iCZjn2XKGMJjJSA_o#stYRWwiF{8c*d;~kRe2`&~38K&2<&5ZzRs*rvy24|fg6gb-O=S-_x1LjW%Hak-`N}56QI{5 zlqSGXPG1W{v*akf_GD$GjxUaV#b8`YW;c)q9y&8ft|KN(Ya@}^2;zba0 zs6HFsd&}SLj^eeaRR*KwB82z15>ESrI~o<4uJ>wB=KsPjLRHM9fNf7yRL z82ik5lVFb<0B61pPz(+|3g9Pjbarzv8^8vT4?v-R4z#DCeFxxCz?TBB8?P3CAAxrX zzzNU{nT=(+D}b{g8Tu|l8{l1$=Mc(hfKCZISON<`tF|Y!eH1j-Lg%k?&l~u_%8|1# z#HhOb8uHN##$}77T%}BsX8qMAtUnJYwx$ zXn$0<7a28QX}h$BZp$hd8z$-Obz038#yMbV0}du<_M~)Z_x=uC>}gSJ=g{*(Cw)>1 z5o`uTQuIa?deZs5%5Gn;FJ5HST~pgPSrXbHw(=>RFWqsoQz(nHXC+m4m|TLCqRM#P~ff+83tX8tiSxk3*~ z#{a&k{Qr8<0pC@3E?NXn9)UTudlvu}6cl%+5j9hDOvw{E8XTrd6X~k^~q@8FmbW(c+A^R%kKM$_C z4PZ0CMt}_fYXRB-m_HXntSkWhrL7pLz^B>%n+m)Lz^iM_s0ZkNz?U;$hqf8o7-%C& z9@&zFeA-}I(|`@0^fj?P-x*@CTaK8qX9fA3ya=~NtM?0d4>`2I6))&h9mvBSdGPpI zsHbi4+J&(1Sl&XY2zcjVPb!9X2DFvXPK3}J1?@kf<_`ZOLNftp^|t~o3qdCGV}P@$ z>wvZaU>U#)fHeT?0OA4IQg{HZ@Uf+_IfL{ajE{IvX==vkt6nDfYI5yhN9+y%DeEaq zoQ-Aqi{FPBLVGkPk>@3{^3c2#uL3yiaQS+4NTGuFtf8s-Gkh%WY;Q47>1lHNP^#%m z7{mQ{4ECync&8a13Q(Ui?)&UVM!P~D_7lxXU2%Z^NJ_f$@E^#^uEb#s{DC*_?DOtFNY(wzK-<|=GPMDq3OV$I0_ zTm}nmUnPT2UduE_x-_rlp$53dE+Ff>V{r{R&|Tb-s(7iz9}Ro+#Y(2%O`w+@0Q&&m z2h-jF_z~bd^mPO8C_o#eLROM}2<~zMXl5(;HiJvchN0I0KL_w7*z5~{sbHr|V2@Pb z837F7O7B8@8|I|pNXtJBlU*Ql4;!(YY& z7ko-u?3?PBz>PV*4qgWeL7i#)SrRhH%&qmwP+Kv&7?K|0Yg z6zDQpGf2l-qJV}Ahb)bYjgPU606L#ok0inuf@MdN;{U(#Mvfkt8`UU-e6YPjEgN)! z-x1Z(9Q-sf9W`ne%U=3h(sZ;WGF-mk&a5(8K3l-SI@L0HaMe|G)W2Lr4$98~j({9Pn#B%~r-@g2fGs4-@FU7(fHD zq;s%io$e76*2f_)dT9S$#>D?VDyBji~lVK|a_>C5EG%le85 zf$Hfs<~;ZcaKq=Pet>N4gd{uxwQf1AtujU#Rim`VDr*hazXH8A?Fn7mr|YhK< z_8&K;dUD{n(9!BQq8vDBXN*=ElU*`R5e4hNnziU~nRWmR`f33_@!o|Gdx9+&1-Z=Pvrx^e4r0{kn{YNKLWB)Kn3(aIBQS?xj)55yeifj08^9WX^#I!e t_5d6NV0|wE{2t(yzLs;BxRJSq(v*^r5xfAC9cbefuy)R75XyqF%yW-fNjV&o#16YTI2voCs3i6hbt zH6L)HTN^+(N|}exu!BT!%VSa@UvmrMtFNy6Ddzt~_HoN#Vk57)g)wiCf;=vme~`&M zdRRhw$W@*cV)Bn?n8q$q+0u)y$OztMtOhNl7@x!)czDt*%pnLVI#_z7xI?~q=6 zjEvyprcX+0@?*)?ET0>Zt>@S66M}vL#Cw@0NdpM1J6-xkccm7;wh*Fw$@=cE}=OKC7TA{pFt-dnOz+bwE*;Fei&VO zxe;^;*6g#?OnzRG3;b>V#Da&PT(Ps0zUTO$4a>X9!!n(}z1X6&B&+_wIPSTHMQ)S! zA--A@to6wK@Ts*U_z-Cr5obt_qF zm~IhYZbX0Vj*TcPk1lL4D{OP5;$drF10Mo=wNnsd2 zI%(FCPHYouB1J*wiCbs&^SU`I+GAC9bl zHZzC&P?>Jcq%>l*FOxa@i0*!bY-2pMqbpsj2S(oey zi7!r6M-wYgn9FKPH7;NGeI^I(CJawU2pwt$k1SH1tJc}(?3Vh3;b6XJ%DE$wq1WX~ zvfM?!x%<&pYos2nn(kso))LVxU!ugh;kWPRHW=Z8%3muBpnF%F$1P-KW89I)B)#eK zDqC)`ze3C#F)q&AegBiKc9YI5)RO_v z*0&hR4((x0 z5fI>Tc~;yJ>_-zjnLs6I77^={U#fh@G-ei+v~{l3!gb~wDX})w$jM-G0M+aH5#d)@ z;4CtihymC-4Uq}Cks#cl& zw4|Ve-=Y6iz@F)O?)=?qRPy#3uH*4_!}Pl?8>|%UO`6coo40NHOy*7z6j!V3)o%Aj zqmpIMc_SI{iV+&LJrAi~-G-K8V2+1G;&A)Nm>pMJyPwRY)G8)Y5Z zqKP+?3&{rU4(&HJ25^{#M+C*S+xiKq*aeiwX?1`i%g;LY^6n0|jfYgX?c=?Q{YMIF zW@PueO;?qYsug)8%Ce&jb}8dK(z$VCQQ|*g%Ul8F&!4O2cEA4Z^!2X7Tlzm+-g0oW zbfv^9aDd1A9ehtLq+rr&HbKk^?xNAc%>t0ii{kdsKh(JB*w*fkk=jJHHN>a*S6;F3 ziD_P_6raK87-Nf;46;B_)vKx|<>S7T^;Day{<*{14WGeq$lf*OyeFEW*A7r%Nx8YJ zY^OECd7+x_1yHcsCtpG(u;F+2p4;FvM^yfH-T(S)n5B*JW)71y;aW5skDfJ8>8JLn zsDYa@t286|*F+R&&j1XoI-;_bWQ1sLe@UtK;OV{(b=hk-Av_(?F1v8sZ~#NDU!2|R zDfIYV!^WRg|Eqyp{02WR?|RVtB)2WuxlK}0{rt1ZZTjA0T2f9uP!f-|dT8*K%RaNo zQwKK3$9=6`Og+YuMd7S-*5|k6I-{~hJHunUCe4+Du*yWkzuE3yxb-Pw3CA_RDLmF9 z?1N$)%5i+_)l90@vkff{vuaL7hA>2ykd)v6A+v7(9e{#Q);Q?#l8`}ieZ$OOKW?1a zEg0h!6WL)N4|66(LbAf|Q-Ffb;T8wF2(EPO-Ep5_K#olPd-DK@B{E&;C~f z6&nF=Zn77@l`ul$MD0@w=#C&&20vl#t{T*xq~L70#b|bAH-9SUm?{ApvuoI4_DSG2 zYc(}fY?0M){q&u?#TCzuPu*Xog+|A4k@)(eC;rvIEJrN30rR~~$7~Xr7+m?jg}aVN z*U>YTj3sNMY$~j-Kd#L$DLj&2o#gU1* z%Q!q zA?cM?NTp&`RAe4~9zHqXf`B(n(!Q(FY!Wxt1WwcKQEw)1%D7XF*h-s4z7TVWW+P{k^u}wC^mOT0U0#_ zGKx1RYxx6UcqF{xM+0DZ`l^EYVU5!4Un^!22rx?i-IVCMxq0?t z-a!$84a;j(KK>%B9hoWZjKi%6m8EstAyB`9zyZ2F9MOHh;I_K}hHiijjlcoOzyT;; zv#>OQX5K~jXQV$$L%RKwisog(`;{LmuO~6f5V&`2qw)$=8vGaHdjbnQki;}GHV*IA zneLw9MYFzc)v=TZC>VKZG@iVz>m#{EasG3|(gi*ml_Y;5P!8qurc^{CJQ>{p3K~$Z z{Ot^Ihb`HF|4?8>h+#=zVc;7Sh)?B7b8De#?@Gj;QFFL7`tx-c7qQ!%xIzi@Ty+Ds zzazC)2J4C4VgN{2ws`#A(*?>|$;jfpX zg3;CY78Qb4?EIRp{e+hJ2|45DJ+anrH66E6sbeAcsOyJ6aFcsDShwgiNebdc3;z|c zBtY^%D*C`0Kc2H~Bpxz@b6K~p{xK{k$~$QUlH^9@M1xK=9HSj!pkA-ERht)Lm^F*r@osE2dv}`N`qbR_PZ0?fb@W*dlKs~Sl}x3%PC{hVKPnYyp!`$S z6#@$#^GWDpm6J-|F%1Vv)?=~XBAJ@}PY+z0NBc}|1+nPnyjQMsGzCu}16}ZzxA7q> zm_26L?1H_wzY3@U6c_>&Fb9cD;w8b-*g+?>o86_!=*WFdK-{vkxz`=+nt25D057Eg zXvMOo^u!x^uvgC14^vS&JF~LEhZZ#sM$9(W1)v6w@Upk4TLYb98-qAb+R&lzUGIQS zcpE69Q!;pO)EkJzibB{WJEchLc&3r@zdqnde!;}+if+v6t13uoA!9X8yC8RiO0e! Tb(#!Ojz=IGa)( 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 UV-84XI?>91b{h-Mh86w)1%szw-v9sr delta 38374 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 && gSetting_ScrambleEnable) - BK4819_EnableScramble(gCurrentVfo->SCRAMBLING_TYPE - 1U); + if (gCurrentVfo->SCRAMBLING_TYPE > 0 && gSetting_ScrambleEnable) + BK4819_EnableScramble(gCurrentVfo->SCRAMBLING_TYPE - 1); else BK4819_DisableScramble(); diff --git a/misc.c b/misc.c index 759e0ae..d9d6f27 100644 --- a/misc.c +++ b/misc.c @@ -18,6 +18,11 @@ #include "misc.h" +const uint8_t fm_resume_countdown_500ms = 2500 / 500; // 2.5 seconds +const uint8_t fm_radio_countdown_500ms = 2000 / 500; // 2 seconds +const uint16_t fm_play_countdown_scan_10ms = 100 / 10; // 100ms +const uint16_t fm_play_countdown_noscan_10ms = 1200 / 10; // 1.2 seconds + const uint8_t menu_timeout_500ms = 20000 / 500; // 20 seconds const uint8_t DTMF_RX_timeout_500ms = 2500 / 500; // 2.5 seconds diff --git a/misc.h b/misc.h index 91289d6..4062f02 100644 --- a/misc.h +++ b/misc.h @@ -78,6 +78,11 @@ enum CssScanMode_t typedef enum CssScanMode_t CssScanMode_t; +extern const uint8_t fm_resume_countdown_500ms; +extern const uint8_t fm_radio_countdown_500ms; +extern const uint16_t fm_play_countdown_scan_10ms; +extern const uint16_t fm_play_countdown_noscan_10ms; + extern const uint8_t menu_timeout_500ms; extern const uint8_t DTMF_RX_timeout_500ms; @@ -138,7 +143,7 @@ extern volatile uint16_t gDualWatchCountdown; extern volatile uint16_t gTxTimerCountdown; extern volatile uint16_t gTailNoteEliminationCountdown; #ifdef ENABLE_FMRADIO - extern volatile uint16_t gFmPlayCountdown; + extern volatile uint16_t gFmPlayCountdown_10ms; #endif #ifdef ENABLE_NOAA extern volatile uint16_t gNOAA_Countdown; diff --git a/radio.c b/radio.c index aa488fb..4a3f174 100644 --- a/radio.c +++ b/radio.c @@ -645,10 +645,10 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) break; } - if (gRxVfo->SCRAMBLING_TYPE == 0 || !gSetting_ScrambleEnable) - BK4819_DisableScramble(); - else + if (gRxVfo->SCRAMBLING_TYPE > 0 && gSetting_ScrambleEnable) BK4819_EnableScramble(gRxVfo->SCRAMBLING_TYPE - 1); + else + BK4819_DisableScramble(); } } #ifdef ENABLE_NOAA @@ -688,18 +688,26 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) #endif #ifndef ENABLE_DTMF_DECODER + // there's no reason the DTMF decoder can't be used in AM RX mode too + // aircraft comms use it on HF (AM and SSB) if (gRxVfo->IsAM || (!gRxVfo->DTMF_DECODING_ENABLE && !gSetting_KILLED)) { BK4819_DisableDTMF(); } else + { + BK4819_EnableDTMF(); + InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND; + } + #else + if (!gSetting_KILLED) + { + BK4819_EnableDTMF(); + InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND; + } #endif - { - BK4819_EnableDTMF(); - InterruptMask |= BK4819_REG_3F_DTMF_5TONE_FOUND; - } - // enable/disable BK4819 interrupts + // enable/disable BK4819 selected interrupts BK4819_WriteRegister(BK4819_REG_3F, InterruptMask); FUNCTION_Init(); @@ -765,7 +773,7 @@ void RADIO_SetTxParameters(void) Bandwidth = gCurrentVfo->CHANNEL_BANDWIDTH; if (Bandwidth != BK4819_FILTER_BW_WIDE) - Bandwidth = BK4819_FILTER_BW_NARROW; + Bandwidth = BK4819_FILTER_BW_NARROW; BK4819_SetFilterBandwidth(Bandwidth); BK4819_SetFrequency(gCurrentVfo->pTX->Frequency); @@ -816,7 +824,7 @@ void RADIO_SetVfoState(VfoState_t State) VfoState[1] = VFO_STATE_NORMAL; #ifdef ENABLE_FMRADIO - gFM_ResumeCountdown = 0; + gFM_ResumeCountdown_500ms = 0; #endif } else @@ -833,7 +841,7 @@ void RADIO_SetVfoState(VfoState_t State) } #ifdef ENABLE_FMRADIO - gFM_ResumeCountdown = 5; + gFM_ResumeCountdown_500ms = fm_resume_countdown_500ms; #endif } @@ -858,7 +866,9 @@ void RADIO_PrepareTX(void) RADIO_SelectCurrentVfo(); #ifdef ENABLE_ALARM - if (gAlarmState == ALARM_STATE_OFF || gAlarmState == ALARM_STATE_TX1750 || (gAlarmState == ALARM_STATE_ALARM && gEeprom.ALARM_MODE == ALARM_MODE_TONE)) + if (gAlarmState == ALARM_STATE_OFF || + gAlarmState == ALARM_STATE_TX1750 || + (gAlarmState == ALARM_STATE_ALARM && gEeprom.ALARM_MODE == ALARM_MODE_TONE)) #endif { VfoState_t State; @@ -892,10 +902,9 @@ void RADIO_PrepareTX(void) gAlarmState = ALARM_STATE_OFF; #endif - AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); - gDTMF_ReplyState = DTMF_REPLY_NONE; + AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); return; } @@ -953,7 +962,9 @@ void RADIO_EnableCxCSS(void) void RADIO_PrepareCssTX(void) { RADIO_PrepareTX(); + SYSTEM_DelayMs(200); + RADIO_EnableCxCSS(); RADIO_SetupRegisters(true); } diff --git a/scheduler.c b/scheduler.c index 27a441b..94a6ce7 100644 --- a/scheduler.c +++ b/scheduler.c @@ -98,7 +98,7 @@ void SystickHandler(void) #ifdef ENABLE_FMRADIO if (gFM_ScanState != FM_SCAN_OFF && gCurrentFunction != FUNCTION_MONITOR) if (gCurrentFunction != FUNCTION_TRANSMIT && gCurrentFunction != FUNCTION_RECEIVE) - DECREMENT_AND_TRIGGER(gFmPlayCountdown, gScheduleFM); + DECREMENT_AND_TRIGGER(gFmPlayCountdown_10ms, gScheduleFM); #endif if (gVoxStopCountdown) diff --git a/ui/helper.c b/ui/helper.c index 8510eef..83b3b43 100644 --- a/ui/helper.c +++ b/ui/helper.c @@ -76,8 +76,8 @@ void UI_PrintString(const char *pString, uint8_t Start, uint8_t End, uint8_t Lin { const unsigned int Index = pString[i] - ' '; const unsigned int ofs = (unsigned int)Start + (i * Width); - memcpy(gFrameBuffer[Line + 0] + ofs, &gFontBig[Index][0], 8); - memcpy(gFrameBuffer[Line + 1] + ofs, &gFontBig[Index][8], 7); + memmove(gFrameBuffer[Line + 0] + ofs, &gFontBig[Index][0], 8); + memmove(gFrameBuffer[Line + 1] + ofs, &gFontBig[Index][8], 7); } } } @@ -99,7 +99,7 @@ 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(gFontSmall)) - memcpy(pFb + (i * char_spacing), &gFontSmall[Index], char_width); + memmove(pFb + (i * char_spacing), &gFontSmall[Index], char_width); } } } @@ -119,8 +119,8 @@ void UI_DisplayFrequency(const char *pDigits, uint8_t X, uint8_t Y, bool bDispla if (bDisplayLeadingZero || bCanDisplay || Digit > 0) { bCanDisplay = true; - memcpy(pFb0, gFontBigDigits[Digit], char_width); - memcpy(pFb1, gFontBigDigits[Digit] + char_width, char_width); + memmove(pFb0, gFontBigDigits[Digit], char_width); + memmove(pFb1, gFontBigDigits[Digit] + char_width, char_width); } else if (bFlag) @@ -141,8 +141,8 @@ void UI_DisplayFrequency(const char *pDigits, uint8_t X, uint8_t Y, bool bDispla while (i < 6) { const unsigned int Digit = pDigits[i++]; - memcpy(pFb0, gFontBigDigits[Digit], char_width); - memcpy(pFb1, gFontBigDigits[Digit] + char_width, char_width); + memmove(pFb0, gFontBigDigits[Digit], char_width); + memmove(pFb1, gFontBigDigits[Digit] + char_width, char_width); pFb0 += char_width; pFb1 += char_width; } @@ -162,7 +162,7 @@ void UI_DisplayFrequencySmall(const char *pDigits, uint8_t X, uint8_t Y, bool bD if (bDisplayLeadingZero || bCanDisplay || Digit > 0) { bCanDisplay = true; - memcpy(pFb, gFontSmallDigits[Digit], char_width); + memmove(pFb, gFontSmallDigits[Digit], char_width); pFb += char_width; } } @@ -178,7 +178,7 @@ void UI_DisplayFrequencySmall(const char *pDigits, uint8_t X, uint8_t Y, bool bD while (i < 8) { const unsigned int Digit = pDigits[i++]; - memcpy(pFb, gFontSmallDigits[Digit], char_width); + memmove(pFb, gFontSmallDigits[Digit], char_width); pFb += char_width; } } @@ -196,7 +196,7 @@ void UI_DisplaySmallDigits(const uint8_t size, const char *str, const uint8_t x, display = true; if (display && c < ARRAY_SIZE(gFontSmallDigits)) { - memcpy(gFrameBuffer[y] + xx, gFontSmallDigits[c], char_width); + memmove(gFrameBuffer[y] + xx, gFontSmallDigits[c], char_width); xx += char_width; } } diff --git a/ui/main.c b/ui/main.c index f9f7e38..3e22201 100644 --- a/ui/main.c +++ b/ui/main.c @@ -54,6 +54,10 @@ void UI_DisplayMain(void) const bool single_vfo = false; // #endif + #ifdef ENABLE_DTMF_DECODER + bool show_dtmf_rx = true; + #endif + for (vfo_num = 0; vfo_num < 2; vfo_num++) { uint8_t Channel = gEeprom.TX_CHANNEL; @@ -112,24 +116,28 @@ void UI_DisplayMain(void) } UI_PrintString(String, 2, 0, 2 + (vfo_num * 3), 8); + #ifdef ENABLE_DTMF_DECODER + show_dtmf_rx = false; + #endif + continue; } // highlight the selected/used VFO with a marker if (!single_vfo && bIsSameVfo) - memcpy(pLine0 + 2, BITMAP_VFO_Default, sizeof(BITMAP_VFO_Default)); + memmove(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)); + memmove(pLine0 + 2, BITMAP_VFO_NotDefault, sizeof(BITMAP_VFO_NotDefault)); } else if (!single_vfo) { // highlight the selected/used VFO with a marker if (bIsSameVfo) - memcpy(pLine0 + 2, BITMAP_VFO_Default, sizeof(BITMAP_VFO_Default)); + memmove(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)); + memmove(pLine0 + 2, BITMAP_VFO_NotDefault, sizeof(BITMAP_VFO_NotDefault)); } uint32_t SomeValue = 0; @@ -167,7 +175,7 @@ void UI_DisplayMain(void) if (!inputting) NUMBER_ToDigits(gEeprom.ScreenChannel[vfo_num] + 1, String); // show the memory channel number else - memcpy(String + 5, gInputBox, 3); // show the input text + memmove(String + 5, gInputBox, 3); // show the input text UI_PrintStringSmall("M", x, 0, Line + 1); UI_DisplaySmallDigits(3, String + 5, x + 7, Line + 1, inputting); } @@ -234,9 +242,9 @@ void UI_DisplayMain(void) { // show the scanlist symbols const uint8_t Attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; if (Attributes & MR_CH_SCANLIST1) - memcpy(pLine0 + 113, BITMAP_ScanList, sizeof(BITMAP_ScanList)); + memmove(pLine0 + 113, BITMAP_ScanList, sizeof(BITMAP_ScanList)); if (Attributes & MR_CH_SCANLIST2) - memcpy(pLine0 + 120, BITMAP_ScanList, sizeof(BITMAP_ScanList)); + memmove(pLine0 + 120, BITMAP_ScanList, sizeof(BITMAP_ScanList)); } switch (gEeprom.CHANNEL_DISPLAY_MODE) @@ -270,7 +278,7 @@ void UI_DisplayMain(void) else { // channel name memset(String, 0, sizeof(String)); - memcpy(String, gEeprom.VfoInfo[vfo_num].Name, 10); + memmove(String, gEeprom.VfoInfo[vfo_num].Name, 10); } UI_PrintString(String, 31, 112, Line, 8); break; @@ -285,7 +293,7 @@ void UI_DisplayMain(void) else { // channel name memset(String, 0, sizeof(String)); - memcpy(String, gEeprom.VfoInfo[vfo_num].Name, 10); + memmove(String, gEeprom.VfoInfo[vfo_num].Name, 10); } UI_PrintStringSmall(String, 31 + 8, 0, Line); @@ -336,18 +344,18 @@ void UI_DisplayMain(void) if (Level >= 1) { - memcpy(pLine1 + display_width + 0, BITMAP_Antenna, sizeof(BITMAP_Antenna)); - memcpy(pLine1 + display_width + 5, BITMAP_AntennaLevel1, sizeof(BITMAP_AntennaLevel1)); + memmove(pLine1 + display_width + 0, BITMAP_Antenna, sizeof(BITMAP_Antenna)); + memmove(pLine1 + display_width + 5, BITMAP_AntennaLevel1, sizeof(BITMAP_AntennaLevel1)); if (Level >= 2) - memcpy(pLine1 + display_width + 8, BITMAP_AntennaLevel2, sizeof(BITMAP_AntennaLevel2)); + memmove(pLine1 + display_width + 8, BITMAP_AntennaLevel2, sizeof(BITMAP_AntennaLevel2)); if (Level >= 3) - memcpy(pLine1 + display_width + 11, BITMAP_AntennaLevel3, sizeof(BITMAP_AntennaLevel3)); + memmove(pLine1 + display_width + 11, BITMAP_AntennaLevel3, sizeof(BITMAP_AntennaLevel3)); if (Level >= 4) - memcpy(pLine1 + display_width + 14, BITMAP_AntennaLevel4, sizeof(BITMAP_AntennaLevel4)); + memmove(pLine1 + display_width + 14, BITMAP_AntennaLevel4, sizeof(BITMAP_AntennaLevel4)); if (Level >= 5) - memcpy(pLine1 + display_width + 17, BITMAP_AntennaLevel5, sizeof(BITMAP_AntennaLevel5)); + memmove(pLine1 + display_width + 17, BITMAP_AntennaLevel5, sizeof(BITMAP_AntennaLevel5)); if (Level >= 6) - memcpy(pLine1 + display_width + 20, BITMAP_AntennaLevel6, sizeof(BITMAP_AntennaLevel6)); + memmove(pLine1 + display_width + 20, BITMAP_AntennaLevel6, sizeof(BITMAP_AntennaLevel6)); } } @@ -404,7 +412,7 @@ void UI_DisplayMain(void) } #ifdef ENABLE_DTMF_DECODER - if (gDTMF_ReceivedSaved[0] >= 32) + if (show_dtmf_rx && gDTMF_ReceivedSaved[0] >= 32) { // show the incoming DTMF live on-screen UI_PrintStringSmall(gDTMF_ReceivedSaved, 8, 0, 3); } diff --git a/ui/menu.c b/ui/menu.c index 320796b..41c9a38 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -302,7 +302,7 @@ void UI_DisplayMenu(void) #endif if (gIsInSubMenu) - memcpy(gFrameBuffer[0] + 50, BITMAP_CurrentIndicator, sizeof(BITMAP_CurrentIndicator)); + memmove(gFrameBuffer[0] + 50, BITMAP_CurrentIndicator, sizeof(BITMAP_CurrentIndicator)); memset(String, 0, sizeof(String)); @@ -523,7 +523,7 @@ void UI_DisplayMenu(void) if (!gIsDtmfContactValid) strcpy(String, "NULL"); else - memcpy(String, Contact, 8); + memmove(String, Contact, 8); break; case MENU_PONMSG: @@ -650,7 +650,7 @@ void UI_DisplayMenu(void) if (gMenuCursor == MENU_D_LIST && gIsDtmfContactValid) { Contact[11] = 0; - memcpy(&gDTMF_ID, Contact + 8, 4); + memmove(&gDTMF_ID, Contact + 8, 4); sprintf(String, "ID:%s", Contact + 8); UI_PrintString(String, 50, 127, 4, 8); } diff --git a/ui/rssi.c b/ui/rssi.c index 7ed70db..0aa7cc3 100644 --- a/ui/rssi.c +++ b/ui/rssi.c @@ -53,19 +53,19 @@ static void Render(uint8_t RssiLevel, uint8_t VFO) } else { - memcpy(pLine, BITMAP_Antenna, 5); + memmove(pLine, BITMAP_Antenna, 5); if (RssiLevel >= 2) - memcpy(pLine + 5, BITMAP_AntennaLevel1, sizeof(BITMAP_AntennaLevel1)); + memmove(pLine + 5, BITMAP_AntennaLevel1, sizeof(BITMAP_AntennaLevel1)); if (RssiLevel >= 3) - memcpy(pLine + 8, BITMAP_AntennaLevel2, sizeof(BITMAP_AntennaLevel2)); + memmove(pLine + 8, BITMAP_AntennaLevel2, sizeof(BITMAP_AntennaLevel2)); if (RssiLevel >= 4) - memcpy(pLine + 11, BITMAP_AntennaLevel3, sizeof(BITMAP_AntennaLevel3)); + memmove(pLine + 11, BITMAP_AntennaLevel3, sizeof(BITMAP_AntennaLevel3)); if (RssiLevel >= 5) - memcpy(pLine + 14, BITMAP_AntennaLevel4, sizeof(BITMAP_AntennaLevel4)); + memmove(pLine + 14, BITMAP_AntennaLevel4, sizeof(BITMAP_AntennaLevel4)); if (RssiLevel >= 6) - memcpy(pLine + 17, BITMAP_AntennaLevel5, sizeof(BITMAP_AntennaLevel5)); + memmove(pLine + 17, BITMAP_AntennaLevel5, sizeof(BITMAP_AntennaLevel5)); if (RssiLevel >= 7) - memcpy(pLine + 20, BITMAP_AntennaLevel6, sizeof(BITMAP_AntennaLevel6)); + memmove(pLine + 20, BITMAP_AntennaLevel6, sizeof(BITMAP_AntennaLevel6)); } ST7565_DrawLine(0, Line, 23 , pLine, bIsClearMode); diff --git a/ui/status.c b/ui/status.c index af633ff..a4ae278 100644 --- a/ui/status.c +++ b/ui/status.c @@ -34,11 +34,11 @@ void UI_DisplayStatus(const bool test_display) memset(gStatusLine, 0, sizeof(gStatusLine)); if (gCurrentFunction == FUNCTION_POWER_SAVE || test_display) - memcpy(gStatusLine, BITMAP_PowerSave, sizeof(BITMAP_PowerSave)); + memmove(gStatusLine, BITMAP_PowerSave, sizeof(BITMAP_PowerSave)); #ifdef ENABLE_NOAA if (gIsNoaaMode || test_display) - memcpy(gStatusLine + 7, BITMAP_NOAA, sizeof(BITMAP_NOAA)); + memmove(gStatusLine + 7, BITMAP_NOAA, sizeof(BITMAP_NOAA)); #endif if (gSetting_KILLED || test_display) @@ -46,46 +46,46 @@ void UI_DisplayStatus(const bool test_display) #ifdef ENABLE_FMRADIO else if (gFmRadioMode || test_display) - memcpy(gStatusLine + 21, BITMAP_FM, sizeof(BITMAP_FM)); + memmove(gStatusLine + 21, BITMAP_FM, sizeof(BITMAP_FM)); #endif #ifdef ENABLE_VOICE if (gEeprom.VOICE_PROMPT != VOICE_PROMPT_OFF || test_display) - memcpy(gStatusLine + 34, BITMAP_VoicePrompt, sizeof(BITMAP_VoicePrompt)); + memmove(gStatusLine + 34, BITMAP_VoicePrompt, sizeof(BITMAP_VoicePrompt)); #endif if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF || test_display) - memcpy(gStatusLine + 45, BITMAP_TDR, sizeof(BITMAP_TDR)); + memmove(gStatusLine + 45, BITMAP_TDR, sizeof(BITMAP_TDR)); if (gEeprom.CROSS_BAND_RX_TX != CROSS_BAND_OFF || test_display) - memcpy(gStatusLine + 58, BITMAP_XB, sizeof(BITMAP_XB)); + memmove(gStatusLine + 58, BITMAP_XB, sizeof(BITMAP_XB)); if (gEeprom.VOX_SWITCH || test_display) - memcpy(gStatusLine + 71, BITMAP_VOX, sizeof(BITMAP_VOX)); + memmove(gStatusLine + 71, BITMAP_VOX, sizeof(BITMAP_VOX)); if (gEeprom.KEY_LOCK || test_display) - memcpy(gStatusLine + 90, BITMAP_KeyLock, sizeof(BITMAP_KeyLock)); + memmove(gStatusLine + 90, BITMAP_KeyLock, sizeof(BITMAP_KeyLock)); else if (gWasFKeyPressed) - memcpy(gStatusLine + 90, BITMAP_F_Key, sizeof(BITMAP_F_Key)); + memmove(gStatusLine + 90, BITMAP_F_Key, sizeof(BITMAP_F_Key)); if (gChargingWithTypeC || test_display) - memcpy(gStatusLine + 100, BITMAP_USB_C, sizeof(BITMAP_USB_C)); + memmove(gStatusLine + 100, BITMAP_USB_C, sizeof(BITMAP_USB_C)); if (gBatteryDisplayLevel >= 5 || test_display) - memcpy(gStatusLine + 110, BITMAP_BatteryLevel5, sizeof(BITMAP_BatteryLevel5)); + memmove(gStatusLine + 110, BITMAP_BatteryLevel5, sizeof(BITMAP_BatteryLevel5)); else if (gBatteryDisplayLevel >= 4) - memcpy(gStatusLine + 110, BITMAP_BatteryLevel4, sizeof(BITMAP_BatteryLevel4)); + memmove(gStatusLine + 110, BITMAP_BatteryLevel4, sizeof(BITMAP_BatteryLevel4)); else if (gBatteryDisplayLevel >= 3) - memcpy(gStatusLine + 110, BITMAP_BatteryLevel3, sizeof(BITMAP_BatteryLevel3)); + memmove(gStatusLine + 110, BITMAP_BatteryLevel3, sizeof(BITMAP_BatteryLevel3)); else if (gBatteryDisplayLevel >= 2) - memcpy(gStatusLine + 110, BITMAP_BatteryLevel2, sizeof(BITMAP_BatteryLevel2)); + memmove(gStatusLine + 110, BITMAP_BatteryLevel2, sizeof(BITMAP_BatteryLevel2)); else if (gLowBatteryBlink == 1) - memcpy(gStatusLine + 110, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); + memmove(gStatusLine + 110, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); ST7565_BlitStatusLine(); }