From 2372949eb9ad47345e727a5c46713693aff2146a Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 13:42:14 +0100 Subject: [PATCH 01/12] RX bandwidth and squelch update --- Makefile | 15 +++++----- README.md | 4 +-- driver/bk4819.c | 12 ++++---- firmware.bin | Bin 53872 -> 53888 bytes firmware.packed.bin | Bin 53890 -> 53906 bytes radio.c | 67 +++++++++++++++++++++++++++++++++----------- 6 files changed, 66 insertions(+), 32 deletions(-) diff --git a/Makefile b/Makefile index 040bda0..52f4113 100644 --- a/Makefile +++ b/Makefile @@ -153,6 +153,7 @@ AS = arm-none-eabi-gcc CC = LD = arm-none-eabi-gcc + ifeq ($(ENABLE_CLANG),0) CC += arm-none-eabi-gcc # Use GCC's linker to avoid undefined symbol errors @@ -182,18 +183,18 @@ endif CFLAGS = ifeq ($(ENABLE_CLANG),0) 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 += -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 else -# Oz needed to make it fit on flash + # Oz needed to make it fit on flash CFLAGS += -Oz -Wall -Werror -mcpu=cortex-m0 -fno-builtin -fshort-enums -fno-delete-null-pointer-checks -std=c11 -MMD endif ifeq ($(ENABLE_LTO),1) CFLAGS += -flto=2 else -# We get most of the space savings if LTO creates problems + # We get most of the space savings if LTO creates problems CFLAGS += -ffunction-sections -fdata-sections endif @@ -311,13 +312,13 @@ endif LDFLAGS += --specs=nano.specs ifeq ($(ENABLE_LTO),0) -# Throw away unneeded func/data sections like LTO does + # Throw away unneeded func/data sections like LTO does LDFLAGS += -Wl,--gc-sections endif ifeq ($(DEBUG),1) ASFLAGS += -g - CFLAGS += -g + CFLAGS += -g LDFLAGS += -g endif diff --git a/README.md b/README.md index 2c97717..980e30d 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,10 @@ You can customize the firmware by enabling/disabling various compile options. You'll find the options at the top of "Makefile" ('0' = disable, '1' = enable) .. ``` -ENABLE_CLANG := 0 experimental, builds with clang instead of gcc (LTO will be disabled if you enable this) +ENABLE_CLANG := 0 **experimental, builds with clang instead of gcc (LTO will be disabled if you enable this) ENABLE_SWD := 0 only needed if using CPU's SWD port (debugging/programming) ENABLE_OVERLAY := 0 cpu FLASH stuff, not needed -ENABLE_LTO := 0 **experimental, reduces size of compiled firmware but might break EEPROM reads (overlay will be disabled if you enable this) +ENABLE_LTO := 0 **experimental, reduces size of compiled firmware but might break EEPROM reads (OVERLAY will be disabled if you enable this) ENABLE_UART := 1 without this you can't configure radio via PC ! ENABLE_AIRCOPY := 0 easier to just enter frequency with butts ENABLE_FMRADIO := 0 WBFM VHF broadcast band receiver diff --git a/driver/bk4819.c b/driver/bk4819.c index aa96c20..3715df3 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -602,8 +602,8 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { // make the RX bandwidth the same with weak signals val = (0u << 15) | // 0 - (5u << 12) | // *3 RF filter bandwidth - (5u << 9) | // *0 RF filter bandwidth when signal is weak + (4u << 12) | // *3 RF filter bandwidth + (4u << 9) | // *0 RF filter bandwidth when signal is weak (6u << 6) | // *0 AFTxLPF2 filter Band Width (2u << 4) | // 2 BW Mode Selection (1u << 3) | // 1 @@ -614,7 +614,7 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { // with weak RX signals the RX bandwidth is reduced val = // 0x3028); // 0 011 000 000 10 1 0 00 (0u << 15) | // 0 - (5u << 12) | // *3 RF filter bandwidth + (4u << 12) | // *3 RF filter bandwidth (2u << 9) | // *0 RF filter bandwidth when signal is weak (6u << 6) | // *0 AFTxLPF2 filter Band Width (2u << 4) | // 2 BW Mode Selection @@ -629,8 +629,8 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { val = (0u << 15) | // 0 - (5u << 12) | // *4 RF filter bandwidth - (5u << 9) | // *0 RF filter bandwidth when signal is weak + (4u << 12) | // *4 RF filter bandwidth + (4u << 9) | // *0 RF filter bandwidth when signal is weak (0u << 6) | // *1 AFTxLPF2 filter Band Width (0u << 4) | // 0 BW Mode Selection (1u << 3) | // 1 @@ -641,7 +641,7 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b { val = // 0x4048); // 0 100 000 001 00 1 0 00 (0u << 15) | // 0 - (5u << 12) | // *4 RF filter bandwidth + (4u << 12) | // *4 RF filter bandwidth (2u << 9) | // *0 RF filter bandwidth when signal is weak (0u << 6) | // *1 AFTxLPF2 filter Band Width (0u << 4) | // 0 BW Mode Selection diff --git a/firmware.bin b/firmware.bin index 59626d078f74243077f7e485aff2e44edfed070d..1c41ed71bafb87c6582928a0bf533aaf43b99353 100644 GIT binary patch delta 5362 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 ZX7W;Mrz6WjnN3e#+wlLv=Ii5p{tpE#*+BpR delta 5346 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 C8q>7^ diff --git a/firmware.packed.bin b/firmware.packed.bin index 55c1ef635b8b556b512373193940173af1f07423..09cbff680524f678b2a798eac2f924c1453ffbfd 100644 GIT binary patch delta 48889 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 O!0Nt&r4dr>`~Lui5Vr*Y delta 48872 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 z

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 G?EeFWa4V$% diff --git a/radio.c b/radio.c index 8d3f212..f712f2d 100644 --- a/radio.c +++ b/radio.c @@ -431,13 +431,13 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) if (gEeprom.SQUELCH_LEVEL == 0) { // squelch == 0 (off) - pInfo->SquelchOpenRSSIThresh = 0; - pInfo->SquelchOpenNoiseThresh = 127; - pInfo->SquelchCloseGlitchThresh = 255; + pInfo->SquelchOpenRSSIThresh = 0; // 0 ~ 255 + pInfo->SquelchOpenNoiseThresh = 127; // 127 ~ 0 + pInfo->SquelchCloseGlitchThresh = 255; // 255 ~ 0 - pInfo->SquelchCloseRSSIThresh = 0; - pInfo->SquelchCloseNoiseThresh = 127; - pInfo->SquelchOpenGlitchThresh = 255; + pInfo->SquelchCloseRSSIThresh = 0; // 0 ~ 255 + pInfo->SquelchCloseNoiseThresh = 127; // 127 ~ 0 + pInfo->SquelchOpenGlitchThresh = 255; // 255 ~ 0 } else { // squelch >= 1 @@ -452,6 +452,13 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) EEPROM_ReadBuffer(Base + 0x40, &pInfo->SquelchCloseGlitchThresh, 1); // 90 90 EEPROM_ReadBuffer(Base + 0x50, &pInfo->SquelchOpenGlitchThresh, 1); // 100 100 + uint16_t rssi_open = pInfo->SquelchOpenRSSIThresh; + uint16_t rssi_close = pInfo->SquelchCloseRSSIThresh; + uint16_t noise_open = pInfo->SquelchOpenNoiseThresh; + uint16_t noise_close = pInfo->SquelchCloseNoiseThresh; + uint16_t glitch_open = pInfo->SquelchOpenGlitchThresh; + uint16_t glitch_close = pInfo->SquelchCloseGlitchThresh; + #if ENABLE_SQUELCH_MORE_SENSITIVE // make squelch a little more sensitive // @@ -459,21 +466,47 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // // note that 'noise' and 'glitch' values are inverted compared to 'rssi' values - pInfo->SquelchOpenRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 8) / 9; - pInfo->SquelchCloseRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 8) / 9; + #if 0 + rssi_open = (rssi_open * 8) / 9; + rssi_close = (rssi_close * 8) / 9; - pInfo->SquelchOpenNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 9) / 8; - pInfo->SquelchCloseNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 9) / 8; + noise_open = (noise_open * 9) / 8; + noise_close = (noise_close * 9) / 8; - pInfo->SquelchOpenGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 9) / 8; - pInfo->SquelchCloseGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 9) / 8; - #endif + glitch_open = (glitch_open * 9) / 8; + glitch_close = (glitch_close * 9) / 8; + #else + // even more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) + + rssi_open = (rssi_open * 1) / 2; + rssi_close = (rssi_close * 1) / 2; + + noise_open = (noise_open * 2) / 1; + noise_close = (noise_close * 2) / 1; + + glitch_open = (glitch_open * 2) / 1; + glitch_close = (glitch_close * 2) / 1; + #endif + + #else + // more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - if (pInfo->SquelchOpenNoiseThresh > 127) - pInfo->SquelchOpenNoiseThresh = 127; + rssi_open = (rssi_open * 3) / 4; + rssi_close = (rssi_close * 3) / 4; + + noise_open = (noise_open * 4) / 3; + noise_close = (noise_close * 4) / 3; + + glitch_open = (glitch_open * 4) / 3; + glitch_close = (glitch_close * 4) / 3; + #endif - if (pInfo->SquelchCloseNoiseThresh > 127) - pInfo->SquelchCloseNoiseThresh = 127; + pInfo->SquelchOpenRSSIThresh = (rssi_open > 255) ? 255 : rssi_open; + pInfo->SquelchCloseRSSIThresh = (rssi_close > 255) ? 255 : rssi_close; + pInfo->SquelchOpenNoiseThresh = (noise_open > 127) ? 127 : noise_open; + pInfo->SquelchCloseNoiseThresh = (noise_close > 127) ? 127 : noise_close; + pInfo->SquelchOpenGlitchThresh = (glitch_open > 255) ? 255 : glitch_open; + pInfo->SquelchCloseGlitchThresh = (glitch_close > 255) ? 255 : glitch_close; } Band = FREQUENCY_GetBand(pInfo->pTX->Frequency); From 6b4465941908665bff4de1cfa045490361eddc37 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 14:33:05 +0100 Subject: [PATCH 02/12] Mzybe clear up some signed/unsigned compile warnings --- driver/keyboard.c | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/driver/keyboard.c b/driver/keyboard.c index 7ce7ee1..1c04fc3 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -43,7 +43,7 @@ static const struct { /* Zero row */ { //Set to zero to handle special case of nothing pulled down. - .set_to_zero_mask = ~(0), + .set_to_zero_mask = 0, .pins = { { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -54,7 +54,7 @@ static const struct { }, /* First row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_4), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_4), .pins = { { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -64,7 +64,7 @@ static const struct { }, /* Second row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_5), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_5), .pins = { { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -74,7 +74,7 @@ static const struct { }, /* Third row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_6), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_6), .pins = { { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -84,7 +84,7 @@ static const struct { }, /* Fourth row */ { - .set_to_zero_mask = ~(1 << GPIOA_PIN_KEYBOARD_7), + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_7), .pins = { { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -103,12 +103,13 @@ KEY_Code_t KEYBOARD_Poll(void) // ***************** - for(int j = 0; j < ARRAY_SIZE(keyboard); j++) { + for (int j = 0; j < ARRAY_SIZE(keyboard); j++) + { //Set all high - GPIOA->DATA |= 1 << GPIOA_PIN_KEYBOARD_4 | - 1 << GPIOA_PIN_KEYBOARD_5 | - 1 << GPIOA_PIN_KEYBOARD_6 | - 1 << GPIOA_PIN_KEYBOARD_7 ; + GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | + 1u << GPIOA_PIN_KEYBOARD_5 | + 1u << GPIOA_PIN_KEYBOARD_6 | + 1u << GPIOA_PIN_KEYBOARD_7 ; //Clear the pin we are selecting GPIOA->DATA &= keyboard[j].set_to_zero_mask; @@ -117,10 +118,11 @@ KEY_Code_t KEYBOARD_Poll(void) // Read all 4 GPIO pins at once uint16_t reg = GPIOA->DATA; - for(int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) + for (int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { - uint16_t mask = 1 << keyboard[j].pins[i].pin; - if(! (reg & mask)) { + uint16_t mask = 1u << keyboard[j].pins[i].pin; + if (!(reg & mask)) + { Key = keyboard[j].pins[i].key; break; } From cb05a5881f82a62046ef9a7a58d1dc34ea01c6cc Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 14:40:34 +0100 Subject: [PATCH 03/12] Try again to calm the type warnings --- README.md | 2 +- driver/keyboard.c | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 980e30d..93ae5f9 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,7 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO * Long-press 'M' .. Copy selected channel into same VFO, then switch VFO to frequency mode * * Long-press '7' .. Toggle selected channel scanlist setting .. if VOX is disabled in Makefile -* or +* or * Long-press '5' .. Toggle selected channel scanlist setting .. if NOAA is disabled in Makefile * * Long-press '*' .. Start scanning, then toggles scanlist scan 1, 2 or ALL channel scanning diff --git a/driver/keyboard.c b/driver/keyboard.c index 1c04fc3..e490a13 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -54,7 +54,7 @@ static const struct { }, /* First row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_4), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_4)), .pins = { { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, @@ -64,7 +64,7 @@ static const struct { }, /* Second row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_5), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_5)), .pins = { { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -74,7 +74,7 @@ static const struct { }, /* Third row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_6), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_6)), .pins = { { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, @@ -84,7 +84,7 @@ static const struct { }, /* Fourth row */ { - .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_7), + .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_7)), .pins = { { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, From bd9f337a5b908ac3b4ceb549e9c1befc9cd063bc Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 15:26:08 +0100 Subject: [PATCH 04/12] Make all warnings vanish over to bricky's house ! --- Makefile | 1 + am_fix.c | 2 +- app/app.c | 9 +++++++-- app/dtmf.c | 5 +++++ app/menu.c | 19 +++++++++++++++++-- app/scanner.c | 10 +++++----- app/uart.c | 2 +- audio.c | 5 +++++ driver/adc.c | 4 ++-- driver/aes.c | 2 ++ driver/keyboard.c | 4 ++-- driver/spi.c | 4 ++-- firmware.bin | Bin 53888 -> 53888 bytes firmware.packed.bin | Bin 53906 -> 53906 bytes misc.h | 22 +++++++++------------- radio.c | 24 +++++++++++++++++------- settings.c | 20 +++++++++----------- ui/main.c | 36 ++++++++++++++++++++++++++---------- ui/menu.c | 5 +++++ 19 files changed, 116 insertions(+), 58 deletions(-) diff --git a/Makefile b/Makefile index 52f4113..3be841a 100644 --- a/Makefile +++ b/Makefile @@ -200,6 +200,7 @@ endif # May cause unhelpful build failures #CFLAGS += -Wpadded +CFLAGS += -Wextra CFLAGS += -DPRINTF_INCLUDE_CONFIG_H CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\" diff --git a/am_fix.c b/am_fix.c index 51c11ae..09d67e9 100644 --- a/am_fix.c +++ b/am_fix.c @@ -475,7 +475,7 @@ void AM_fix_print_data(const int vfo, char *s) { - if (s != NULL && vfo >= 0 && vfo < ARRAY_SIZE(gain_table_index)) + if (s != NULL && vfo >= 0 && vfo < (int)ARRAY_SIZE(gain_table_index)) { const unsigned int index = gain_table_index[vfo]; // sprintf(s, "%2u.%u %4ddB %3u", index, ARRAY_SIZE(gain_table) - 1, gain_table[index].gain_dB, prev_rssi[vfo]); diff --git a/app/app.c b/app/app.c index 025544d..b4786e4 100644 --- a/app/app.c +++ b/app/app.c @@ -647,6 +647,9 @@ static void MR_NextChannel(void) if (enabled) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gCurrentScanList) { case SCAN_NEXT_CHAN_SCANLIST1: @@ -680,7 +683,7 @@ static void MR_NextChannel(void) // { // chan = (gEeprom.RX_VFO + 1) & 1u; // chan = gEeprom.ScreenChannel[chan]; -// if (IS_MR_CHANNEL(chan)) +// if (chan <= MR_CHANNEL_LAST) // { // gCurrentScanList = SCAN_NEXT_CHAN_DUAL_WATCH; // gNextMrChannel = chan; @@ -695,6 +698,8 @@ static void MR_NextChannel(void) chan = 0xff; break; } + + #pragma GCC diagnostic pop } if (!enabled || chan == 0xff) @@ -2042,7 +2047,7 @@ void CHANNEL_Next(bool bFlag, int8_t Direction) gCurrentScanList = SCAN_NEXT_CHAN_SCANLIST1; gScanState = Direction; - if (IS_MR_CHANNEL(gNextMrChannel)) + if (gNextMrChannel <= MR_CHANNEL_LAST) { if (bFlag) gRestoreMrChannel = gNextMrChannel; diff --git a/app/dtmf.c b/app/dtmf.c index ffb9241..0f96941 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -331,6 +331,9 @@ void DTMF_HandleRequest(void) gUpdateDisplay = true; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gEeprom.DTMF_DECODE_RESPONSE) { case DTMF_DEC_RESPONSE_BOTH: @@ -348,6 +351,8 @@ void DTMF_HandleRequest(void) break; } + #pragma GCC diagnostic pop + if (gDTMF_IsGroupCall) gDTMF_ReplyState = DTMF_REPLY_NONE; } diff --git a/app/menu.c b/app/menu.c index 45ec8a5..018795b 100644 --- a/app/menu.c +++ b/app/menu.c @@ -408,6 +408,9 @@ void MENU_AcceptSetting(void) gRequestSaveChannel = 1; return; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + case MENU_T_CTCS: pConfig = &gTxVfo->freq_config_TX; case MENU_R_CTCS: @@ -436,6 +439,8 @@ void MENU_AcceptSetting(void) gRequestSaveChannel = 1; return; + #pragma GCC diagnostic pop + case MENU_SFT_D: gTxVfo->TX_OFFSET_FREQUENCY_DIRECTION = gSubMenuSelection; gRequestSaveChannel = 1; @@ -1170,7 +1175,7 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (edit_index < 10) { - if (Key >= KEY_0 && Key <= KEY_9) + if (/* Key >= KEY_0 && */ Key <= KEY_9) { edit[edit_index] = '0' + Key - KEY_0; @@ -1193,6 +1198,9 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (!gIsInSubMenu) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gInputBoxIndex) { case 2: @@ -1224,6 +1232,8 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) break; } + #pragma GCC diagnostic pop + gInputBoxIndex = 0; gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; @@ -1269,7 +1279,7 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) Value = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; - if (IS_MR_CHANNEL(Value)) + if (Value <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE gAnotherVoiceID = (VOICE_ID_t)Key; @@ -1661,6 +1671,9 @@ static void MENU_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) VFO = 0; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gMenuCursor) { case MENU_DEL_CH: @@ -1681,6 +1694,8 @@ static void MENU_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) return; } + #pragma GCC diagnostic pop + Channel = RADIO_FindNextChannel(gSubMenuSelection + Direction, Direction, bCheckScanList, VFO); if (Channel != 0xFF) gSubMenuSelection = Channel; diff --git a/app/scanner.c b/app/scanner.c index b203ad4..b74fc27 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -67,7 +67,7 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) gInputBoxIndex = 0; Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE gAnotherVoiceID = (VOICE_ID_t)Key; @@ -193,7 +193,7 @@ static void SCANNER_Key_MENU(bool bKeyPressed, bool bKeyHeld) } } - if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) + if (gTxVfo->CHANNEL_SAVE <= MR_CHANNEL_LAST) { gScannerEditState = 1; gScanChannel = gTxVfo->CHANNEL_SAVE; @@ -247,7 +247,7 @@ static void SCANNER_Key_MENU(bool bKeyPressed, bool bKeyHeld) gTxVfo->freq_config_TX.Code = gScanCssResultCode; } - if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) + if (gTxVfo->CHANNEL_SAVE <= MR_CHANNEL_LAST) { Channel = gScanChannel; gEeprom.MrChannel[gEeprom.TX_VFO] = Channel; @@ -428,7 +428,7 @@ void SCANNER_Stop(void) if (!bScanKeepFrequency) { - if (IS_MR_CHANNEL(gNextMrChannel)) + if (gNextMrChannel <= MR_CHANNEL_LAST) { gEeprom.MrChannel[gEeprom.RX_VFO] = gRestoreMrChannel; gEeprom.ScreenChannel[gEeprom.RX_VFO] = Previous; @@ -446,7 +446,7 @@ void SCANNER_Stop(void) return; } - if (!IS_MR_CHANNEL(gRxVfo->CHANNEL_SAVE)) + if (gRxVfo->CHANNEL_SAVE > MR_CHANNEL_LAST) { RADIO_ApplyOffset(gRxVfo); RADIO_ConfigureSquelchAndOutputPower(gRxVfo); diff --git a/app/uart.c b/app/uart.c index c109419..f54e722 100644 --- a/app/uart.c +++ b/app/uart.c @@ -450,7 +450,7 @@ bool UART_IsCommandAvailable(void) Index = DMA_INDEX(gUART_WriteIndex, 2); Size = (UART_DMA_Buffer[DMA_INDEX(Index, 1)] << 8) | UART_DMA_Buffer[Index]; - if ((Size + 8) > sizeof(UART_DMA_Buffer)) + if ((Size + 8u) > sizeof(UART_DMA_Buffer)) { gUART_WriteIndex = DmaLength; return false; diff --git a/audio.c b/audio.c index 671d386..b46fd44 100644 --- a/audio.c +++ b/audio.c @@ -142,6 +142,9 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) SYSTEM_DelayMs(60); + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (Beep) { case BEEP_880HZ_60MS_TRIPLE_BEEP: @@ -181,6 +184,8 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) break; } + #pragma GCC diagnostic pop + SYSTEM_DelayMs(Duration); BK4819_EnterTxMute(); SYSTEM_DelayMs(20); diff --git a/driver/adc.c b/driver/adc.c index 6f0214b..bde01f0 100644 --- a/driver/adc.c +++ b/driver/adc.c @@ -134,9 +134,9 @@ void ADC_Configure(ADC_Config_t *pAdc) ; if (SARADC_IE == 0) { - NVIC_DisableIRQ(DP32_SARADC_IRQn); + NVIC_DisableIRQ((IRQn_Type)DP32_SARADC_IRQn); } else { - NVIC_EnableIRQ(DP32_SARADC_IRQn); + NVIC_EnableIRQ((IRQn_Type)DP32_SARADC_IRQn); } } diff --git a/driver/aes.c b/driver/aes.c index 17a3990..6a8b5c0 100644 --- a/driver/aes.c +++ b/driver/aes.c @@ -24,6 +24,8 @@ static void AES_Setup_ENC_CBC(bool IsDecrypt, const void *pKey, const void *pIv) const uint32_t *pK = (const uint32_t *)pKey; const uint32_t *pI = (const uint32_t *)pIv; + (void)IsDecrypt; // unused + AES_CR = (AES_CR & ~AES_CR_EN_MASK) | AES_CR_EN_BITS_DISABLE; AES_CR = AES_CR_CHMOD_BITS_CBC; AES_KEYR3 = pK[0]; diff --git a/driver/keyboard.c b/driver/keyboard.c index e490a13..91285df 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -103,7 +103,7 @@ KEY_Code_t KEYBOARD_Poll(void) // ***************** - for (int j = 0; j < ARRAY_SIZE(keyboard); j++) + for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++) { //Set all high GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | @@ -118,7 +118,7 @@ KEY_Code_t KEYBOARD_Poll(void) // Read all 4 GPIO pins at once uint16_t reg = GPIOA->DATA; - for (int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) + for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { uint16_t mask = 1u << keyboard[j].pins[i].pin; if (!(reg & mask)) diff --git a/driver/spi.c b/driver/spi.c index 9fb5e02..4a1a279 100644 --- a/driver/spi.c +++ b/driver/spi.c @@ -93,9 +93,9 @@ void SPI_Configure(volatile SPI_Port_t *pPort, SPI_Config_t *pConfig) if (pPort->IE) { if (pPort == SPI0) { - NVIC_EnableIRQ(DP32_SPI0_IRQn); + NVIC_EnableIRQ((IRQn_Type)DP32_SPI0_IRQn); } else if (pPort == SPI1) { - NVIC_EnableIRQ(DP32_SPI1_IRQn); + NVIC_EnableIRQ((IRQn_Type)DP32_SPI1_IRQn); } } } diff --git a/firmware.bin b/firmware.bin index 1c41ed71bafb87c6582928a0bf533aaf43b99353..021cb5e75cdecebbb8396298f6a14c5a919459f1 100644 GIT binary patch delta 3344 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 GQvVB*87-{< delta 3363 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 09cbff680524f678b2a798eac2f924c1453ffbfd..7f88a7a9fa8f8d3255a908b9e4fc43982ddc2c4e 100644 GIT binary patch delta 6676 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 PvXjLi`(-KcOZ@%^HW8BR diff --git a/misc.h b/misc.h index d19c28e..7de519d 100644 --- a/misc.h +++ b/misc.h @@ -24,26 +24,22 @@ #define ARRAY_SIZE(x) (sizeof(x) / sizeof(x[0])) #endif -#define IS_MR_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= MR_CHANNEL_LAST) -#define IS_FREQ_CHANNEL(x) ((x) >= FREQ_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -#define IS_VALID_CHANNEL(x) ((x) < LAST_CHANNEL) +#define IS_MR_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= MR_CHANNEL_LAST) +#define IS_FREQ_CHANNEL(x) ((x) >= FREQ_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) +#define IS_VALID_CHANNEL(x) ((x) < LAST_CHANNEL) -#ifdef ENABLE_NOAA - #define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) - #define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -#endif +#define IS_NOAA_CHANNEL(x) ((x) >= NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) +#define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -enum { +typedef enum { MR_CHANNEL_FIRST = 0, MR_CHANNEL_LAST = 199u, FREQ_CHANNEL_FIRST = 200u, FREQ_CHANNEL_LAST = 206u, - #ifdef ENABLE_NOAA - NOAA_CHANNEL_FIRST = 207u, - NOAA_CHANNEL_LAST = 216u, - #endif + NOAA_CHANNEL_FIRST = 207u, + NOAA_CHANNEL_LAST = 216u, LAST_CHANNEL -}; +} channel_num_t; enum { FLASHLIGHT_OFF = 0, diff --git a/radio.c b/radio.c index f712f2d..bced7d7 100644 --- a/radio.c +++ b/radio.c @@ -51,7 +51,7 @@ bool RADIO_CheckValidChannel(uint16_t Channel, bool bCheckScanList, uint8_t VFO) uint8_t PriorityCh1; uint8_t PriorityCh2; - if (!IS_MR_CHANNEL(Channel)) + if (Channel > MR_CHANNEL_LAST) return false; Attributes = gMR_ChannelAttributes[Channel]; @@ -176,7 +176,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure } #endif - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { Channel = RADIO_FindNextChannel(Channel, RADIO_CHANNEL_UP, false, VFO); if (Channel == 0xFF) @@ -200,7 +200,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure uint8_t Index; - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { Channel = gEeprom.FreqChannel[VFO]; gEeprom.ScreenChannel[VFO] = gEeprom.FreqChannel[VFO]; @@ -218,7 +218,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure Band = BAND6_400MHz; } - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) { gEeprom.VfoInfo[VFO].Band = Band; gEeprom.VfoInfo[VFO].SCANLIST1_PARTICIPATION = !!(Attributes & MR_CH_SCANLIST1); @@ -235,7 +235,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure gEeprom.VfoInfo[VFO].SCANLIST2_PARTICIPATION = bParticipation2; gEeprom.VfoInfo[VFO].CHANNEL_SAVE = Channel; - if (IS_MR_CHANNEL(Channel)) + if (Channel <= MR_CHANNEL_LAST) Base = Channel * 16; else Base = 0x0C80 + ((Channel - FREQ_CHANNEL_FIRST) * 32) + (VFO * 16); @@ -380,13 +380,13 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure if (Frequency >= 10800000 && Frequency < 13600000) gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY_DIRECTION = TX_OFFSET_FREQUENCY_DIRECTION_OFF; else - if (!IS_MR_CHANNEL(Channel)) + if (Channel > MR_CHANNEL_LAST) gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY = FREQUENCY_FloorToStep(gEeprom.VfoInfo[VFO].TX_OFFSET_FREQUENCY, gEeprom.VfoInfo[VFO].StepFrequency, 0); RADIO_ApplyOffset(pRadio); memset(gEeprom.VfoInfo[VFO].Name, 0, sizeof(gEeprom.VfoInfo[VFO].Name)); - if (IS_MR_CHANNEL(Channel)) + if (Channel < MR_CHANNEL_LAST) { // 16 bytes allocated to the channel name but only 10 used, the rest are 0's EEPROM_ReadBuffer(0x0F50 + (Channel * 16), gEeprom.VfoInfo[VFO].Name + 0, 8); EEPROM_ReadBuffer(0x0F58 + (Channel * 16), gEeprom.VfoInfo[VFO].Name + 8, 2); @@ -576,6 +576,9 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) BK4819_ToggleGpioOut(BK4819_GPIO0_PIN28_GREEN, false); + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (Bandwidth) { default: @@ -591,6 +594,8 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) break; } + #pragma GCC diagnostic pop + BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, false); BK4819_SetupPowerAmplifier(0, 0); @@ -825,6 +830,9 @@ void RADIO_SetTxParameters(void) BK4819_ToggleGpioOut(BK4819_GPIO6_PIN2, false); + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (Bandwidth) { default: @@ -840,6 +848,8 @@ void RADIO_SetTxParameters(void) break; } + #pragma GCC diagnostic pop + BK4819_SetFrequency(gCurrentVfo->pTX->Frequency); // TX compressor diff --git a/settings.c b/settings.c index 8bec24b..7755012 100644 --- a/settings.c +++ b/settings.c @@ -184,10 +184,6 @@ void SETTINGS_SaveSettings(void) EEPROM_WriteBuffer(0x0F40, State); } -void SETTINGS_LoadChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO) -{ -} - void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, uint8_t Mode) { #ifdef ENABLE_NOAA @@ -197,13 +193,13 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, const uint16_t OffsetMR = Channel * 16; uint16_t OffsetVFO = OffsetMR; - if (!IS_MR_CHANNEL(Channel)) + if (Channel > MR_CHANNEL_LAST) { // it's a VFO, not a channel OffsetVFO = (VFO == 0) ? 0x0C80 : 0x0C90; OffsetVFO += (Channel - FREQ_CHANNEL_FIRST) * 32; } - if (Mode >= 2 || !IS_MR_CHANNEL(Channel)) + if (Mode >= 2 || Channel > MR_CHANNEL_LAST) { // copy VFO to a channel uint8_t State[8]; @@ -228,8 +224,9 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, SETTINGS_UpdateChannel(Channel, pVFO, true); - if (IS_MR_CHANNEL(Channel)) - { + if (Channel <= MR_CHANNEL_LAST) + { // it's a memory channel + #ifndef ENABLE_KEEP_MEM_NAME // clear/reset the channel name //memset(&State, 0xFF, sizeof(State)); @@ -262,7 +259,7 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep) uint8_t Attributes = 0xFF; // default attributes uint16_t Offset = 0x0D60 + (Channel & ~7u); - Attributes &= ~MR_CH_COMPAND; // default to '0' = compander disabled + Attributes &= (uint8_t)(~MR_CH_COMPAND); // default to '0' = compander disabled EEPROM_ReadBuffer(Offset, State, sizeof(State)); @@ -280,8 +277,9 @@ void SETTINGS_UpdateChannel(uint8_t Channel, const VFO_Info_t *pVFO, bool keep) gMR_ChannelAttributes[Channel] = Attributes; // #ifndef ENABLE_KEEP_MEM_NAME - if (IS_MR_CHANNEL(Channel)) - { + if (Channel <= MR_CHANNEL_LAST) + { // it's a memory channel + const uint16_t OffsetMR = Channel * 16; if (!keep) { // clear/reset the channel name diff --git a/ui/main.c b/ui/main.c index 3f2c910..c829cf3 100644 --- a/ui/main.c +++ b/ui/main.c @@ -14,6 +14,10 @@ * limitations under the License. */ + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + #pragma GCC diagnostic pop + #include #include // abs() @@ -42,6 +46,9 @@ center_line_t center_line = CENTER_LINE_NONE; void UI_drawBars(uint8_t *p, const unsigned int level) { + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (level) { default: @@ -54,6 +61,8 @@ void UI_drawBars(uint8_t *p, const unsigned int level) case 1: memmove(p + 0, BITMAP_Antenna, sizeof(BITMAP_Antenna)); case 0: break; } + + #pragma GCC diagnostic pop } #ifdef ENABLE_AUDIO_BAR @@ -214,6 +223,8 @@ void UI_UpdateRSSI(const int16_t rssi, const int vfo) { #ifdef ENABLE_RSSI_BAR + (void)vfo; // unused + // optional larger RSSI dBm, S-point and bar level if (center_line != CENTER_LINE_RSSI) @@ -333,13 +344,13 @@ void UI_DisplayMain(void) for (vfo_num = 0; vfo_num < 2; vfo_num++) { const unsigned int line = (vfo_num == 0) ? line0 : line1; - uint8_t channel = gEeprom.TX_VFO; -// uint8_t tx_channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; + unsigned int channel = gEeprom.TX_VFO; +// unsigned int tx_channel = (gEeprom.CROSS_BAND_RX_TX == CROSS_BAND_OFF) ? gEeprom.RX_VFO : gEeprom.TX_VFO; const bool same_vfo = (channel == vfo_num) ? true : false; uint8_t *p_line0 = gFrameBuffer[line + 0]; uint8_t *p_line1 = gFrameBuffer[line + 1]; - uint8_t mode = 0; - uint8_t state; + unsigned int mode = 0; + unsigned int state; if (single_vfo) { // we're in single VFO mode - screen is dedicated to just one VFO @@ -457,7 +468,7 @@ void UI_DisplayMain(void) } } - if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) + if (gEeprom.ScreenChannel[vfo_num] <= MR_CHANNEL_LAST) { // channel mode const unsigned int x = 2; const bool inputting = (gInputBoxIndex == 0 || gEeprom.TX_VFO != vfo_num) ? false : true; @@ -508,7 +519,7 @@ void UI_DisplayMain(void) if (state != VFO_STATE_NORMAL) { const char *state_list[] = {"", "BUSY", "BAT LOW", "TX DISABLE", "TIMEOUT", "ALARM", "VOLT HIGH"}; - if (state >= 0 && state < ARRAY_SIZE(state_list)) + if (state < ARRAY_SIZE(state_list)) UI_PrintString(state_list[state], 31, 0, line, 8); } else @@ -528,8 +539,8 @@ void UI_DisplayMain(void) frequency = gEeprom.VfoInfo[vfo_num].pTX->Frequency; } - if (IS_MR_CHANNEL(gEeprom.ScreenChannel[vfo_num])) - { // channel mode + if (gEeprom.ScreenChannel[vfo_num] <= MR_CHANNEL_LAST) + { // it's a channel // show the channel symbols const uint8_t attributes = gMR_ChannelAttributes[gEeprom.ScreenChannel[vfo_num]]; @@ -546,6 +557,9 @@ void UI_DisplayMain(void) #endif + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gEeprom.CHANNEL_DISPLAY_MODE) { case MDF_FREQUENCY: // show the channel frequency @@ -595,6 +609,8 @@ void UI_DisplayMain(void) break; } + + #pragma GCC diagnostic pop } else { // frequency mode @@ -660,7 +676,7 @@ void UI_DisplayMain(void) const FREQ_Config_t *pConfig = (mode == 1) ? gEeprom.VfoInfo[vfo_num].pTX : gEeprom.VfoInfo[vfo_num].pRX; const unsigned int code_type = pConfig->CodeType; const char *code_list[] = {"", "CT", "DCS", "DCR"}; - if (code_type >= 0 && code_type < ARRAY_SIZE(code_list)) + if (code_type < ARRAY_SIZE(code_list)) strcpy(String, code_list[code_type]); } UI_PrintStringSmall(String, LCD_WIDTH + 24, 0, line + 1); @@ -669,7 +685,7 @@ void UI_DisplayMain(void) { // show the TX power const char pwr_list[] = "LMH"; const unsigned int i = gEeprom.VfoInfo[vfo_num].OUTPUT_POWER; - String[0] = (i >= 0 && i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0'; + String[0] = (i < ARRAY_SIZE(pwr_list)) ? pwr_list[i] : '\0'; String[1] = '\0'; UI_PrintStringSmall(String, LCD_WIDTH + 46, 0, line + 1); } diff --git a/ui/menu.c b/ui/menu.c index 424e137..26b3cc0 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -436,6 +436,9 @@ void UI_DisplayMenu(void) bool already_printed = false; + #pragma GCC diagnostic push + #pragma GCC diagnostic ignored "-Wimplicit-fallthrough=" + switch (gMenuCursor) { case MENU_SQL: @@ -806,6 +809,8 @@ void UI_DisplayMenu(void) } } + #pragma GCC diagnostic pop + if (!already_printed) { // we now do multi-line text in a single string From 40d09591b38aa766220196706314d0ff8a2a8225 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 16:28:20 +0100 Subject: [PATCH 05/12] Fixed silly error I made --- Makefile | 2 + app/app.c | 2 +- app/menu.c | 2 +- driver/keyboard.c | 194 ++++++++++++++++++++++---------------------- driver/keyboard.h | 46 +++++------ firmware.bin | Bin 53888 -> 53704 bytes firmware.packed.bin | Bin 53906 -> 53722 bytes misc.h | 4 +- 8 files changed, 126 insertions(+), 124 deletions(-) diff --git a/Makefile b/Makefile index 3be841a..d9ebbe1 100644 --- a/Makefile +++ b/Makefile @@ -200,6 +200,8 @@ endif # May cause unhelpful build failures #CFLAGS += -Wpadded + +# catch any and all warnings CFLAGS += -Wextra CFLAGS += -DPRINTF_INCLUDE_CONFIG_H diff --git a/app/app.c b/app/app.c index b4786e4..787b67d 100644 --- a/app/app.c +++ b/app/app.c @@ -1376,7 +1376,7 @@ void APP_CheckKeys(void) Key == KEY_DOWN || Key == KEY_EXIT || Key == KEY_MENU || - Key <= KEY_9) // keys 0-9 can be held down to bypass pressing the F-Key + (Key >= KEY_0 && Key <= KEY_9)) // keys 0-9 can be held down to bypass pressing the F-Key { gKeyBeingHeld = true; APP_ProcessKey(Key, true, true); diff --git a/app/menu.c b/app/menu.c index 018795b..6c10820 100644 --- a/app/menu.c +++ b/app/menu.c @@ -1175,7 +1175,7 @@ static void MENU_Key_0_to_9(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (edit_index < 10) { - if (/* Key >= KEY_0 && */ Key <= KEY_9) + if (Key >= KEY_0 && Key <= KEY_9) { edit[edit_index] = '0' + Key - KEY_0; diff --git a/driver/keyboard.c b/driver/keyboard.c index 91285df..3b5f4b7 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -28,70 +28,69 @@ uint16_t gDebounceCounter; bool gWasFKeyPressed; static const struct { - // Using a 16 bit pre-calculated shift and invert is cheaper - // than using 8 bit and doing shift and invert in code. - uint16_t set_to_zero_mask; - - //We are very fortunate. - //The key and pin defines fit together in a single u8, - //making this very efficient - struct { - uint8_t key : 5; //Key 23 is highest - uint8_t pin : 3; //Pin 6 is highest - } pins[4]; -} keyboard[5] = { - /* Zero row */ - { - //Set to zero to handle special case of nothing pulled down. - .set_to_zero_mask = 0, - .pins = { - { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, - /* Duplicate to fill the array with valid values */ - { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, - } - }, - /* First row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_4)), - .pins = { - { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_4, .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_7, .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, - /* Second row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_5)), - .pins = { - { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_5 , .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_8 , .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, - /* Third row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_6)), - .pins = { - { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_6 , .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_9 , .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, - /* Fourth row */ - { - .set_to_zero_mask = (uint16_t)(~(1u << GPIOA_PIN_KEYBOARD_7)), - .pins = { - { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, - { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, - { .key = KEY_0 , .pin = GPIOA_PIN_KEYBOARD_2}, - { .key = KEY_F , .pin = GPIOA_PIN_KEYBOARD_3}, - } - }, + + // Using a 16 bit pre-calculated shift and invert is cheaper + // than using 8 bit and doing shift and invert in code. + uint16_t set_to_zero_mask; + + // We are very fortunate. + // The key and pin defines fit together in a single u8, making this very efficient + struct { + uint8_t key : 5; // Key 23 is highest + uint8_t pin : 3; // Pin 6 is highest + } pins[4]; + +} keyboard[] = { + + // Zero row + { + // Set to zero to handle special case of nothing pulled down. + .set_to_zero_mask = 0xffff, + .pins = { + { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_SIDE2, .pin = GPIOA_PIN_KEYBOARD_1}, + + // Duplicate to fill the array with valid values + { .key = KEY_INVALID, .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_INVALID, .pin = GPIOA_PIN_KEYBOARD_1} + } + }, + { // First row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_4) & 0xffff, + .pins = { + { .key = KEY_MENU, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_1, .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_4, .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_7, .pin = GPIOA_PIN_KEYBOARD_3} + } + }, + { // Second row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_5) & 0xffff, + .pins = { + { .key = KEY_UP, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_2 , .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_5 , .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_8 , .pin = GPIOA_PIN_KEYBOARD_3} + } + }, + { // Third row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_6) & 0xffff, + .pins = { + { .key = KEY_DOWN, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_3 , .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_6 , .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_9 , .pin = GPIOA_PIN_KEYBOARD_3} + } + }, + { // Fourth row + .set_to_zero_mask = ~(1u << GPIOA_PIN_KEYBOARD_7) & 0xffff, + .pins = { + { .key = KEY_EXIT, .pin = GPIOA_PIN_KEYBOARD_0}, + { .key = KEY_STAR, .pin = GPIOA_PIN_KEYBOARD_1}, + { .key = KEY_0 , .pin = GPIOA_PIN_KEYBOARD_2}, + { .key = KEY_F , .pin = GPIOA_PIN_KEYBOARD_3} + } + } }; KEY_Code_t KEYBOARD_Poll(void) @@ -100,41 +99,44 @@ KEY_Code_t KEYBOARD_Poll(void) // if (!GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_PTT)) // return KEY_PTT; - // ***************** - for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++) + + for (unsigned int j = 0; j < ARRAY_SIZE(keyboard); j++) + { + uint16_t reg; + + // Set all high + GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | + 1u << GPIOA_PIN_KEYBOARD_5 | + 1u << GPIOA_PIN_KEYBOARD_6 | + 1u << GPIOA_PIN_KEYBOARD_7; + + // Clear the pin we are selecting + GPIOA->DATA &= keyboard[j].set_to_zero_mask; + + // Wait for the pins to stabilize + SYSTICK_DelayUs(1); + + // Read all 4 GPIO pins at once + reg = GPIOA->DATA; + for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { - //Set all high - GPIOA->DATA |= 1u << GPIOA_PIN_KEYBOARD_4 | - 1u << GPIOA_PIN_KEYBOARD_5 | - 1u << GPIOA_PIN_KEYBOARD_6 | - 1u << GPIOA_PIN_KEYBOARD_7 ; - //Clear the pin we are selecting - GPIOA->DATA &= keyboard[j].set_to_zero_mask; - - //Wait for the pins to stabilize. 1 works for me. - SYSTICK_DelayUs(2); - - // Read all 4 GPIO pins at once - uint16_t reg = GPIOA->DATA; - for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) - { - uint16_t mask = 1u << keyboard[j].pins[i].pin; - if (!(reg & mask)) - { - Key = keyboard[j].pins[i].key; - break; - } - } - - if (Key != KEY_INVALID) - break; - } - - //Create I2C stop condition. Since we might have toggled I2C pins. - //This leaves GPIOA_PIN_KEYBOARD_4 and GPIOA_PIN_KEYBOARD_5 high - I2C_Stop(); + const uint16_t mask = 1u << keyboard[j].pins[i].pin; + if (!(reg & mask)) + { + Key = keyboard[j].pins[i].key; + break; + } + } + + if (Key != KEY_INVALID) + break; + } + + // Create I2C stop condition. Since we might have toggled I2C pins. + // This leaves GPIOA_PIN_KEYBOARD_4 and GPIOA_PIN_KEYBOARD_5 high + I2C_Stop(); // Reset VOICE pins GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_KEYBOARD_6); diff --git a/driver/keyboard.h b/driver/keyboard.h index 36a5d3c..78c1a4f 100644 --- a/driver/keyboard.h +++ b/driver/keyboard.h @@ -21,30 +21,28 @@ #include #include -enum KEY_Code_t { - KEY_0 = 0, - KEY_1 = 1, - KEY_2 = 2, - KEY_3 = 3, - KEY_4 = 4, - KEY_5 = 5, - KEY_6 = 6, - KEY_7 = 7, - KEY_8 = 8, - KEY_9 = 9, - KEY_MENU = 10, - KEY_UP = 11, - KEY_DOWN = 12, - KEY_EXIT = 13, - KEY_STAR = 14, - KEY_F = 15, - KEY_PTT = 21, - KEY_SIDE2 = 22, - KEY_SIDE1 = 23, - KEY_INVALID = 255 -}; - -typedef enum KEY_Code_t KEY_Code_t; +typedef enum { + KEY_INVALID = 0, + KEY_0, + KEY_1, + KEY_2, + KEY_3, + KEY_4, + KEY_5, + KEY_6, + KEY_7, + KEY_8, + KEY_9, + KEY_MENU, + KEY_UP, + KEY_DOWN, + KEY_EXIT, + KEY_STAR, + KEY_F, + KEY_PTT, + KEY_SIDE2, + KEY_SIDE1 +} KEY_Code_t; extern KEY_Code_t gKeyReading0; extern KEY_Code_t gKeyReading1; diff --git a/firmware.bin b/firmware.bin index 021cb5e75cdecebbb8396298f6a14c5a919459f1..61974d989fffb98264eb1f369b8f1f3d92a166b4 100644 GIT binary patch delta 14928 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

I4rL*?_5bX!I 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 delta 36240 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 NOAA_CHANNEL_FIRST && (x) <= NOAA_CHANNEL_LAST) #define IS_NOT_NOAA_CHANNEL(x) ((x) >= MR_CHANNEL_FIRST && (x) <= FREQ_CHANNEL_LAST) -typedef enum { +enum { MR_CHANNEL_FIRST = 0, MR_CHANNEL_LAST = 199u, FREQ_CHANNEL_FIRST = 200u, @@ -39,7 +39,7 @@ typedef enum { NOAA_CHANNEL_FIRST = 207u, NOAA_CHANNEL_LAST = 216u, LAST_CHANNEL -} channel_num_t; +}; enum { FLASHLIGHT_OFF = 0, From 5c346c846621dbf0639907321a0ba108fcc8e050 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 17:38:25 +0100 Subject: [PATCH 06/12] Fic typing in keys bug --- Makefile | 2 +- README.md | 26 +++++++++++++++----------- app/main.c | 19 +++++++++++++------ driver/gpio.h | 6 +++--- driver/keyboard.c | 18 +++++++++--------- driver/st7565.c | 13 +++++++++---- firmware.bin | Bin 53704 -> 53696 bytes firmware.packed.bin | Bin 53722 -> 53714 bytes ui/inputbox.c | 5 +++-- ui/inputbox.h | 2 +- 10 files changed, 54 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index d9ebbe1..80b6b39 100644 --- a/Makefile +++ b/Makefile @@ -202,7 +202,7 @@ endif #CFLAGS += -Wpadded # catch any and all warnings -CFLAGS += -Wextra +#CFLAGS += -Wextra CFLAGS += -DPRINTF_INCLUDE_CONFIG_H CFLAGS += -DGIT_HASH=\"$(GIT_HASH)\" diff --git a/README.md b/README.md index 93ae5f9..31c7ea3 100644 --- a/README.md +++ b/README.md @@ -9,20 +9,24 @@ Anyway, have fun. # Radio performance -Please note that the Quansheng uv-k radios are not professional quality transceivers, their -performance is strictly limited, somewhat below that of a decent transceiver. The RX front -end has no track-tuned band pass filtering at all, and so are wide band/wide open to any -and all signals over a wide frequency range. -Using the radio in high intensity RF environments will nearly always destroy your reception, -the receiver simply doesn't have a great dynamic range, which means distorted AM audio with -strong received signals, there is nothing more anyone can do in firmware/software to stop that -happening once the RX gain adjustment I do (AM fix) reaches the hardwares limit. +Please note that the Quansheng UV-Kx radios are not professional quality transceivers, their +performance is strictly limited. The RX front end has no track-tuned band pass filtering +at all, and so are wide band/wide open to any and all signals over a large frequency range. -Saying that, they are nice toys for the price, fun to play with. +Using the radio in high intensity RF environments will most likely make reception anything but +easy (AM mode will suffer far more than FM ever will), the receiver simply doesn't have a +great dynamic range, which results in distorted AM audio with stronger RX'ed signals. +There is nothing more anyone can do in firmware/software to improve that, once the RX gain +adjustment I do (AM fix) reaches the hardwares limit, your AM RX audio will be all but +non-existant (just like Quansheng's firmware). +On the other hand, FM RX audio will/should be fine. + +But, they are nice toys for the price, fun to play with. # User customization -You can customize the firmware by enabling/disabling various compile options. +You can customize the firmware by enabling/disabling various compile options, this allows +us to remove certain firmware features in order to make room in the flash for others. You'll find the options at the top of "Makefile" ('0' = disable, '1' = enable) .. ``` @@ -68,7 +72,7 @@ ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO * or * Long-press '5' .. Toggle selected channel scanlist setting .. if NOAA is disabled in Makefile * -* Long-press '*' .. Start scanning, then toggles scanlist scan 1, 2 or ALL channel scanning +* Long-press '*' .. Start scanning, then toggles the scanning between scanlists 1, 2 or ALL channels # Some changes made from the Quansheng firmware diff --git a/app/main.c b/app/main.c index fe08b78..a11036a 100644 --- a/app/main.c +++ b/app/main.c @@ -68,8 +68,15 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) uint8_t Vfo = gEeprom.TX_VFO; if (gScreenToDisplay == DISPLAY_MENU) + { +// if (beep) + gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; return; + } +// if (beep) + gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + switch (Key) { case KEY_0: @@ -530,6 +537,10 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) { + if (bKeyPressed && !bKeyHeld) + // menu key pressed + gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + if (bKeyHeld) { // menu key held down (long press) @@ -603,14 +614,10 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) const bool bFlag = (gInputBoxIndex == 0); gInputBoxIndex = 0; - gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; - if (bFlag) { gFlagRefreshSetting = true; - gRequestDisplayScreen = DISPLAY_MENU; - #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_MENU; #endif @@ -808,7 +815,7 @@ void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { if (!bKeyHeld) { - const char Character = DTMF_GetCharacter(Key); + const char Character = DTMF_GetCharacter(Key - KEY_0); if (Character != 0xFF) { // add key to DTMF string DTMF_Append(Character); @@ -827,7 +834,7 @@ void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) // TODO: ??? if (Key > KEY_PTT) { - Key = KEY_SIDE2; + Key = KEY_SIDE2; // what's this doing ??? } switch (Key) diff --git a/driver/gpio.h b/driver/gpio.h index a6e6158..0d9f1d0 100644 --- a/driver/gpio.h +++ b/driver/gpio.h @@ -58,10 +58,10 @@ enum GPIOC_PINS { GPIOC_PIN_PTT = 5 }; -void GPIO_ClearBit(volatile uint32_t *pReg, uint8_t Bit); +void GPIO_ClearBit(volatile uint32_t *pReg, uint8_t Bit); uint8_t GPIO_CheckBit(volatile uint32_t *pReg, uint8_t Bit); -void GPIO_FlipBit(volatile uint32_t *pReg, uint8_t Bit); -void GPIO_SetBit(volatile uint32_t *pReg, uint8_t Bit); +void GPIO_FlipBit( volatile uint32_t *pReg, uint8_t Bit); +void GPIO_SetBit( volatile uint32_t *pReg, uint8_t Bit); #endif diff --git a/driver/keyboard.c b/driver/keyboard.c index 3b5f4b7..c6af554 100644 --- a/driver/keyboard.c +++ b/driver/keyboard.c @@ -22,10 +22,10 @@ #include "driver/i2c.h" #include "misc.h" -KEY_Code_t gKeyReading0 = KEY_INVALID; -KEY_Code_t gKeyReading1 = KEY_INVALID; -uint16_t gDebounceCounter; -bool gWasFKeyPressed; +KEY_Code_t gKeyReading0 = KEY_INVALID; +KEY_Code_t gKeyReading1 = KEY_INVALID; +uint16_t gDebounceCounter = 0; +bool gWasFKeyPressed = false; static const struct { @@ -42,9 +42,8 @@ static const struct { } keyboard[] = { - // Zero row - { - // Set to zero to handle special case of nothing pulled down. + { // Zero row + // Set to zero to handle special case of nothing pulled down .set_to_zero_mask = 0xffff, .pins = { { .key = KEY_SIDE1, .pin = GPIOA_PIN_KEYBOARD_0}, @@ -120,6 +119,7 @@ KEY_Code_t KEYBOARD_Poll(void) // Read all 4 GPIO pins at once reg = GPIOA->DATA; + for (unsigned int i = 0; i < ARRAY_SIZE(keyboard[j].pins); i++) { const uint16_t mask = 1u << keyboard[j].pins[i].pin; @@ -134,13 +134,13 @@ KEY_Code_t KEYBOARD_Poll(void) break; } - // Create I2C stop condition. Since we might have toggled I2C pins. + // Create I2C stop condition since we might have toggled I2C pins // This leaves GPIOA_PIN_KEYBOARD_4 and GPIOA_PIN_KEYBOARD_5 high I2C_Stop(); // Reset VOICE pins GPIO_ClearBit(&GPIOA->DATA, GPIOA_PIN_KEYBOARD_6); - GPIO_SetBit(&GPIOA->DATA, GPIOA_PIN_KEYBOARD_7); + GPIO_SetBit( &GPIOA->DATA, GPIOA_PIN_KEYBOARD_7); return Key; } diff --git a/driver/st7565.c b/driver/st7565.c index dd4061a..c2ccd3f 100644 --- a/driver/st7565.c +++ b/driver/st7565.c @@ -123,6 +123,7 @@ void ST7565_FillScreen(uint8_t Value) ST7565_Init(false); SPI_ToggleMasterMode(&SPI0->CR, false); + for (i = 0; i < 8; i++) { unsigned int j; @@ -135,6 +136,7 @@ void ST7565_FillScreen(uint8_t Value) } SPI_WaitForUndocumentedTxFifoStatusBit(); } + SPI_ToggleMasterMode(&SPI0->CR, true); } @@ -152,6 +154,8 @@ void ST7565_Init(const bool full) SYSTEM_DelayMs(120); } + else + SPI_ToggleMasterMode(&SPI0->CR, false); ST7565_WriteByte(0xA2); // bias 9 ST7565_WriteByte(0xC0); // com normal @@ -164,9 +168,10 @@ void ST7565_Init(const bool full) ST7565_WriteByte(0x24); // ST7565_WriteByte(0x81); // volume first ? + ST7565_WriteByte(0x1f); // contrast ? + if (full) { - ST7565_WriteByte(0x1f); // contrast ? ST7565_WriteByte(0x2B); // power control ? SYSTEM_DelayMs(1); @@ -181,11 +186,11 @@ void ST7565_Init(const bool full) ST7565_WriteByte(0x2F); // SYSTEM_DelayMs(40); - - ST7565_WriteByte(0x40); // start line ? - ST7565_WriteByte(0xAF); // display on ? } + ST7565_WriteByte(0x40); // start line ? + ST7565_WriteByte(0xAF); // display on ? + SPI_WaitForUndocumentedTxFifoStatusBit(); SPI_ToggleMasterMode(&SPI0->CR, true); diff --git a/firmware.bin b/firmware.bin index 61974d989fffb98264eb1f369b8f1f3d92a166b4..a14311b57a63d97bc6028e0e3825e8823847029a 100644 GIT binary patch delta 13483 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 450bac588cc8adba6830d3412fd2454d052e0590..28c5bb71642d607167657bcc011d2a22d831e3b4 100644 GIT binary patch delta 46861 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 +#include "driver/keyboard.h" #include "ui/inputbox.h" char gInputBox[8]; uint8_t gInputBoxIndex; -void INPUTBOX_Append(char Digit) +void INPUTBOX_Append(const char Digit) { if (gInputBoxIndex >= sizeof(gInputBox)) return; @@ -29,6 +30,6 @@ void INPUTBOX_Append(char Digit) if (gInputBoxIndex == 0) memset(gInputBox, 10, sizeof(gInputBox)); - gInputBox[gInputBoxIndex++] = Digit; + gInputBox[gInputBoxIndex++] = Digit - KEY_0; } diff --git a/ui/inputbox.h b/ui/inputbox.h index be01fe9..4750178 100644 --- a/ui/inputbox.h +++ b/ui/inputbox.h @@ -22,7 +22,7 @@ extern char gInputBox[8]; extern uint8_t gInputBoxIndex; -void INPUTBOX_Append(char Digit); +void INPUTBOX_Append(const char Digit); #endif From ec5e9dde66a73cceeae9d12424c55524d80612a4 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 22:44:44 +0100 Subject: [PATCH 07/12] Squelch tuning --- Makefile | 2 +- README.md | 2 +- app/app.c | 2 +- app/main.c | 2 +- app/scanner.c | 4 ++- app/uart.c | 76 ++++++++++++++++++++++++-------------------- driver/bk4819.c | 32 ++++++++++--------- firmware.bin | Bin 53696 -> 53752 bytes firmware.packed.bin | Bin 53714 -> 53770 bytes init.c | 14 +++----- radio.c | 63 +++++++++++++++++++----------------- ui/inputbox.c | 6 ++-- ui/inputbox.h | 4 ++- 13 files changed, 111 insertions(+), 96 deletions(-) diff --git a/Makefile b/Makefile index 80b6b39..a85453e 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1 -#ENABLE_FASTER_CHANNEL_SCAN := 0 +ENABLE_FASTER_CHANNEL_SCAN := 0 ENABLE_RSSI_BAR := 1 ENABLE_AUDIO_BAR := 0 ENABLE_COPY_CHAN_TO_VFO := 1 diff --git a/README.md b/README.md index 31c7ea3..af5a874 100644 --- a/README.md +++ b/README.md @@ -56,7 +56,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 enable/disable 32-sec CTCSS/DCS scan ti ENABLE_AM_FIX := 1 dynamically adjust the front end gains when in AM mode to helo prevent AM demodulator saturation, ignore the on-screen RSSI level (for now) ENABLE_AM_FIX_SHOW_DATA := 1 show debug data for the AM fix (still tweaking it) ENABLE_SQUELCH_MORE_SENSITIVE := 0 make squelch levels a little bit more sensitive - I plan to let user adjust the values themselves -#ENABLE_FASTER_CHANNEL_SCAN := 0 don't use (for now) .. increases the channel scan speed, but the squelch is also made more twitchy +ENABLE_FASTER_CHANNEL_SCAN := 0 increases the channel scan speed, but the squelch is also made more twitchy ENABLE_RSSI_BAR := 1 enable a dBm/Sn RSSI bar graph level inplace of the little antenna symbols ENABLE_AUDIO_BAR := 0 experimental, display an audo bar level when TX'ing ENABLE_COPY_CHAN_TO_VFO := 1 copy current channel into the other VFO. Long press Menu key ('M') diff --git a/app/app.c b/app/app.c index 787b67d..684884e 100644 --- a/app/app.c +++ b/app/app.c @@ -727,7 +727,7 @@ static void MR_NextChannel(void) } #ifdef ENABLE_FASTER_CHANNEL_SCAN - ScanPauseDelayIn_10ms = 8; // 80ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? + ScanPauseDelayIn_10ms = 10; // 100ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? #else ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; #endif diff --git a/app/main.c b/app/main.c index a11036a..2e6d572 100644 --- a/app/main.c +++ b/app/main.c @@ -354,7 +354,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) // if (IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) // #endif if (IS_FREQ_CHANNEL(gTxVfo->CHANNEL_SAVE)) - { // user is entering frequency + { // user is entering a frequency uint32_t Frequency; diff --git a/app/scanner.c b/app/scanner.c index b74fc27..e6783e6 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -53,7 +53,9 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) uint16_t Channel; gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + INPUTBOX_Append(Key); + gRequestDisplayScreen = DISPLAY_SCANNER; if (gInputBoxIndex < 3) @@ -65,8 +67,8 @@ static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } gInputBoxIndex = 0; - Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; + Channel = ((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1; if (Channel <= MR_CHANNEL_LAST) { #ifdef ENABLE_VOICE diff --git a/app/uart.c b/app/uart.c index f54e722..61d1ac5 100644 --- a/app/uart.c +++ b/app/uart.c @@ -48,7 +48,7 @@ typedef struct { } Header_t; typedef struct { - uint8_t Padding[2]; + uint8_t Padding[2]; uint16_t ID; } Footer_t; @@ -60,10 +60,10 @@ typedef struct { typedef struct { Header_t Header; struct { - char Version[16]; - bool bHasCustomAesKey; - bool bIsInLockScreen; - uint8_t Padding[2]; + char Version[16]; + bool bHasCustomAesKey; + bool bIsInLockScreen; + uint8_t Padding[2]; uint32_t Challenge[4]; } Data; } REPLY_0514_t; @@ -71,8 +71,8 @@ typedef struct { typedef struct { Header_t Header; uint16_t Offset; - uint8_t Size; - uint8_t Padding; + uint8_t Size; + uint8_t Padding; uint32_t Timestamp; } CMD_051B_t; @@ -80,19 +80,19 @@ typedef struct { Header_t Header; struct { uint16_t Offset; - uint8_t Size; - uint8_t Padding; - uint8_t Data[128]; + uint8_t Size; + uint8_t Padding; + uint8_t Data[128]; } Data; } REPLY_051B_t; typedef struct { Header_t Header; uint16_t Offset; - uint8_t Size; - bool bAllowPassword; + uint8_t Size; + bool bAllowPassword; uint32_t Timestamp; - uint8_t Data[0]; + uint8_t Data[0]; } CMD_051D_t; typedef struct { @@ -106,8 +106,8 @@ typedef struct { Header_t Header; struct { uint16_t RSSI; - uint8_t ExNoiseIndicator; - uint8_t GlitchIndicator; + uint8_t ExNoiseIndicator; + uint8_t GlitchIndicator; } Data; } REPLY_0527_t; @@ -137,7 +137,10 @@ typedef struct { uint32_t Timestamp; } CMD_052F_t; -static const uint8_t Obfuscation[16] = { 0x16, 0x6C, 0x14, 0xE6, 0x2E, 0x91, 0x0D, 0x40, 0x21, 0x35, 0xD5, 0x40, 0x13, 0x03, 0xE9, 0x80 }; +static const uint8_t Obfuscation[16] = +{ + 0x16, 0x6C, 0x14, 0xE6, 0x2E, 0x91, 0x0D, 0x40, 0x21, 0x35, 0xD5, 0x40, 0x13, 0x03, 0xE9, 0x80 +}; static union { @@ -157,12 +160,11 @@ static void SendReply(void *pReply, uint16_t Size) { Header_t Header; Footer_t Footer; - uint8_t *pBytes; - uint16_t i; if (bIsEncrypted) { - pBytes = (uint8_t *)pReply; + uint8_t *pBytes = (uint8_t *)pReply; + unsigned int i; for (i = 0; i < Size; i++) pBytes[i] ^= Obfuscation[i % 16]; } @@ -171,6 +173,7 @@ static void SendReply(void *pReply, uint16_t Size) Header.Size = Size; UART_Send(&Header, sizeof(Header)); UART_Send(pReply, Size); + if (bIsEncrypted) { Footer.Padding[0] = Obfuscation[(Size + 0) % 16] ^ 0xFF; @@ -205,14 +208,16 @@ static void SendVersion(void) static bool IsBadChallenge(const uint32_t *pKey, const uint32_t *pIn, const uint32_t *pResponse) { - uint8_t i; - uint32_t IV[4]; + unsigned int i; + uint32_t IV[4]; IV[0] = 0; IV[1] = 0; IV[2] = 0; IV[3] = 0; + AES_Encrypt(pKey, IV, pIn, IV, true); + for (i = 0; i < 4; i++) if (IV[i] != pResponse[i]) return true; @@ -254,10 +259,10 @@ static void CMD_051B(const uint8_t *pBuffer) #endif memset(&Reply, 0, sizeof(Reply)); - Reply.Header.ID = 0x051C; + Reply.Header.ID = 0x051C; Reply.Header.Size = pCmd->Size + 4; Reply.Data.Offset = pCmd->Offset; - Reply.Data.Size = pCmd->Size; + Reply.Data.Size = pCmd->Size; if (bHasCustomAesKey) bLocked = gIsLocked; @@ -294,7 +299,7 @@ static void CMD_051D(const uint8_t *pBuffer) if (!bIsLocked) { - uint16_t i; + unsigned int i; for (i = 0; i < (pCmd->Size / 8); i++) { const uint16_t Offset = pCmd->Offset + (i * 8U); @@ -331,23 +336,25 @@ static void CMD_0529(void) { REPLY_0529_t Reply; - Reply.Header.ID = 0x52A; + Reply.Header.ID = 0x52A; Reply.Header.Size = sizeof(Reply.Data); + // Original doesn't actually send current! BOARD_ADC_GetBatteryInfo(&Reply.Data.Voltage, &Reply.Data.Current); + SendReply(&Reply, sizeof(Reply)); } static void CMD_052D(const uint8_t *pBuffer) { const CMD_052D_t *pCmd = (const CMD_052D_t *)pBuffer; - REPLY_052D_t Reply; - bool bIsLocked; + REPLY_052D_t Reply; + bool bIsLocked; #ifdef ENABLE_FMRADIO gFmRadioCountdown_500ms = fm_radio_countdown_500ms; #endif - Reply.Header.ID = 0x052E; + Reply.Header.ID = 0x052E; Reply.Header.Size = sizeof(Reply.Data); bIsLocked = bHasCustomAesKey; @@ -413,15 +420,13 @@ static void CMD_052F(const uint8_t *pBuffer) bool UART_IsCommandAvailable(void) { - uint16_t DmaLength; - uint16_t CommandLength; uint16_t Index; uint16_t TailIndex; uint16_t Size; uint16_t CRC; - uint16_t i; + uint16_t CommandLength; + uint16_t DmaLength = DMA_CH0->ST & 0xFFFU; - DmaLength = DMA_CH0->ST & 0xFFFU; while (1) { if (gUART_WriteIndex == DmaLength) @@ -495,9 +500,12 @@ bool UART_IsCommandAvailable(void) bIsEncrypted = true; if (bIsEncrypted) - for (i = 0; i < Size + 2; i++) + { + unsigned int i; + for (i = 0; i < (Size + 2u); i++) UART_Command.Buffer[i] ^= Obfuscation[i % 16]; - + } + CRC = UART_Command.Buffer[Size] | (UART_Command.Buffer[Size + 1] << 8); return (CRC_Calculate(UART_Command.Buffer, Size) != CRC) ? false : true; diff --git a/driver/bk4819.c b/driver/bk4819.c index 3715df3..d485c96 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -738,7 +738,7 @@ void BK4819_SetupSquelch( // BK4819_WriteRegister(BK4819_REG_70, 0); - // Glitch threshold for Squelch + // Glitch threshold for Squelch = close // // 0 ~ 255 // @@ -748,47 +748,49 @@ void BK4819_SetupSquelch( // // <15:14> 1 ??? // - // <13:11> 5 Squelch = 1 Delay Setting + // <13:11> 5 Squelch = open Delay Setting // 0 ~ 7 // - // <10:9> 7 Squelch = 0 Delay Setting + // <10:9> 7 Squelch = close Delay Setting // 0 ~ 3 // // <8> 0 ??? // - // <7:0> 8 Glitch threshold for Squelch = 1 + // <7:0> 8 Glitch threshold for Squelch = open // 0 ~ 255 // BK4819_WriteRegister(BK4819_REG_4E, // 01 101 11 1 00000000 #ifndef ENABLE_FASTER_CHANNEL_SCAN - // original - (1u << 14) | // 1 ??? - (5u << 11) | // 5 squelch = 1 delay .. 0 ~ 7 - (3u << 9) | // 3 squelch = 0 delay .. 0 ~ 3 - SquelchOpenGlitchThresh); // 0 ~ 255 + // original (*) + (1u << 14) | // 1 ??? + (3u << 11) | // *5 squelch = open delay .. 0 ~ 7 + (2u << 9) | // *3 squelch = close delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #else // faster (but twitchier) - (1u << 14) | // 1 ??? - SquelchOpenGlitchThresh); // 0 ~ 255 + (1u << 14) | // 1 ??? + (2u << 11) | // *5 squelch = open delay .. 0 ~ 7 + (1u << 9) | // *3 squelch = close delay .. 0 ~ 3 + SquelchOpenGlitchThresh); // 0 ~ 255 #endif // REG_4F // - // <14:8> 47 Ex-noise threshold for Squelch = 0 + // <14:8> 47 Ex-noise threshold for Squelch = close // 0 ~ 127 // // <7> ??? // - // <6:0> 46 Ex-noise threshold for Squelch = 1 + // <6:0> 46 Ex-noise threshold for Squelch = open // 0 ~ 127 // BK4819_WriteRegister(BK4819_REG_4F, ((uint16_t)SquelchCloseNoiseThresh << 8) | SquelchOpenNoiseThresh); // REG_78 // - // <15:8> 72 RSSI threshold for Squelch = 1 0.5dB/step + // <15:8> 72 RSSI threshold for Squelch = open 0.5dB/step // - // <7:0> 70 RSSI threshold for Squelch = 0 0.5dB/step + // <7:0> 70 RSSI threshold for Squelch = close 0.5dB/step // BK4819_WriteRegister(BK4819_REG_78, ((uint16_t)SquelchOpenRSSIThresh << 8) | SquelchCloseRSSIThresh); diff --git a/firmware.bin b/firmware.bin index a14311b57a63d97bc6028e0e3825e8823847029a..a6a9476c1cf3dd44e680fa2122c9f751657d15ca 100644 GIT binary patch delta 9166 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 ZHipQpUmC=L+{||WY;-vrp delta 9369 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 delta 48589 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 - uint16_t Base = (Band < BAND4_174MHz) ? 0x1E60 : 0x1E00; + FREQUENCY_Band_t Band; + + // ******************************* + // squelch + + Band = FREQUENCY_GetBand(pInfo->pRX->Frequency); + uint16_t Base = (Band < BAND4_174MHz) ? 0x1E60 : 0x1E00; if (gEeprom.SQUELCH_LEVEL == 0) { // squelch == 0 (off) @@ -441,7 +446,7 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) } else { // squelch >= 1 - Base += gEeprom.SQUELCH_LEVEL; // my squelch-1 + Base += gEeprom.SQUELCH_LEVEL; // my eeprom squelch-1 // VHF UHF EEPROM_ReadBuffer(Base + 0x00, &pInfo->SquelchOpenRSSIThresh, 1); // 50 10 EEPROM_ReadBuffer(Base + 0x10, &pInfo->SquelchCloseRSSIThresh, 1); // 40 5 @@ -467,40 +472,35 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // note that 'noise' and 'glitch' values are inverted compared to 'rssi' values #if 0 - rssi_open = (rssi_open * 8) / 9; - rssi_close = (rssi_close * 8) / 9; - - noise_open = (noise_open * 9) / 8; - noise_close = (noise_close * 9) / 8; - - glitch_open = (glitch_open * 9) / 8; - glitch_close = (glitch_close * 9) / 8; + rssi_open = (rssi_open * 8) / 9; + noise_open = (noise_open * 9) / 8; + glitch_open = (glitch_open * 9) / 8; #else // even more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - - rssi_open = (rssi_open * 1) / 2; - rssi_close = (rssi_close * 1) / 2; - - noise_open = (noise_open * 2) / 1; - noise_close = (noise_close * 2) / 1; - - glitch_open = (glitch_open * 2) / 1; - glitch_close = (glitch_close * 2) / 1; + rssi_open = (rssi_open * 1) / 2; + noise_open = (noise_open * 2) / 1; + glitch_open = (glitch_open * 2) / 1; #endif #else // more sensitive .. use when RX bandwidths are fixed (no weak signal auto adjust) - - rssi_open = (rssi_open * 3) / 4; - rssi_close = (rssi_close * 3) / 4; - - noise_open = (noise_open * 4) / 3; - noise_close = (noise_close * 4) / 3; - - glitch_open = (glitch_open * 4) / 3; - glitch_close = (glitch_close * 4) / 3; + rssi_open = (rssi_open * 3) / 4; + noise_open = (noise_open * 4) / 3; + glitch_open = (glitch_open * 4) / 3; #endif + rssi_close = (rssi_open * 9) / 10; + noise_close = (noise_open * 10) / 9; + glitch_close = (glitch_open * 10) / 9; + + // ensure the 'close' threshold is lower than the 'open' threshold + if (rssi_close == rssi_open && rssi_close > 0) + rssi_close--; + if (noise_close == noise_open && noise_close < 127) + noise_close++; + if (glitch_close == glitch_open && glitch_close < 255) + glitch_close++; + pInfo->SquelchOpenRSSIThresh = (rssi_open > 255) ? 255 : rssi_open; pInfo->SquelchCloseRSSIThresh = (rssi_close > 255) ? 255 : rssi_close; pInfo->SquelchOpenNoiseThresh = (noise_open > 127) ? 127 : noise_open; @@ -509,6 +509,9 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) pInfo->SquelchCloseGlitchThresh = (glitch_close > 255) ? 255 : glitch_close; } + // ******************************* + // output power + Band = FREQUENCY_GetBand(pInfo->pTX->Frequency); EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3); @@ -521,6 +524,8 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) (frequencyBandTable[Band].lower + frequencyBandTable[Band].upper) / 2, frequencyBandTable[Band].upper, pInfo->pTX->Frequency); + + // ******************************* } void RADIO_ApplyOffset(VFO_Info_t *pInfo) diff --git a/ui/inputbox.c b/ui/inputbox.c index c0c04e4..e352cce 100644 --- a/ui/inputbox.c +++ b/ui/inputbox.c @@ -16,13 +16,12 @@ #include -#include "driver/keyboard.h" #include "ui/inputbox.h" char gInputBox[8]; uint8_t gInputBoxIndex; -void INPUTBOX_Append(const char Digit) +void INPUTBOX_Append(const KEY_Code_t Digit) { if (gInputBoxIndex >= sizeof(gInputBox)) return; @@ -30,6 +29,7 @@ void INPUTBOX_Append(const char Digit) if (gInputBoxIndex == 0) memset(gInputBox, 10, sizeof(gInputBox)); - gInputBox[gInputBoxIndex++] = Digit - KEY_0; + if (Digit >= KEY_0 && Digit != KEY_INVALID) + gInputBox[gInputBoxIndex++] = (char)(Digit - KEY_0); } diff --git a/ui/inputbox.h b/ui/inputbox.h index 4750178..d7a6d2e 100644 --- a/ui/inputbox.h +++ b/ui/inputbox.h @@ -19,10 +19,12 @@ #include +#include "driver/keyboard.h" + extern char gInputBox[8]; extern uint8_t gInputBoxIndex; -void INPUTBOX_Append(const char Digit); +void INPUTBOX_Append(const KEY_Code_t Digit); #endif From 9c7d6a38e5fe3332085b58baf0b8ddf2b3fe72b8 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 22:59:26 +0100 Subject: [PATCH 08/12] Remember scan ALL channels option across power cycles --- app/app.c | 6 +++--- board.c | 3 ++- firmware.bin | Bin 53752 -> 53752 bytes firmware.packed.bin | Bin 53770 -> 53770 bytes 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/app/app.c b/app/app.c index 684884e..4279eaa 100644 --- a/app/app.c +++ b/app/app.c @@ -660,7 +660,7 @@ static void MR_NextChannel(void) if (RADIO_CheckValidChannel(chan1, false, 0)) { gCurrentScanList = SCAN_NEXT_CHAN_SCANLIST1; - gNextMrChannel = chan1; + gNextMrChannel = chan1; break; } } @@ -1079,14 +1079,14 @@ void APP_Update(void) if (gCurrentFunction == FUNCTION_INCOMING) APP_StartListening(gMonitor ? FUNCTION_MONITOR : FUNCTION_RECEIVE, true); else - FREQ_NextChannel(); + FREQ_NextChannel(); // switch to next frequency } else { if (gCurrentCodeType == CODE_TYPE_OFF && gCurrentFunction == FUNCTION_INCOMING) APP_StartListening(gMonitor ? FUNCTION_MONITOR : FUNCTION_RECEIVE, true); else - MR_NextChannel(); + MR_NextChannel(); // switch to next channel } gScanPauseMode = false; diff --git a/board.c b/board.c index 259b0a5..a632726 100644 --- a/board.c +++ b/board.c @@ -687,7 +687,8 @@ void BOARD_EEPROM_Init(void) // 0F18..0F1F EEPROM_ReadBuffer(0x0F18, Data, 8); - gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 2) ? Data[0] : false; +// gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 2) ? Data[0] : false; + gEeprom.SCAN_LIST_DEFAULT = (Data[0] < 3) ? Data[0] : false; // we now have 'all' channel scan option for (i = 0; i < 2; i++) { const unsigned int j = 1 + (i * 3); diff --git a/firmware.bin b/firmware.bin index a6a9476c1cf3dd44e680fa2122c9f751657d15ca..56821b471d3b2955ef2b2338ce4708655e709a02 100644 GIT binary patch delta 42 rcmeydnEA(I<_#Vu1_z_Y QMPGw_`m@i$IS>NOA510{egFUf delta 58 zcmV-A0LA}`qyvhi1F!}l2YvT~R93iGvkf2z5CJi>6)Vu1_$%T QLk^64rnAq%IS>M}mxS6EG5`Po From 16c908f0bf6692be0aa729f0c32c8441a7ba4e94 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 5 Oct 2023 23:58:55 +0100 Subject: [PATCH 09/12] Channel/Frequency scanning updates --- Makefile | 2 +- app/action.c | 46 ++++++++++++------ app/app.c | 93 +++++++++++++++++++------------------ app/app.h | 2 +- app/dtmf.c | 2 +- app/generic.c | 2 +- app/main.c | 18 ++++--- app/menu.c | 6 +-- app/scanner.c | 6 +-- app/scanner.h | 8 ++-- bitmaps.c | 47 ------------------- bitmaps.h | 5 -- firmware.bin | Bin 53752 -> 53860 bytes firmware.packed.bin | Bin 53770 -> 53878 bytes font.c | 10 ++-- scheduler.c | 8 ++-- ui/status.c | 28 +++++------ ui/ui.c | 2 +- utils/uv-k5_small_bold.bin | Bin 760 -> 760 bytes utils/uv-k5_small_bold.fon | Bin 1920 -> 1920 bytes 20 files changed, 132 insertions(+), 153 deletions(-) diff --git a/Makefile b/Makefile index a85453e..849e661 100644 --- a/Makefile +++ b/Makefile @@ -29,7 +29,7 @@ ENABLE_CODE_SCAN_TIMEOUT := 0 ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH_MORE_SENSITIVE := 1 -ENABLE_FASTER_CHANNEL_SCAN := 0 +ENABLE_FASTER_CHANNEL_SCAN := 1 ENABLE_RSSI_BAR := 1 ENABLE_AUDIO_BAR := 0 ENABLE_COPY_CHAN_TO_VFO := 1 diff --git a/app/action.c b/app/action.c index 7036ebd..3d0ec31 100644 --- a/app/action.c +++ b/app/action.c @@ -84,11 +84,11 @@ void ACTION_Monitor(void) gMonitor = false; - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { - ScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; - gScheduleScanListen = false; - gScanPauseMode = true; + gScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; + gScheduleScanListen = false; + gScanPauseMode = true; } #ifdef ENABLE_NOAA @@ -182,23 +182,36 @@ void ACTION_Scan(bool bRestart) { GUI_SelectNextDisplay(DISPLAY_MAIN); - if (gScanState != SCAN_OFF) - { - #if 1 + if (gScanStateDir != SCAN_OFF) + { // already scanning + + if (gNextMrChannel <= MR_CHANNEL_LAST) + { // channel mode + // keep scanning but toggle between scan lists gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) % 3; + + // jump to the next channel + CHANNEL_Next(true, gScanStateDir); + gScanPauseDelayIn_10ms = 1; + gScheduleScanListen = false; + gUpdateStatus = true; - #else + } + else + { // stop scanning + SCANNER_Stop(); #ifdef ENABLE_VOICE gAnotherVoiceID = VOICE_ID_SCANNING_STOP; #endif - #endif + } } else - { - CHANNEL_Next(true, 1); + { // start scanning + + CHANNEL_Next(true, SCAN_FWD); #ifdef ENABLE_VOICE AUDIO_SetVoiceID(0, VOICE_ID_SCANNING_BEGIN); @@ -215,9 +228,16 @@ void ACTION_Scan(bool bRestart) } } else - if (!bRestart) - { // keep scanning but toggle between scan lists +// if (!bRestart) + if (!bRestart && gNextMrChannel <= MR_CHANNEL_LAST) + { // channel mode, keep scanning but toggle between scan lists gEeprom.SCAN_LIST_DEFAULT = (gEeprom.SCAN_LIST_DEFAULT + 1) % 3; + + // jump to the next channel + CHANNEL_Next(true, gScanStateDir); + gScanPauseDelayIn_10ms = 1; + gScheduleScanListen = false; + gUpdateStatus = true; } else diff --git a/app/app.c b/app/app.c index 4279eaa..c0a284b 100644 --- a/app/app.c +++ b/app/app.c @@ -95,15 +95,15 @@ static void APP_CheckForIncoming(void) // squelch is open - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) { // not RF scanning if (gCssScanMode != CSS_SCAN_MODE_OFF && gRxReceptionMode == RX_MODE_NONE) { // CTCSS/DTS scanning - ScanPauseDelayIn_10ms = scan_pause_delay_in_5_10ms; - gScheduleScanListen = false; - gRxReceptionMode = RX_MODE_DETECTED; + gScanPauseDelayIn_10ms = scan_pause_delay_in_5_10ms; + gScheduleScanListen = false; + gRxReceptionMode = RX_MODE_DETECTED; } if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) @@ -166,8 +166,8 @@ static void APP_CheckForIncoming(void) return; } - ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; + gScheduleScanListen = false; } gRxReceptionMode = RX_MODE_DETECTED; @@ -200,7 +200,7 @@ static void APP_HandleIncoming(void) return; } - bFlag = (gScanState == SCAN_OFF && gCurrentCodeType == CODE_TYPE_OFF); + bFlag = (gScanStateDir == SCAN_OFF && gCurrentCodeType == CODE_TYPE_OFF); #ifdef ENABLE_NOAA if (IS_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE) && gNOAACountdown_10ms > 0) @@ -224,7 +224,7 @@ static void APP_HandleIncoming(void) if (!bFlag) return; - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { // not scanning if (gRxVfo->DTMF_DECODING_ENABLE || gSetting_KILLED) { // DTMF DCD is enabled @@ -268,7 +268,7 @@ static void APP_HandleReceive(void) goto Skip; } - if (gScanState != SCAN_OFF && IS_FREQ_CHANNEL(gNextMrChannel)) + if (gScanStateDir != SCAN_OFF && IS_FREQ_CHANNEL(gNextMrChannel)) { if (g_SquelchLost) return; @@ -399,7 +399,7 @@ Skip: gUpdateDisplay = true; - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { switch (gEeprom.SCAN_RESUME_MODE) { @@ -407,8 +407,8 @@ Skip: break; case SCAN_RESUME_CO: - ScanPauseDelayIn_10ms = scan_pause_delay_in_7_10ms; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_7_10ms; + gScheduleScanListen = false; break; case SCAN_RESUME_SE: @@ -488,23 +488,23 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) if (gSetting_backlight_on_tx_rx >= 2) BACKLIGHT_TurnOn(); - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { switch (gEeprom.SCAN_RESUME_MODE) { case SCAN_RESUME_TO: if (!gScanPauseMode) { - ScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; - gScheduleScanListen = false; - gScanPauseMode = true; + gScanPauseDelayIn_10ms = scan_pause_delay_in_1_10ms; + gScheduleScanListen = false; + gScanPauseMode = true; } break; case SCAN_RESUME_CO: case SCAN_RESUME_SE: - ScanPauseDelayIn_10ms = 0; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = 0; + gScheduleScanListen = false; break; } @@ -527,7 +527,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) if (gCssScanMode != CSS_SCAN_MODE_OFF) gCssScanMode = CSS_SCAN_MODE_FOUND; - if (gScanState == SCAN_OFF && + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) { // not scanning, dual watch is enabled @@ -623,14 +623,17 @@ uint32_t APP_SetFrequencyByStep(VFO_Info_t *pInfo, int8_t Step) static void FREQ_NextChannel(void) { - gRxVfo->freq_config_RX.Frequency = APP_SetFrequencyByStep(gRxVfo, gScanState); + gRxVfo->freq_config_RX.Frequency = APP_SetFrequencyByStep(gRxVfo, gScanStateDir); RADIO_ApplyOffset(gRxVfo); RADIO_ConfigureSquelchAndOutputPower(gRxVfo); RADIO_SetupRegisters(true); -// ScanPauseDelayIn_10ms = scan_pause_delay_in_6_10ms; - ScanPauseDelayIn_10ms = 10; // 100ms .. it don't like any faster :( + #ifdef ENABLE_FASTER_CHANNEL_SCAN + gScanPauseDelayIn_10ms = 9; // 90ms + #else + gScanPauseDelayIn_10ms = scan_pause_delay_in_6_10ms; + #endif bScanKeepFrequency = false; gUpdateDisplay = true; @@ -704,7 +707,7 @@ static void MR_NextChannel(void) if (!enabled || chan == 0xff) { - chan = RADIO_FindNextChannel(gNextMrChannel + gScanState, gScanState, (gEeprom.SCAN_LIST_DEFAULT < 2) ? true : false, gEeprom.SCAN_LIST_DEFAULT); + chan = RADIO_FindNextChannel(gNextMrChannel + gScanStateDir, gScanStateDir, (gEeprom.SCAN_LIST_DEFAULT < 2) ? true : false, gEeprom.SCAN_LIST_DEFAULT); if (chan == 0xFF) { // no valid channel found @@ -727,9 +730,9 @@ static void MR_NextChannel(void) } #ifdef ENABLE_FASTER_CHANNEL_SCAN - ScanPauseDelayIn_10ms = 10; // 100ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? + gScanPauseDelayIn_10ms = 9; // 90ms .. <= ~60ms it misses signals (squelch response and/or PLL lock time) ? #else - ScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; + gScanPauseDelayIn_10ms = scan_pause_delay_in_3_10ms; #endif bScanKeepFrequency = false; @@ -976,7 +979,7 @@ void APP_EndTransmission(void) if (gCurrentFunction == FUNCTION_RECEIVE || gCurrentFunction == FUNCTION_MONITOR) return; - if (gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) + if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) return; if (gVOX_NoiseDetected) @@ -1068,9 +1071,9 @@ void APP_Update(void) #endif #ifdef ENABLE_VOICE - if (gScreenToDisplay != DISPLAY_SCANNER && gScanState != SCAN_OFF && gScheduleScanListen && !gPttIsPressed && gVoiceWriteIndex == 0) + if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed && gVoiceWriteIndex == 0) #else - if (gScreenToDisplay != DISPLAY_SCANNER && gScanState != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) + if (gScreenToDisplay != DISPLAY_SCANNER && gScanStateDir != SCAN_OFF && gScheduleScanListen && !gPttIsPressed) #endif { // scanning @@ -1129,7 +1132,7 @@ void APP_Update(void) if (gScheduleDualWatch) #endif { - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) + if (gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { if (!gPttIsPressed && #ifdef ENABLE_FMRADIO @@ -1179,7 +1182,7 @@ void APP_Update(void) gPttIsPressed || gKeyBeingHeld || gEeprom.BATTERY_SAVE == 0 || - gScanState != SCAN_OFF || + gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) @@ -1204,7 +1207,7 @@ void APP_Update(void) gPttIsPressed || gKeyBeingHeld || gEeprom.BATTERY_SAVE == 0 || - gScanState != SCAN_OFF || + gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) @@ -1238,7 +1241,7 @@ void APP_Update(void) #endif if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && - gScanState == SCAN_OFF && + gScanStateDir == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { // dual watch mode, toggle between the two VFO's DUALWATCH_Alternate(); @@ -1252,7 +1255,7 @@ void APP_Update(void) gRxIdleMode = false; // RX is awake } else - if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF || gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gUpdateRSSI) + if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF || gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gUpdateRSSI) { // dual watch mode, go back to sleep updateRSSI(gEeprom.RX_VFO); @@ -1817,9 +1820,9 @@ void APP_TimeSlice500ms(void) GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn backlight off #ifdef ENABLE_AIRCOPY - if (gScanState == SCAN_OFF && gScreenToDisplay != DISPLAY_AIRCOPY && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) + if (gScanStateDir == SCAN_OFF && gScreenToDisplay != DISPLAY_AIRCOPY && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) #else - if (gScanState == SCAN_OFF && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) + if (gScanStateDir == SCAN_OFF && (gScreenToDisplay != DISPLAY_SCANNER || gScanCssState >= SCAN_CSS_STATE_FOUND)) #endif { bool exit_menu = false; @@ -2039,32 +2042,32 @@ void APP_TimeSlice500ms(void) } #endif -void CHANNEL_Next(bool bFlag, int8_t Direction) +void CHANNEL_Next(const bool bFlag, const int8_t scan_direction) { RADIO_SelectVfos(); gNextMrChannel = gRxVfo->CHANNEL_SAVE; gCurrentScanList = SCAN_NEXT_CHAN_SCANLIST1; - gScanState = Direction; + gScanStateDir = scan_direction; if (gNextMrChannel <= MR_CHANNEL_LAST) - { + { // channel mode if (bFlag) gRestoreMrChannel = gNextMrChannel; MR_NextChannel(); } else - { + { // frequency mode if (bFlag) gRestoreFrequency = gRxVfo->freq_config_RX.Frequency; FREQ_NextChannel(); } - ScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; - gScheduleScanListen = false; - gRxReceptionMode = RX_MODE_NONE; - gScanPauseMode = false; - bScanKeepFrequency = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; + gScheduleScanListen = false; + gRxReceptionMode = RX_MODE_NONE; + gScanPauseMode = false; + bScanKeepFrequency = false; } static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) @@ -2195,7 +2198,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) Key != KEY_STAR && Key != KEY_MENU) { - if (gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) + if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) { // FREQ/CTCSS/DCS scanning if (bKeyPressed && !bKeyHeld) AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); diff --git a/app/app.h b/app/app.h index 8d029b0..6f958da 100644 --- a/app/app.h +++ b/app/app.h @@ -29,7 +29,7 @@ extern const uint8_t orig_mixer; extern const uint8_t orig_pga; void APP_EndTransmission(void); -void CHANNEL_Next(bool bFlag, int8_t Direction); +void CHANNEL_Next(const bool bFlag, const int8_t scan_direction); void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix); uint32_t APP_SetFrequencyByStep(VFO_Info_t *pInfo, int8_t Step); void APP_Update(void); diff --git a/app/dtmf.c b/app/dtmf.c index 0f96941..83d71d3 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -184,7 +184,7 @@ void DTMF_HandleRequest(void) if (!gDTMF_RX_pending) return; // nothing new received - if (gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) + if (gScanStateDir != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF) { // we're busy scanning DTMF_clear_RX(); return; diff --git a/app/generic.c b/app/generic.c index ad7f479..82e8f10 100644 --- a/app/generic.c +++ b/app/generic.c @@ -154,7 +154,7 @@ void GENERIC_Key_PTT(bool bKeyPressed) return; } - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { SCANNER_Stop(); diff --git a/app/main.c b/app/main.c index 2e6d572..c7b3659 100644 --- a/app/main.c +++ b/app/main.c @@ -487,7 +487,7 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) if (!gFmRadioMode) #endif { - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) { if (gInputBoxIndex == 0) return; @@ -563,11 +563,11 @@ static void MAIN_Key_MENU(const bool bKeyPressed, const bool bKeyHeld) if (gEeprom.VFO_OPEN && gCssScanMode == CSS_SCAN_MODE_OFF) { - if (gScanState != SCAN_OFF) + if (gScanStateDir != SCAN_OFF) { if (gCurrentFunction != FUNCTION_INCOMING || gRxReceptionMode == RX_MODE_NONE || - ScanPauseDelayIn_10ms == 0) + gScanPauseDelayIn_10ms == 0) { // scan is running (not paused) return; } @@ -639,7 +639,8 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) } if (bKeyHeld || !bKeyPressed) - { + { // long press + if (bKeyHeld || bKeyPressed) { if (!bKeyHeld) @@ -654,9 +655,9 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) } #ifdef ENABLE_NOAA - if (gScanState == SCAN_OFF && IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) + if (gScanStateDir == SCAN_OFF && IS_NOT_NOAA_CHANNEL(gTxVfo->CHANNEL_SAVE)) #else - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) #endif { gKeyInputCountdown = key_input_timeout_500ms; @@ -739,7 +740,7 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; } - if (gScanState == SCAN_OFF) + if (gScanStateDir == SCAN_OFF) { #ifdef ENABLE_NOAA if (IS_NOT_NOAA_CHANNEL(Channel)) @@ -795,7 +796,10 @@ static void MAIN_Key_UP_DOWN(bool bKeyPressed, bool bKeyHeld, int8_t Direction) return; } + // jump to the next channel CHANNEL_Next(false, Direction); + gScanPauseDelayIn_10ms = 1; + gScheduleScanListen = false; gPttWasReleased = true; } diff --git a/app/menu.c b/app/menu.c index 6c10820..a94b098 100644 --- a/app/menu.c +++ b/app/menu.c @@ -86,8 +86,8 @@ void MENU_StartCssScan(int8_t Direction) MENU_SelectNextCode(); - ScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; - gScheduleScanListen = false; + gScanPauseDelayIn_10ms = scan_pause_delay_in_2_10ms; + gScheduleScanListen = false; } void MENU_StopCssScan(void) @@ -824,7 +824,7 @@ void MENU_SelectNextCode(void) RADIO_SetupRegisters(true); - ScanPauseDelayIn_10ms = (gSelectedCodeType == CODE_TYPE_CONTINUOUS_TONE) ? scan_pause_delay_in_3_10ms : scan_pause_delay_in_4_10ms; + gScanPauseDelayIn_10ms = (gSelectedCodeType == CODE_TYPE_CONTINUOUS_TONE) ? scan_pause_delay_in_3_10ms : scan_pause_delay_in_4_10ms; gUpdateDisplay = true; } diff --git a/app/scanner.c b/app/scanner.c index e6783e6..91367a7 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -37,11 +37,11 @@ uint32_t gScanFrequency; bool gScanPauseMode; SCAN_CssState_t gScanCssState; volatile bool gScheduleScanListen = true; -volatile uint16_t ScanPauseDelayIn_10ms; +volatile uint16_t gScanPauseDelayIn_10ms; uint8_t gScanProgressIndicator; uint8_t gScanHitCount; bool gScanUseCssResult; -int8_t gScanState; +int8_t gScanStateDir; bool bScanKeepFrequency; static void SCANNER_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) @@ -426,7 +426,7 @@ void SCANNER_Stop(void) { const uint8_t Previous = gRestoreMrChannel; - gScanState = SCAN_OFF; + gScanStateDir = SCAN_OFF; if (!bScanKeepFrequency) { diff --git a/app/scanner.h b/app/scanner.h index 9a6b17d..8730ea6 100644 --- a/app/scanner.h +++ b/app/scanner.h @@ -32,7 +32,9 @@ typedef enum SCAN_CssState_t SCAN_CssState_t; enum { - SCAN_OFF = 0, + SCAN_REV = -1, + SCAN_OFF = 0, + SCAN_FWD = +1 }; extern DCS_CodeType_t gScanCssResultType; @@ -46,11 +48,11 @@ extern uint32_t gScanFrequency; extern bool gScanPauseMode; extern SCAN_CssState_t gScanCssState; extern volatile bool gScheduleScanListen; -extern volatile uint16_t ScanPauseDelayIn_10ms; +extern volatile uint16_t gScanPauseDelayIn_10ms; extern uint8_t gScanProgressIndicator; extern uint8_t gScanHitCount; extern bool gScanUseCssResult; -extern int8_t gScanState; +extern int8_t gScanStateDir; extern bool bScanKeepFrequency; void SCANNER_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); diff --git a/bitmaps.c b/bitmaps.c index 9bc4252..38ae540 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -281,54 +281,7 @@ const uint8_t BITMAP_TDR2[12] = 0b00110001 }; #endif -/* -const uint8_t BITMAP_SC1[8] = -{ // "I" - 0b01000001, - 0b01000001, - 0b01111111, - 0b01111111, - 0b01111111, - 0b01000001, - 0b01000001, - 0b00000000 -}; -const uint8_t BITMAP_SC2[8] = -{ // "II" - 0b01000001, - 0b01111111, - 0b01111111, - 0b01000001, - 0b01111111, - 0b01111111, - 0b01000001, - 0b00000000 -}; -*/ -/* -const uint8_t BITMAP_SC1[7] = -{ // "1" - 0b01000000, - 0b01000000, - 0b01000110, - 0b01111111, - 0b01000000, - 0b01000000, - 0b00000000 -}; - -const uint8_t BITMAP_SC2[7] = -{ // "2" - 0b01000010, - 0b01100001, - 0b01010001, - 0b01001001, - 0b01001001, - 0b01000110, - 0b00000000 -}; -*/ const uint8_t BITMAP_Antenna[5] = { 0b00000011, diff --git a/bitmaps.h b/bitmaps.h index ab0d979..310ff60 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -46,11 +46,6 @@ extern const uint8_t BITMAP_TDR2[12]; extern const uint8_t BITMAP_NOAA[12]; #endif -//extern const uint8_t BITMAP_SC1[8]; -//extern const uint8_t BITMAP_SC2[8]; -//extern const uint8_t BITMAP_SC1[7]; -//extern const uint8_t BITMAP_SC2[7]; - extern const uint8_t BITMAP_Antenna[5]; extern const uint8_t BITMAP_AntennaLevel1[3]; extern const uint8_t BITMAP_AntennaLevel2[3]; diff --git a/firmware.bin b/firmware.bin index 56821b471d3b2955ef2b2338ce4708655e709a02..bf60880877a16611e5f240707e3d285af1258be6 100644 GIT binary patch delta 8330 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 KmM^a-^!|TE1T$&? delta 8124 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 uXrF%**?2Do7E9G;b8|74Mh<~q7VE4 delta 54 zcmeyt`h#_YB$KR7T|z>g4FemSU0qt89Rq_+U0O|o4Un!$sHm81#uUzE!#25}$(pfl I@@Xbr0LLT{5&!@I diff --git a/utils/uv-k5_small_bold.fon b/utils/uv-k5_small_bold.fon index f7f5b4b96f67261463bf5a0a25874a3c189c0ff3..e4893726a8a8a348d78493ca62ee0dd208321ed2 100644 GIT binary patch delta 54 zcmZqRZ{XjskWH4srY51rhJlUEt}d<4j)B3ZF0CfPhQXpHp`s#T@;|H!!}u*-I}p( Iaxl9t0JoYCXaE2J From f25e0230f04fb9adf457102a9cd984c13cbf6183 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 6 Oct 2023 00:18:47 +0100 Subject: [PATCH 10/12] Added power-on compile option --- Makefile | 8 +++++++- README.md | 1 + firmware.bin | Bin 53860 -> 53860 bytes firmware.packed.bin | Bin 53878 -> 53878 bytes main.c | 14 ++++++++------ settings.c | 6 ++++-- ui/lock.c | 4 ++++ ui/lock.h | 4 +++- 8 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Makefile b/Makefile index 849e661..c7e0521 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,7 @@ ENABLE_VOICE := 0 ENABLE_VOX := 0 ENABLE_ALARM := 0 ENABLE_TX1750 := 0 +ENABLE_PWRON_PASSWORD := 1 ENABLE_BIG_FREQ := 0 ENABLE_SMALL_BOLD := 1 ENABLE_KEEP_MEM_NAME := 1 @@ -133,7 +134,9 @@ ifeq ($(ENABLE_FMRADIO),1) endif OBJS += ui/helper.o OBJS += ui/inputbox.o -OBJS += ui/lock.o +ifeq ($(ENABLE_PWRON_PASSWORD),1) + OBJS += ui/lock.o +endif OBJS += ui/main.o OBJS += ui/menu.o OBJS += ui/scanner.o @@ -242,6 +245,9 @@ endif ifeq ($(ENABLE_TX1750),1) CFLAGS += -DENABLE_TX1750 endif +ifeq ($(ENABLE_PWRON_PASSWORD),1) + CFLAGS += -DENABLE_PWRON_PASSWORD +endif ifeq ($(ENABLE_KEEP_MEM_NAME),1) CFLAGS += -DENABLE_KEEP_MEM_NAME endif diff --git a/README.md b/README.md index af5a874..d586bc1 100644 --- a/README.md +++ b/README.md @@ -42,6 +42,7 @@ ENABLE_VOICE := 0 want to hear voices ? ENABLE_VOX := 0 ENABLE_ALARM := 0 TX alarms ENABLE_1750HZ := 0 side key 1750Hz TX tone (older style repeater access) +ENABLE_PWRON_PASSWORD := 1 enable the power-on password stuff ENABLE_BIG_FREQ := 0 big font frequencies (like original QS firmware) ENABLE_SMALL_BOLD := 1 bold channel name/no. (when name + freq channel display mode) ENABLE_KEEP_MEM_NAME := 1 maintain channel name when (re)saving memory channel diff --git a/firmware.bin b/firmware.bin index bf60880877a16611e5f240707e3d285af1258be6..985866918bec3ec27c3b1936c39f4f90b24f1fe8 100644 GIT binary patch delta 43 scmaE|g!#!5<_!jtOqp(*jU?ADVmCBPwluIv+x%>|9UGjZeaKP(0A_R#KL7v# delta 43 scmaE|g!#!5<_!jtOo|MfjU?ADVz*2-Pcch0-u!I09UGjZeaKP(09#5A5dZ)H diff --git a/firmware.packed.bin b/firmware.packed.bin index b02f8a55ca6d093085865a7fb6e8de7c655084f3..3b838c8428099f958dc4a58c7f980ff698f505ec 100644 GIT binary patch delta 59 zcmV-B0L1_HqyzS(1F$d|0@Js%G8xnc2YI5>Sy1B%vkf5Pn+NBaQ_UPt)U)=xJ_ZL? RX>6~@@mjMx!Z{EEmd!Dc8(jbZ delta 59 zcmV-B0L1_HqyzS(1F$d|0-N!(G8xnc2XXg?1Xj9Svkf5Pn+NaA2ap;TfwT6zJ_ZL~ RJUH^fs1LI{!Z{EEGtLki8BG8H diff --git a/main.c b/main.c index 7df450b..a7d82f2 100644 --- a/main.c +++ b/main.c @@ -174,12 +174,14 @@ void Main(void) } } - if (gEeprom.POWER_ON_PASSWORD < 1000000) - { - bIsInLockScreen = true; - UI_DisplayLock(); - bIsInLockScreen = false; - } + #ifdef ENABLE_PWRON_PASSWORD + if (gEeprom.POWER_ON_PASSWORD < 1000000) + { + bIsInLockScreen = true; + UI_DisplayLock(); + bIsInLockScreen = false; + } + #endif BOOT_ProcessMode(BootMode); diff --git a/settings.c b/settings.c index 7755012..b7821f8 100644 --- a/settings.c +++ b/settings.c @@ -117,8 +117,10 @@ void SETTINGS_SaveSettings(void) EEPROM_WriteBuffer(0x0E90, State); memset(Password, 0xFF, sizeof(Password)); - Password[0] = gEeprom.POWER_ON_PASSWORD; - EEPROM_WriteBuffer(0x0E98, State); + #ifdef ENABLE_PWRON_PASSWORD + Password[0] = gEeprom.POWER_ON_PASSWORD; + #endif + EEPROM_WriteBuffer(0x0E98, Password); #ifdef ENABLE_VOICE memset(State, 0xFF, sizeof(State)); diff --git a/ui/lock.c b/ui/lock.c index ea5e87f..1dca0a2 100644 --- a/ui/lock.c +++ b/ui/lock.c @@ -14,6 +14,8 @@ * limitations under the License. */ +#ifdef ENABLE_PWRON_PASSWORD + #include #include "ARMCM0.h" @@ -156,3 +158,5 @@ void UI_DisplayLock(void) } } } + +#endif diff --git a/ui/lock.h b/ui/lock.h index 4ad4f49..e42758d 100644 --- a/ui/lock.h +++ b/ui/lock.h @@ -17,7 +17,9 @@ #ifndef UI_LOCK_H #define UI_LOCK_H -void UI_DisplayLock(void); +#ifdef ENABLE_PWRON_PASSWORD + void UI_DisplayLock(void); +#endif #endif From 9a0a75446a1b6cf1303a0c1f1b976726713d23f2 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 6 Oct 2023 00:19:21 +0100 Subject: [PATCH 11/12] README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d586bc1..c1051ae 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ ENABLE_VOICE := 0 want to hear voices ? ENABLE_VOX := 0 ENABLE_ALARM := 0 TX alarms ENABLE_1750HZ := 0 side key 1750Hz TX tone (older style repeater access) -ENABLE_PWRON_PASSWORD := 1 enable the power-on password stuff +ENABLE_PWRON_PASSWORD := 1 power-on password stuff ENABLE_BIG_FREQ := 0 big font frequencies (like original QS firmware) ENABLE_SMALL_BOLD := 1 bold channel name/no. (when name + freq channel display mode) ENABLE_KEEP_MEM_NAME := 1 maintain channel name when (re)saving memory channel From 5397b3ee88b1c63b85207f5d0f1f8c3e48c2c758 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Fri, 6 Oct 2023 07:48:45 +0100 Subject: [PATCH 12/12] Fixed key number offset bug added yesterday --- Dockerfile | 12 + Makefile | 2 +- README.md | 8 +- app/action.c | 1 + app/app.c | 6 +- app/dtmf.c | 5 +- app/main.c | 3 + app/spectrum.c | 1193 +++++++++++++++++++++++++++++++ app/spectrum.h | 171 +++++ compile-with-docker.bat | 4 + compile-with-docker.sh | 3 + driver/bk4819.c | 42 +- driver/bk4819.h | 1 + firmware.bin | Bin 53860 -> 53560 bytes firmware.packed.bin | Bin 53878 -> 53578 bytes font.c | 286 +++++++- functions.c | 3 + AM_fix.mp4 => images/AM_fix.mp4 | Bin image1.png => images/image1.png | Bin image2.png => images/image2.png | Bin image3.png => images/image3.png | Bin radio.c | 27 +- radio.h | 3 +- settings.c | 2 +- ui/menu.c | 9 +- ui/menu.h | 2 +- 26 files changed, 1750 insertions(+), 33 deletions(-) create mode 100644 Dockerfile create mode 100644 app/spectrum.c create mode 100644 app/spectrum.h create mode 100644 compile-with-docker.bat create mode 100644 compile-with-docker.sh rename AM_fix.mp4 => images/AM_fix.mp4 (100%) rename image1.png => images/image1.png (100%) rename image2.png => images/image2.png (100%) rename image3.png => images/image3.png (100%) diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..4b6c3f9 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,12 @@ +FROM archlinux:latest +RUN pacman -Syyu base-devel --noconfirm +RUN pacman -Syyu arm-none-eabi-gcc --noconfirm +RUN pacman -Syyu arm-none-eabi-newlib --noconfirm +RUN pacman -Syyu git --noconfirm +RUN pacman -Syyu python-pip --noconfirm +RUN pacman -Syyu python-crcmod --noconfirm +WORKDIR /app +COPY . . + +RUN git submodule update --init --recursive +#RUN make && cp firmware* compiled-firmware/ diff --git a/Makefile b/Makefile index c7e0521..9e878a2 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ ENABLE_VOICE := 0 ENABLE_VOX := 0 ENABLE_ALARM := 0 ENABLE_TX1750 := 0 -ENABLE_PWRON_PASSWORD := 1 +ENABLE_PWRON_PASSWORD := 0 ENABLE_BIG_FREQ := 0 ENABLE_SMALL_BOLD := 1 ENABLE_KEEP_MEM_NAME := 1 diff --git a/README.md b/README.md index c1051ae..36212d0 100644 --- a/README.md +++ b/README.md @@ -159,13 +159,13 @@ You may obtain a copy of the License at # Example changes/updates

- - - + + +

Video showing the AM fix working .. - + diff --git a/app/action.c b/app/action.c index 3d0ec31..fe07b1d 100644 --- a/app/action.c +++ b/app/action.c @@ -333,6 +333,7 @@ void ACTION_Handle(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (Key == KEY_SIDE1 && !bKeyHeld && bKeyPressed) { gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; + if (gDTMF_InputIndex > 0) { gDTMF_InputBox[--gDTMF_InputIndex] = '-'; diff --git a/app/app.c b/app/app.c index c0a284b..e1006ab 100644 --- a/app/app.c +++ b/app/app.c @@ -2256,14 +2256,16 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) char Code; if (Key == KEY_SIDE2) - { + { // transmit 1750Hz tone Code = 0xFE; } else { - Code = DTMF_GetCharacter(Key); + Code = DTMF_GetCharacter(Key - KEY_0); if (Code == 0xFF) goto Skip; + + // transmit DTMF keys } if (!bKeyPressed || bKeyHeld) diff --git a/app/dtmf.c b/app/dtmf.c index 83d71d3..b5135ff 100644 --- a/app/dtmf.c +++ b/app/dtmf.c @@ -390,8 +390,9 @@ void DTMF_Reply(void) default: case DTMF_REPLY_NONE: - if (gDTMF_CallState != DTMF_CALL_STATE_NONE || - gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_OFF || + if (gDTMF_CallState != DTMF_CALL_STATE_NONE || + gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO || + gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_OFF || gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN) { gDTMF_ReplyState = DTMF_REPLY_NONE; diff --git a/app/main.c b/app/main.c index c7b3659..b650338 100644 --- a/app/main.c +++ b/app/main.c @@ -34,6 +34,9 @@ #include "settings.h" #include "ui/inputbox.h" #include "ui/ui.h" +#ifdef ENABLE_SPECTRUM +// #include "app/spectrum.h" +#endif void toggle_chan_scanlist(void) { // toggle the selected channels scanlist setting diff --git a/app/spectrum.c b/app/spectrum.c new file mode 100644 index 0000000..9d00b86 --- /dev/null +++ b/app/spectrum.c @@ -0,0 +1,1193 @@ +/* Copyright 2023 fagci + * https://github.com/fagci + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include "../app/spectrum.h" + +struct FrequencyBandInfo { + uint32_t lower; + uint32_t upper; + uint32_t middle; +}; + +const struct FrequencyBandInfo FrequencyBandTable[7] = { + [BAND1_50MHz ] = {.lower = 1600000, .middle = 6500000, .upper = 7600000}, + [BAND2_108MHz] = {.lower = 10800000, .middle = 12200000, .upper = 13599990}, + [BAND3_136MHz] = {.lower = 13600000, .middle = 15000000, .upper = 17399990}, + [BAND4_174MHz] = {.lower = 17400000, .middle = 26000000, .upper = 34999990}, + [BAND5_350MHz] = {.lower = 35000000, .middle = 37000000, .upper = 39999990}, + [BAND6_400MHz] = {.lower = 40000000, .middle = 43500000, .upper = 46999990}, + [BAND7_470MHz] = {.lower = 47000000, .middle = 55000000, .upper = 130000000}, +}; + + +#define F_MIN FrequencyBandTable[0].lower +#define F_MAX FrequencyBandTable[ARRAY_SIZE(FrequencyBandTable) - 1].upper + +const uint16_t RSSI_MAX_VALUE = 65535; + +static uint16_t R30, R37, R3D, R43, R47, R48, R7E; +static uint32_t initialFreq; +static char String[32]; + +bool isInitialized = false; +bool isListening = true; +bool monitorMode = false; +bool redrawStatus = true; +bool redrawScreen = false; +bool newScanStart = true; +bool preventKeypress = true; +bool audioState = true; + +State currentState = SPECTRUM, previousState = SPECTRUM; + +PeakInfo peak; +ScanInfo scanInfo; +KeyboardState kbd = {KEY_INVALID, KEY_INVALID, 0}; + +const char *bwOptions[] = {" 25k", "12.5k", "6.25k"}; +const char *modulationTypeOptions[] = {" FM", " AM", "USB"}; +const uint8_t modulationTypeTuneSteps[] = {100, 50, 10}; +const uint8_t modTypeReg47Values[] = {1, 7, 5}; + +SpectrumSettings settings = {stepsCount: STEPS_64, + scanStepIndex: S_STEP_25_0kHz, + frequencyChangeStep: 80000, + scanDelay: 3200, + rssiTriggerLevel: 150, + backlightState: true, + bw: BK4819_FILTER_BW_WIDE, + listenBw: BK4819_FILTER_BW_WIDE, + modulationType: false, + dbMin: -130, + dbMax: -50}; + +uint32_t fMeasure = 0; +uint32_t currentFreq, tempFreq; +uint16_t rssiHistory[128] = {}; + +uint8_t freqInputIndex = 0; +uint8_t freqInputDotIndex = 0; +KEY_Code_t freqInputArr[10]; +char freqInputString[11] = "----------\0"; // XXXX.XXXXX\0 + +uint8_t menuState = 0; +uint16_t listenT = 0; + +RegisterSpec registerSpecs[] = { + {}, + {"LNAs", 0x13, 8, 0b11, 1}, + {"LNA", 0x13, 5, 0b111, 1}, + {"PGA", 0x13, 0, 0b111, 1}, + {"IF", 0x3D, 0, 0xFFFF, 0x2aaa}, + // {"MIX", 0x13, 3, 0b11, 1}, // TODO: hidden +}; + +uint16_t statuslineUpdateTimer = 0; + +static uint8_t DBm2S(int dbm) { + uint8_t i = 0; + dbm *= -1; + for (i = 0; i < ARRAY_SIZE(U8RssiMap); i++) { + if (dbm >= U8RssiMap[i]) { + return i; + } + } + return i; +} + +static int Rssi2DBm(uint16_t rssi) { return (rssi >> 1) - 160; } + +static uint16_t GetRegMenuValue(uint8_t st) { + RegisterSpec s = registerSpecs[st]; + return (BK4819_ReadRegister(s.num) >> s.offset) & s.maxValue; +} + +static void SetRegMenuValue(uint8_t st, bool add) { + uint16_t v = GetRegMenuValue(st); + RegisterSpec s = registerSpecs[st]; + + uint16_t reg = BK4819_ReadRegister(s.num); + if (add && v <= s.maxValue - s.inc) { + v += s.inc; + } else if (!add && v >= 0 + s.inc) { + v -= s.inc; + } + // TODO: use max value for bits count in max value, or reset by additional + // mask in spec + reg &= ~(s.maxValue << s.offset); + BK4819_WriteRegister(s.num, reg | (v << s.offset)); + redrawScreen = true; +} + +// GUI functions + +static void PutPixel(uint8_t x, uint8_t y, bool fill) { + if (fill) { + gFrameBuffer[y >> 3][x] |= 1 << (y & 7); + } else { + gFrameBuffer[y >> 3][x] &= ~(1 << (y & 7)); + } +} +static void PutPixelStatus(uint8_t x, uint8_t y, bool fill) { + if (fill) { + gStatusLine[x] |= 1 << y; + } else { + gStatusLine[x] &= ~(1 << y); + } +} + +static void DrawHLine(int sy, int ey, int nx, bool fill) { + for (int i = sy; i <= ey; i++) { + if (i < 56 && nx < 128) { + PutPixel(nx, i, fill); + } + } +} + +static void GUI_DisplaySmallest(const char *pString, uint8_t x, uint8_t y, + bool statusbar, bool fill) { + uint8_t c; + uint8_t pixels; + const uint8_t *p = (const uint8_t *)pString; + + while ((c = *p++) && c != '\0') { + c -= 0x20; + for (int i = 0; i < 3; ++i) { + pixels = gFont3x5[c][i]; + for (int j = 0; j < 6; ++j) { + if (pixels & 1) { + if (statusbar) + PutPixelStatus(x + i, y + j, fill); + else + PutPixel(x + i, y + j, fill); + } + pixels >>= 1; + } + } + x += 4; + } +} + +// Utility functions + +KEY_Code_t GetKey() { + KEY_Code_t btn = KEYBOARD_Poll(); + if (btn == KEY_INVALID && !GPIO_CheckBit(&GPIOC->DATA, GPIOC_PIN_PTT)) { + btn = KEY_PTT; + } + return btn; +} + +static int clamp(int v, int min, int max) { + return v <= min ? min : (v >= max ? max : v); +} + +static uint8_t my_abs(signed v) { return v > 0 ? v : -v; } + +void SetState(State state) { + previousState = currentState; + currentState = state; + redrawScreen = true; + redrawStatus = true; +} + +// Radio functions + +static void ToggleAFBit(bool on) { + uint16_t reg = BK4819_ReadRegister(BK4819_REG_47); + reg &= ~(1 << 8); + if (on) + reg |= on << 8; + BK4819_WriteRegister(BK4819_REG_47, reg); +} + +static void BackupRegisters() { + R30 = BK4819_ReadRegister(0x30); + R37 = BK4819_ReadRegister(0x37); + R3D = BK4819_ReadRegister(0x3D); + R43 = BK4819_ReadRegister(0x43); + R47 = BK4819_ReadRegister(0x47); + R48 = BK4819_ReadRegister(0x48); + R7E = BK4819_ReadRegister(0x7E); +} + +static void RestoreRegisters() { + BK4819_WriteRegister(0x30, R30); + BK4819_WriteRegister(0x37, R37); + BK4819_WriteRegister(0x3D, R3D); + BK4819_WriteRegister(0x43, R43); + BK4819_WriteRegister(0x47, R47); + BK4819_WriteRegister(0x48, R48); + BK4819_WriteRegister(0x7E, R7E); +} + +static void SetModulation(ModulationType type) { + RestoreRegisters(); + uint16_t reg = BK4819_ReadRegister(BK4819_REG_47); + reg &= ~(0b111 << 8); + BK4819_WriteRegister(BK4819_REG_47, reg | (modTypeReg47Values[type] << 8)); + if (type == MOD_USB) { + BK4819_WriteRegister(0x3D, 0b0010101101000101); + BK4819_WriteRegister(BK4819_REG_37, 0x160F); + BK4819_WriteRegister(0x48, 0b0000001110101000); + } +} + +static void ToggleAFDAC(bool on) { + uint32_t Reg = BK4819_ReadRegister(BK4819_REG_30); + Reg &= ~(1 << 9); + if (on) + Reg |= (1 << 9); + BK4819_WriteRegister(BK4819_REG_30, Reg); +} + +static void SetF(uint32_t f) { + fMeasure = f; + + BK4819_SetFrequency(fMeasure); + BK4819_PickRXFilterPathBasedOnFrequency(fMeasure); + uint16_t reg = BK4819_ReadRegister(BK4819_REG_30); + BK4819_WriteRegister(BK4819_REG_30, 0); + BK4819_WriteRegister(BK4819_REG_30, reg); +} + +// Spectrum related + +bool IsPeakOverLevel() { return peak.rssi >= settings.rssiTriggerLevel; } + +static void ResetPeak() { + peak.t = 0; + peak.rssi = 0; +} + +bool IsCenterMode() { return settings.scanStepIndex < S_STEP_2_5kHz; } +uint8_t GetStepsCount() { return 128 >> settings.stepsCount; } +uint16_t GetScanStep() { return scanStepValues[settings.scanStepIndex]; } +uint32_t GetBW() { return GetStepsCount() * GetScanStep(); } +uint32_t GetFStart() { + return IsCenterMode() ? currentFreq - (GetBW() >> 1) : currentFreq; +} +uint32_t GetFEnd() { return currentFreq + GetBW(); } + +static void TuneToPeak() { + scanInfo.f = peak.f; + scanInfo.rssi = peak.rssi; + scanInfo.i = peak.i; + SetF(scanInfo.f); +} + +static void DeInitSpectrum() { + SetF(initialFreq); + RestoreRegisters(); + isInitialized = false; +} + +uint8_t GetBWRegValueForScan() { + return scanStepBWRegValues[settings.scanStepIndex]; +} + +uint16_t GetRssi() { + // SYSTICK_DelayUs(800); + // testing autodelay based on Glitch value + while ((BK4819_ReadRegister(0x63) & 0b11111111) >= 255) { + SYSTICK_DelayUs(100); + } + return BK4819_GetRSSI(); +} + +static void ToggleAudio(bool on) { + if (on == audioState) { + return; + } + audioState = on; + if (on) { + GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + } else { + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + } +} + +static void ToggleRX(bool on) { + isListening = on; + + BK4819_ToggleGpioOut(BK4819_GPIO0_PIN28_GREEN, on); + + ToggleAudio(on); + ToggleAFDAC(on); + ToggleAFBit(on); + + if (on) { + listenT = 1000; + BK4819_WriteRegister(0x43, listenBWRegValues[settings.listenBw]); + } else { + BK4819_WriteRegister(0x43, GetBWRegValueForScan()); + } +} + +// Scan info + +static void ResetScanStats() { + scanInfo.rssi = 0; + scanInfo.rssiMax = 0; + scanInfo.iPeak = 0; + scanInfo.fPeak = 0; +} + +static void InitScan() { + ResetScanStats(); + scanInfo.i = 0; + scanInfo.f = GetFStart(); + + scanInfo.scanStep = GetScanStep(); + scanInfo.measurementsCount = GetStepsCount(); +} + +static void ResetBlacklist() { + for (int i = 0; i < 128; ++i) { + if (rssiHistory[i] == RSSI_MAX_VALUE) + rssiHistory[i] = 0; + } +} + +static void RelaunchScan() { + InitScan(); + ResetPeak(); + ToggleRX(false); +#ifdef SPECTRUM_AUTOMATIC_SQUELCH + settings.rssiTriggerLevel = RSSI_MAX_VALUE; +#endif + preventKeypress = true; + scanInfo.rssiMin = RSSI_MAX_VALUE; +} + +static void UpdateScanInfo() { + if (scanInfo.rssi > scanInfo.rssiMax) { + scanInfo.rssiMax = scanInfo.rssi; + scanInfo.fPeak = scanInfo.f; + scanInfo.iPeak = scanInfo.i; + } + + if (scanInfo.rssi < scanInfo.rssiMin) { + scanInfo.rssiMin = scanInfo.rssi; + settings.dbMin = Rssi2DBm(scanInfo.rssiMin); + redrawStatus = true; + } +} + +static void AutoTriggerLevel() { + if (settings.rssiTriggerLevel == RSSI_MAX_VALUE) { + settings.rssiTriggerLevel = clamp(scanInfo.rssiMax + 8, 0, RSSI_MAX_VALUE); + } +} + +static void UpdatePeakInfoForce() { + peak.t = 0; + peak.rssi = scanInfo.rssiMax; + peak.f = scanInfo.fPeak; + peak.i = scanInfo.iPeak; + AutoTriggerLevel(); +} + +static void UpdatePeakInfo() { + if (peak.f == 0 || peak.t >= 1024 || peak.rssi < scanInfo.rssiMax) + UpdatePeakInfoForce(); +} + +static void Measure() { rssiHistory[scanInfo.i] = scanInfo.rssi = GetRssi(); } + +// Update things by keypress + +static void UpdateRssiTriggerLevel(bool inc) { + if (inc) + settings.rssiTriggerLevel += 2; + else + settings.rssiTriggerLevel -= 2; + redrawScreen = true; + redrawStatus = true; +} + +static void UpdateDBMax(bool inc) { + if (inc && settings.dbMax < 10) { + settings.dbMax += 1; + } else if (!inc && settings.dbMax > settings.dbMin) { + settings.dbMax -= 1; + } else { + return; + } + redrawStatus = true; + redrawScreen = true; + SYSTEM_DelayMs(20); +} + +static void UpdateScanStep(bool inc) { + if (inc && settings.scanStepIndex < S_STEP_100_0kHz) { + settings.scanStepIndex++; + } else if (!inc && settings.scanStepIndex > 0) { + settings.scanStepIndex--; + } else { + return; + } + settings.frequencyChangeStep = GetBW() >> 1; + RelaunchScan(); + ResetBlacklist(); + redrawScreen = true; +} + +static void UpdateCurrentFreq(bool inc) { + if (inc && currentFreq < F_MAX) { + currentFreq += settings.frequencyChangeStep; + } else if (!inc && currentFreq > F_MIN) { + currentFreq -= settings.frequencyChangeStep; + } else { + return; + } + RelaunchScan(); + ResetBlacklist(); + redrawScreen = true; +} + +static void UpdateCurrentFreqStill(bool inc) { + uint8_t offset = modulationTypeTuneSteps[settings.modulationType]; + uint32_t f = fMeasure; + if (inc && f < F_MAX) { + f += offset; + } else if (!inc && f > F_MIN) { + f -= offset; + } + SetF(f); + redrawScreen = true; +} + +static void UpdateFreqChangeStep(bool inc) { + uint16_t diff = GetScanStep() * 4; + if (inc && settings.frequencyChangeStep < 200000) { + settings.frequencyChangeStep += diff; + } else if (!inc && settings.frequencyChangeStep > 10000) { + settings.frequencyChangeStep -= diff; + } + SYSTEM_DelayMs(100); + redrawScreen = true; +} + +static void ToggleModulation() { + if (settings.modulationType < MOD_USB) { + settings.modulationType++; + } else { + settings.modulationType = MOD_FM; + } + SetModulation(settings.modulationType); + redrawScreen = true; +} + +static void ToggleListeningBW() { + if (settings.listenBw == BK4819_FILTER_BW_NARROWER) { + settings.listenBw = BK4819_FILTER_BW_WIDE; + } else { + settings.listenBw++; + } + redrawScreen = true; +} + +static void ToggleBacklight() { + settings.backlightState = !settings.backlightState; + if (settings.backlightState) { + GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); + } else { + GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); + } +} + +static void ToggleStepsCount() { + if (settings.stepsCount == STEPS_128) { + settings.stepsCount = STEPS_16; + } else { + settings.stepsCount--; + } + settings.frequencyChangeStep = GetBW() >> 1; + RelaunchScan(); + ResetBlacklist(); + redrawScreen = true; +} + +static void ResetFreqInput() { + tempFreq = 0; + for (int i = 0; i < 10; ++i) { + freqInputString[i] = '-'; + } +} + +static void FreqInput() { + freqInputIndex = 0; + freqInputDotIndex = 0; + ResetFreqInput(); + SetState(FREQ_INPUT); +} + +static void UpdateFreqInput(KEY_Code_t key) { + if (key != KEY_EXIT && freqInputIndex >= 10) { + return; + } + if (key == KEY_STAR) { + if (freqInputIndex == 0 || freqInputDotIndex) { + return; + } + freqInputDotIndex = freqInputIndex; + } + if (key == KEY_EXIT) { + freqInputIndex--; + } else { + freqInputArr[freqInputIndex++] = key; + } + + ResetFreqInput(); + + uint8_t dotIndex = + freqInputDotIndex == 0 ? freqInputIndex : freqInputDotIndex; + + KEY_Code_t digitKey; + for (int i = 0; i < 10; ++i) { + if (i < freqInputIndex) { + digitKey = freqInputArr[i]; + freqInputString[i] = digitKey <= KEY_9 ? '0' + digitKey : '.'; + } else { + freqInputString[i] = '-'; + } + } + + uint32_t base = 100000; // 1MHz in BK units + for (int i = dotIndex - 1; i >= 0; --i) { + tempFreq += freqInputArr[i] * base; + base *= 10; + } + + base = 10000; // 0.1MHz in BK units + if (dotIndex < freqInputIndex) { + for (int i = dotIndex + 1; i < freqInputIndex; ++i) { + tempFreq += freqInputArr[i] * base; + base /= 10; + } + } + redrawScreen = true; +} + +static void Blacklist() { + rssiHistory[peak.i] = RSSI_MAX_VALUE; + ResetPeak(); + ToggleRX(false); + newScanStart = true; +} + +// Draw things + +// applied x2 to prevent initial rounding +uint8_t Rssi2PX(uint16_t rssi, uint8_t pxMin, uint8_t pxMax) { + const int DB_MIN = settings.dbMin << 1; + const int DB_MAX = settings.dbMax << 1; + const int DB_RANGE = DB_MAX - DB_MIN; + + const uint8_t PX_RANGE = pxMax - pxMin; + + int dbm = clamp(rssi - (160 << 1), DB_MIN, DB_MAX); + + return ((dbm - DB_MIN) * PX_RANGE + DB_RANGE / 2) / DB_RANGE + pxMin; +} + +uint8_t Rssi2Y(uint16_t rssi) { + return DrawingEndY - Rssi2PX(rssi, 0, DrawingEndY); +} + +static void DrawSpectrum() { + for (uint8_t x = 0; x < 128; ++x) { + uint16_t rssi = rssiHistory[x >> settings.stepsCount]; + if (rssi != RSSI_MAX_VALUE) { + DrawHLine(Rssi2Y(rssi), DrawingEndY, x, true); + } + } +} + +static void DrawStatus() { +#ifdef SPECTRUM_EXTRA_VALUES + sprintf(String, "%d/%d P:%d T:%d", settings.dbMin, settings.dbMax, + Rssi2DBm(peak.rssi), Rssi2DBm(settings.rssiTriggerLevel)); +#else + sprintf(String, "%d/%d", settings.dbMin, settings.dbMax); +#endif + GUI_DisplaySmallest(String, 0, 1, true, true); + + for (int i = 0; i < 4; i++) { + BOARD_ADC_GetBatteryInfo(&gBatteryVoltages[i], &gBatteryCurrent); + } + + uint16_t Voltage; + uint8_t v = 0; + + Voltage = (gBatteryVoltages[0] + gBatteryVoltages[1] + gBatteryVoltages[2] + + gBatteryVoltages[3]) / + 4; + + if (gBatteryCalibration[5] < Voltage) { + v = 5; + } else if (gBatteryCalibration[4] < Voltage) { + v = 5; + } else if (gBatteryCalibration[3] < Voltage) { + v = 4; + } else if (gBatteryCalibration[2] < Voltage) { + v = 3; + } else if (gBatteryCalibration[1] < Voltage) { + v = 2; + } else if (gBatteryCalibration[0] < Voltage) { + v = 1; + } + + gStatusLine[127] = 0b01111110; + for (int i = 126; i >= 116; i--) { + gStatusLine[i] = 0b01000010; + } + v <<= 1; + for (int i = 125; i >= 116; i--) { + if (126 - i <= v) { + gStatusLine[i + 2] = 0b01111110; + } + } + gStatusLine[117] = 0b01111110; + gStatusLine[116] = 0b00011000; +} + +static void DrawF(uint32_t f) { + sprintf(String, "%u.%05u", f / 100000, f % 100000); + UI_PrintStringSmall(String, 8, 127, 0); + + sprintf(String, "%s", modulationTypeOptions[settings.modulationType]); + GUI_DisplaySmallest(String, 116, 1, false, true); + sprintf(String, "%s", bwOptions[settings.listenBw]); + GUI_DisplaySmallest(String, 108, 7, false, true); +} + +static void DrawNums() { + + if (currentState == SPECTRUM) { + sprintf(String, "%ux", GetStepsCount()); + GUI_DisplaySmallest(String, 0, 1, false, true); + sprintf(String, "%u.%02uk", GetScanStep() / 100, GetScanStep() % 100); + GUI_DisplaySmallest(String, 0, 7, false, true); + } + + if (IsCenterMode()) { + sprintf(String, "%u.%05u \xB1%u.%02uk", currentFreq / 100000, + currentFreq % 100000, settings.frequencyChangeStep / 100, + settings.frequencyChangeStep % 100); + GUI_DisplaySmallest(String, 36, 49, false, true); + } else { + sprintf(String, "%u.%05u", GetFStart() / 100000, GetFStart() % 100000); + GUI_DisplaySmallest(String, 0, 49, false, true); + + sprintf(String, "\xB1%u.%02uk", settings.frequencyChangeStep / 100, + settings.frequencyChangeStep % 100); + GUI_DisplaySmallest(String, 48, 49, false, true); + + sprintf(String, "%u.%05u", GetFEnd() / 100000, GetFEnd() % 100000); + GUI_DisplaySmallest(String, 93, 49, false, true); + } +} + +static void DrawRssiTriggerLevel() { + if (settings.rssiTriggerLevel == RSSI_MAX_VALUE || monitorMode) + return; + uint8_t y = Rssi2Y(settings.rssiTriggerLevel); + for (uint8_t x = 0; x < 128; x += 2) { + PutPixel(x, y, true); + } +} + +static void DrawTicks() { + uint32_t f = GetFStart() % 100000; + uint32_t step = GetScanStep(); + for (uint8_t i = 0; i < 128; i += (1 << settings.stepsCount), f += step) { + uint8_t barValue = 0b00000001; + (f % 10000) < step && (barValue |= 0b00000010); + (f % 50000) < step && (barValue |= 0b00000100); + (f % 100000) < step && (barValue |= 0b00011000); + + gFrameBuffer[5][i] |= barValue; + } + + // center + if (IsCenterMode()) { + gFrameBuffer[5][62] = 0x80; + gFrameBuffer[5][63] = 0x80; + gFrameBuffer[5][64] = 0xff; + gFrameBuffer[5][65] = 0x80; + gFrameBuffer[5][66] = 0x80; + } else { + gFrameBuffer[5][0] = 0xff; + gFrameBuffer[5][1] = 0x80; + gFrameBuffer[5][2] = 0x80; + gFrameBuffer[5][3] = 0x80; + gFrameBuffer[5][124] = 0x80; + gFrameBuffer[5][125] = 0x80; + gFrameBuffer[5][126] = 0x80; + gFrameBuffer[5][127] = 0xff; + } +} + +static void DrawArrow(uint8_t x) { + for (signed i = -2; i <= 2; ++i) { + signed v = x + i; + if (!(v & 128)) { + gFrameBuffer[5][v] |= (0b01111000 << my_abs(i)) & 0b01111000; + } + } +} + +static void OnKeyDown(uint8_t key) { + switch (key) { + case KEY_3: + UpdateDBMax(true); + break; + case KEY_9: + UpdateDBMax(false); + break; + case KEY_1: + UpdateScanStep(true); + break; + case KEY_7: + UpdateScanStep(false); + break; + case KEY_2: + UpdateFreqChangeStep(true); + break; + case KEY_8: + UpdateFreqChangeStep(false); + break; + case KEY_UP: + UpdateCurrentFreq(true); + break; + case KEY_DOWN: + UpdateCurrentFreq(false); + break; + case KEY_SIDE1: + Blacklist(); + break; + case KEY_STAR: + UpdateRssiTriggerLevel(true); + break; + case KEY_F: + UpdateRssiTriggerLevel(false); + break; + case KEY_5: + FreqInput(); + break; + case KEY_0: + ToggleModulation(); + break; + case KEY_6: + ToggleListeningBW(); + break; + case KEY_4: + ToggleStepsCount(); + break; + case KEY_SIDE2: + ToggleBacklight(); + break; + case KEY_PTT: + SetState(STILL); + TuneToPeak(); + break; + case KEY_MENU: + break; + case KEY_EXIT: + if (menuState) { + menuState = 0; + break; + } + DeInitSpectrum(); + break; + default: + break; + } +} + +static void OnKeyDownFreqInput(uint8_t key) { + switch (key) { + case KEY_0: + case KEY_1: + case KEY_2: + case KEY_3: + case KEY_4: + case KEY_5: + case KEY_6: + case KEY_7: + case KEY_8: + case KEY_9: + case KEY_STAR: + UpdateFreqInput(key); + break; + case KEY_EXIT: + if (freqInputIndex == 0) { + SetState(previousState); + break; + } + UpdateFreqInput(key); + break; + case KEY_MENU: + if (tempFreq < F_MIN || tempFreq > F_MAX) { + break; + } + SetState(previousState); + currentFreq = tempFreq; + if (currentState == SPECTRUM) { + ResetBlacklist(); + RelaunchScan(); + } else { + SetF(currentFreq); + } + break; + default: + break; + } +} + +void OnKeyDownStill(KEY_Code_t key) { + switch (key) { + case KEY_3: + UpdateDBMax(true); + break; + case KEY_9: + UpdateDBMax(false); + break; + case KEY_UP: + if (menuState) { + SetRegMenuValue(menuState, true); + break; + } + UpdateCurrentFreqStill(true); + break; + case KEY_DOWN: + if (menuState) { + SetRegMenuValue(menuState, false); + break; + } + UpdateCurrentFreqStill(false); + break; + case KEY_STAR: + UpdateRssiTriggerLevel(true); + break; + case KEY_F: + UpdateRssiTriggerLevel(false); + break; + case KEY_5: + FreqInput(); + break; + case KEY_0: + ToggleModulation(); + break; + case KEY_6: + ToggleListeningBW(); + break; + case KEY_SIDE1: + monitorMode = !monitorMode; + break; + case KEY_SIDE2: + ToggleBacklight(); + break; + case KEY_PTT: + // TODO: start transmit + /* BK4819_ToggleGpioOut(BK4819_GPIO0_PIN28_GREEN, false); + BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, true); */ + break; + case KEY_MENU: + if (menuState == ARRAY_SIZE(registerSpecs) - 1) { + menuState = 1; + } else { + menuState++; + } + redrawScreen = true; + break; + case KEY_EXIT: + if (!menuState) { + SetState(SPECTRUM); + monitorMode = false; + RelaunchScan(); + break; + } + menuState = 0; + break; + default: + break; + } +} + +static void RenderFreqInput() { + UI_PrintString(freqInputString, 2, 127, 0, 8); +} + +static void RenderStatus() { + memset(gStatusLine, 0, sizeof(gStatusLine)); + DrawStatus(); + ST7565_BlitStatusLine(); +} + +static void RenderSpectrum() { + DrawTicks(); + DrawArrow(peak.i << settings.stepsCount); + DrawSpectrum(); + DrawRssiTriggerLevel(); + DrawF(peak.f); + DrawNums(); +} + +static void RenderStill() { + DrawF(fMeasure); + + const uint8_t METER_PAD_LEFT = 3; + + for (int i = 0; i < 121; i++) { + if (i % 10 == 0) { + gFrameBuffer[2][i + METER_PAD_LEFT] = 0b01110000; + } else if (i % 5 == 0) { + gFrameBuffer[2][i + METER_PAD_LEFT] = 0b00110000; + } else { + gFrameBuffer[2][i + METER_PAD_LEFT] = 0b00010000; + } + } + + uint8_t x = Rssi2PX(scanInfo.rssi, 0, 121); + for (int i = 0; i < x; ++i) { + if (i % 5) { + gFrameBuffer[2][i + METER_PAD_LEFT] |= 0b00000111; + } + } + + int dbm = Rssi2DBm(scanInfo.rssi); + uint8_t s = DBm2S(dbm); + sprintf(String, "S: %u", s); + GUI_DisplaySmallest(String, 4, 25, false, true); + sprintf(String, "%d dBm", dbm); + GUI_DisplaySmallest(String, 28, 25, false, true); + + if (!monitorMode) { + uint8_t x = Rssi2PX(settings.rssiTriggerLevel, 0, 121); + gFrameBuffer[2][METER_PAD_LEFT + x] = 0b11111111; + } + + const uint8_t PAD_LEFT = 4; + const uint8_t CELL_WIDTH = 30; + uint8_t offset = PAD_LEFT; + uint8_t row = 4; + + for (int i = 0, idx = 1; idx <= 4; ++i, ++idx) { + if (idx == 5) { + row += 2; + i = 0; + } + offset = PAD_LEFT + i * CELL_WIDTH; + if (menuState == idx) { + for (int j = 0; j < CELL_WIDTH; ++j) { + gFrameBuffer[row][j + offset] = 0xFF; + gFrameBuffer[row + 1][j + offset] = 0xFF; + } + } + sprintf(String, "%s", registerSpecs[idx].name); + GUI_DisplaySmallest(String, offset + 2, row * 8 + 2, false, + menuState != idx); + sprintf(String, "%u", GetRegMenuValue(idx)); + GUI_DisplaySmallest(String, offset + 2, (row + 1) * 8 + 1, false, + menuState != idx); + } +} + +static void Render() { + memset(gFrameBuffer, 0, sizeof(gFrameBuffer)); + + switch (currentState) { + case SPECTRUM: + RenderSpectrum(); + break; + case FREQ_INPUT: + RenderFreqInput(); + break; + case STILL: + RenderStill(); + break; + } + + ST7565_BlitFullScreen(); +} + +bool HandleUserInput() { + kbd.prev = kbd.current; + kbd.current = GetKey(); + + if (kbd.current == KEY_INVALID) { + kbd.counter = 0; + return true; + } + + if (kbd.current == kbd.prev && kbd.counter <= 16) { + kbd.counter++; + SYSTEM_DelayMs(20); + } + + if (kbd.counter == 3 || kbd.counter > 16) { + switch (currentState) { + case SPECTRUM: + OnKeyDown(kbd.current); + break; + case FREQ_INPUT: + OnKeyDownFreqInput(kbd.current); + break; + case STILL: + OnKeyDownStill(kbd.current); + break; + } + } + + return true; +} + +static void Scan() { + if (rssiHistory[scanInfo.i] != RSSI_MAX_VALUE) { + SetF(scanInfo.f); + Measure(); + UpdateScanInfo(); + } +} + +static void NextScanStep() { + ++peak.t; + ++scanInfo.i; + scanInfo.f += scanInfo.scanStep; +} + +static void UpdateScan() { + Scan(); + + if (scanInfo.i < scanInfo.measurementsCount) { + NextScanStep(); + return; + } + + redrawScreen = true; + preventKeypress = false; + + UpdatePeakInfo(); + if (IsPeakOverLevel()) { + ToggleRX(true); + TuneToPeak(); + return; + } + + newScanStart = true; +} + +static void UpdateStill() { + Measure(); + redrawScreen = true; + preventKeypress = false; + + peak.rssi = scanInfo.rssi; + AutoTriggerLevel(); + + ToggleRX(IsPeakOverLevel() || monitorMode); +} + +static void UpdateListening() { + preventKeypress = false; + if (currentState == STILL) { + listenT = 0; + } + if (listenT) { + listenT--; + SYSTEM_DelayMs(1); + return; + } + + if (currentState == SPECTRUM) { + BK4819_WriteRegister(0x43, GetBWRegValueForScan()); + Measure(); + BK4819_WriteRegister(0x43, listenBWRegValues[settings.listenBw]); + } else { + Measure(); + } + + peak.rssi = scanInfo.rssi; + redrawScreen = true; + + if (IsPeakOverLevel() || monitorMode) { + listenT = 1000; + return; + } + + ToggleRX(false); + newScanStart = true; +} + +static void Tick() { + if (!preventKeypress) { + HandleUserInput(); + } + if (newScanStart) { + InitScan(); + newScanStart = false; + } + if (isListening && currentState != FREQ_INPUT) { + UpdateListening(); + } else { + if (currentState == SPECTRUM) { + UpdateScan(); + } else if (currentState == STILL) { + UpdateStill(); + } + } + if (redrawStatus || ++statuslineUpdateTimer > 4096) { + RenderStatus(); + redrawStatus = false; + statuslineUpdateTimer = 0; + } + if (redrawScreen) { + Render(); + redrawScreen = false; + } +} + +void APP_RunSpectrum() { + // TX here coz it always? set to active VFO + currentFreq = initialFreq = + gEeprom.VfoInfo[gEeprom.TX_VFO].pRX->Frequency; + + BackupRegisters(); + + isListening = true; // to turn off RX later + redrawStatus = true; + redrawScreen = false; // we will wait until scan done + newScanStart = true; + + ToggleRX(true), ToggleRX(false); // hack to prevent noise when squelch off + SetModulation(settings.modulationType = MOD_FM); + BK4819_SetFilterBandwidth(settings.listenBw = BK4819_FILTER_BW_WIDE, false); + + RelaunchScan(); + + for (int i = 0; i < 128; ++i) { + rssiHistory[i] = 0; + } + + isInitialized = true; + + while (isInitialized) { + Tick(); + } +} diff --git a/app/spectrum.h b/app/spectrum.h new file mode 100644 index 0000000..61ac358 --- /dev/null +++ b/app/spectrum.h @@ -0,0 +1,171 @@ +/* Copyright 2023 fagci + * https://github.com/fagci + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#ifndef SPECTRUM_H +#define SPECTRUM_H + +#include "../bitmaps.h" +#include "../board.h" +#include "../bsp/dp32g030/gpio.h" +#include "../driver/bk4819-regs.h" +#include "../driver/bk4819.h" +#include "../driver/gpio.h" +#include "../driver/keyboard.h" +#include "../driver/st7565.h" +#include "../driver/system.h" +#include "../driver/systick.h" +#include "../external/printf/printf.h" +#include "../font.h" +#include "../frequencies.h" +#include "../helper/battery.h" +#include "../misc.h" +#include "../radio.h" +#include "../settings.h" +#include "../ui/helper.h" +#include +#include +#include + +static const uint8_t DrawingEndY = 40; + +static const uint8_t U8RssiMap[] = { + 121, 115, 109, 103, 97, 91, 85, 79, 73, 63, +}; + +static const uint16_t scanStepValues[] = { + 1, 10, 50, 100, + + 250, 500, 625, 833, 1000, 1250, 2500, 10000, +}; + +static const uint16_t scanStepBWRegValues[] = { + // RX RXw TX BW + // 0b0 000 000 001 01 1000 + // 1 + 0b0000000001011000, // 6.25 + // 10 + 0b0000000001011000, // 6.25 + // 50 + 0b0000000001011000, // 6.25 + // 100 + 0b0000000001011000, // 6.25 + // 250 + 0b0000000001011000, // 6.25 + // 500 + 0b0010010001011000, // 6.25 + // 625 + 0b0100100001011000, // 6.25 + // 833 + 0b0110110001001000, // 6.25 + // 1000 + 0b0110110001001000, // 6.25 + // 1250 + 0b0111111100001000, // 6.25 + // 2500 + 0b0011011000101000, // 25 + // 10000 + 0b0011011000101000, // 25 +}; + +static const uint16_t listenBWRegValues[] = { + 0b0011011000101000, // 25 + 0b0111111100001000, // 12.5 + 0b0100100001011000, // 6.25 +}; + +typedef enum State { + SPECTRUM, + FREQ_INPUT, + STILL, +} State; + +typedef enum StepsCount { + STEPS_128, + STEPS_64, + STEPS_32, + STEPS_16, +} StepsCount; + +typedef enum ModulationType { + MOD_FM, + MOD_AM, + MOD_USB, +} ModulationType; + +typedef enum ScanStep { + S_STEP_0_01kHz, + S_STEP_0_1kHz, + S_STEP_0_5kHz, + S_STEP_1_0kHz, + + S_STEP_2_5kHz, + S_STEP_5_0kHz, + S_STEP_6_25kHz, + S_STEP_8_33kHz, + S_STEP_10_0kHz, + S_STEP_12_5kHz, + S_STEP_25_0kHz, + S_STEP_100_0kHz, +} ScanStep; + +typedef struct SpectrumSettings { + uint32_t frequencyChangeStep; + StepsCount stepsCount; + ScanStep scanStepIndex; + uint16_t scanDelay; + uint16_t rssiTriggerLevel; + BK4819_FilterBandwidth_t bw; + BK4819_FilterBandwidth_t listenBw; + int dbMin; + int dbMax; + ModulationType modulationType; + bool backlightState; +} SpectrumSettings; + +typedef struct KeyboardState { + KEY_Code_t current; + KEY_Code_t prev; + uint8_t counter; +} KeyboardState; + +typedef struct ScanInfo { + uint16_t rssi, rssiMin, rssiMax; + uint8_t i, iPeak; + uint32_t f, fPeak; + uint16_t scanStep; + uint8_t measurementsCount; +} ScanInfo; + +typedef struct RegisterSpec { + char *name; + uint8_t num; + uint8_t offset; + uint16_t maxValue; + uint16_t inc; +} RegisterSpec; + +typedef struct PeakInfo { + uint16_t t; + uint16_t rssi; + uint32_t f; + uint8_t i; +} PeakInfo; + +void APP_RunSpectrum(void); + +#endif /* ifndef SPECTRUM_H */ + +// vim: ft=c diff --git a/compile-with-docker.bat b/compile-with-docker.bat new file mode 100644 index 0000000..42adad1 --- /dev/null +++ b/compile-with-docker.bat @@ -0,0 +1,4 @@ +@echo off +docker build -t uvk5 . +docker run -v %CD%\compiled-firmware:/app/compiled-firmware uvk5 /bin/bash -c "cd /app && make clean && make && cp firmware* compiled-firmware/" +pause \ No newline at end of file diff --git a/compile-with-docker.sh b/compile-with-docker.sh new file mode 100644 index 0000000..fb5dd01 --- /dev/null +++ b/compile-with-docker.sh @@ -0,0 +1,3 @@ +#!/bin/sh +docker build -t uvk5 . +docker run -v $(PWD)/compiled-firmware:/app/compiled-firmware uvk5 /bin/bash -c "cd /app && make && cp firmware* compiled-firmware/" \ No newline at end of file diff --git a/driver/bk4819.c b/driver/bk4819.c index d485c96..0d921d7 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -1004,6 +1004,42 @@ void BK4819_PlayTone(uint16_t Frequency, bool bTuningGainSwitch) BK4819_WriteRegister(BK4819_REG_71, scale_freq(Frequency)); } +void BK4819_PlaySingleTone(const unsigned int tone_Hz, const unsigned int delay, const unsigned int level, const bool play_speaker) +{ + BK4819_EnterTxMute(); + + if (play_speaker) + { + GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + BK4819_SetAF(BK4819_AF_BEEP); + } + else + BK4819_SetAF(BK4819_AF_MUTE); + + // level 0 ~ 127 +// BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (96u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); +// BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (28u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | ((level & 0x7f) << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + + BK4819_EnableTXLink(); + SYSTEM_DelayMs(50); + + BK4819_WriteRegister(BK4819_REG_71, scale_freq(tone_Hz)); + + BK4819_ExitTxMute(); + SYSTEM_DelayMs(delay); + BK4819_EnterTxMute(); + + if (play_speaker) + { + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + BK4819_SetAF(BK4819_AF_MUTE); + } + + BK4819_WriteRegister(BK4819_REG_70, 0x0000); + BK4819_WriteRegister(BK4819_REG_30, 0xC1FE); +} + void BK4819_EnterTxMute(void) { BK4819_WriteRegister(BK4819_REG_50, 0xBB20); @@ -1287,7 +1323,7 @@ void BK4819_TransmitTone(bool bLocalLoopback, uint32_t Frequency) // set the tone amplitude // // BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_MASK_ENABLE_TONE1 | (96u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); - BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_MASK_ENABLE_TONE1 | (50u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_MASK_ENABLE_TONE1 | (28u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); BK4819_WriteRegister(BK4819_REG_71, scale_freq(Frequency)); @@ -1631,7 +1667,9 @@ void BK4819_PlayRoger(void) BK4819_EnterTxMute(); BK4819_SetAF(BK4819_AF_MUTE); - BK4819_WriteRegister(BK4819_REG_70, 0xE000); // 1110 0000 0000 0000 + +// BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (96u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); + BK4819_WriteRegister(BK4819_REG_70, BK4819_REG_70_ENABLE_TONE1 | (28u << BK4819_REG_70_SHIFT_TONE1_TUNING_GAIN)); BK4819_EnableTXLink(); SYSTEM_DelayMs(50); diff --git a/driver/bk4819.h b/driver/bk4819.h index 352bbf5..736b171 100644 --- a/driver/bk4819.h +++ b/driver/bk4819.h @@ -102,6 +102,7 @@ void BK4819_DisableVox(void); void BK4819_DisableDTMF(void); void BK4819_EnableDTMF(void); void BK4819_PlayTone(uint16_t Frequency, bool bTuningGainSwitch); +void BK4819_PlaySingleTone(const unsigned int tone_Hz, const unsigned int delay, const unsigned int level, const bool play_speaker); void BK4819_EnterTxMute(void); void BK4819_ExitTxMute(void); void BK4819_Sleep(void); diff --git a/firmware.bin b/firmware.bin index 985866918bec3ec27c3b1936c39f4f90b24f1fe8..01983d508d701be2601e71e434768475279e7890 100644 GIT binary patch delta 36322 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 V<34dyOrM3G*4xd3}Pa^GcBZl{Xk}jjY_X+ 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%0D8K@kn|$3aZ{ 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΅}nEwJ{skQ5f`J=g!a`TT>t7T#f^$@=2=>+jX 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

|M0#DOXDB>?-nl`%UA! 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' -}; +#else + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00}, + {0x00, 0x0F, 0x1F, 0x00, 0x00, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x20, 0xF8, 0xF8, 0x20, 0xF8, 0xF8, 0x20, 0x00, 0x02, 0x0F, 0x0F, 0x02, 0x0F, 0x0F, 0x02}, + {0x70, 0xF8, 0x88, 0x8E, 0x8E, 0x98, 0x10, 0x00, 0x04, 0x0C, 0x08, 0x38, 0x38, 0x0F, 0x07}, + {0x30, 0x30, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x00, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x0C, 0x0C}, + {0x80, 0xD8, 0x7C, 0xE4, 0xBC, 0xD8, 0x40, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x07, 0x0F, 0x08}, + {0x00, 0x10, 0x1F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0xF0, 0xF8, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x03, 0x07, 0x0C, 0x08, 0x00}, + {0x00, 0x00, 0x04, 0x0C, 0xF8, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0C, 0x07, 0x03, 0x00}, + {0x00, 0x80, 0xA0, 0xE0, 0xC0, 0xE0, 0xA0, 0x80, 0x00, 0x00, 0x02, 0x03, 0x01, 0x03, 0x02}, + {0x00, 0x80, 0x80, 0xE0, 0xE0, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x1E, 0x0E, 0x00, 0x00}, + {0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0C, 0x0C, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x80, 0xC0, 0x60, 0x30, 0x00, 0x0C, 0x06, 0x03, 0x01, 0x00, 0x00, 0x00}, + {0xF8, 0xFC, 0x84, 0xC4, 0x64, 0xFC, 0xF8, 0x00, 0x07, 0x0F, 0x09, 0x08, 0x08, 0x0F, 0x07}, + {0x00, 0x10, 0x18, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x08, 0x08}, + {0x18, 0x1C, 0x04, 0x84, 0xC4, 0x7C, 0x38, 0x00, 0x0C, 0x0E, 0x0B, 0x09, 0x08, 0x08, 0x08}, + {0x18, 0x1C, 0x44, 0x44, 0x44, 0xFC, 0xB8, 0x00, 0x06, 0x0E, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x80, 0xC0, 0x60, 0x30, 0x18, 0xFC, 0xFC, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x0F, 0x0F}, + {0x7C, 0x7C, 0x44, 0x44, 0x44, 0xC4, 0x84, 0x00, 0x04, 0x0C, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xF0, 0xF8, 0x4C, 0x44, 0x44, 0xC4, 0x80, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x04, 0x04, 0x04, 0x84, 0xE4, 0x7C, 0x1C, 0x00, 0x00, 0x00, 0x0E, 0x0F, 0x01, 0x00, 0x00}, + {0xB8, 0xFC, 0x44, 0x44, 0x44, 0xFC, 0xB8, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x78, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0xF8, 0x00, 0x00, 0x08, 0x08, 0x08, 0x0C, 0x07, 0x03}, + {0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x30, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0E, 0x06, 0x00, 0x00}, + {0x00, 0x80, 0xC0, 0x60, 0x30, 0x18, 0x08, 0x00, 0x00, 0x00, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x40, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02}, + {0x00, 0x08, 0x18, 0x30, 0x60, 0xC0, 0x80, 0x00, 0x00, 0x08, 0x0C, 0x06, 0x03, 0x01, 0x00}, + {0x38, 0x3C, 0x04, 0x84, 0xC4, 0x7C, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0D, 0x0D, 0x00, 0x00}, + {0xF0, 0xF8, 0x08, 0xC8, 0xC8, 0xF8, 0xF0, 0x00, 0x07, 0x0F, 0x08, 0x0B, 0x0B, 0x0B, 0x01}, + {0xF8, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0xF8, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0xFC, 0xFC, 0x44, 0x44, 0x44, 0xFC, 0xB8, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xF8, 0xFC, 0x04, 0x04, 0x04, 0x1C, 0x18, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0E, 0x06}, + {0xFC, 0xFC, 0x04, 0x04, 0x0C, 0xF8, 0xF0, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x0C, 0x07, 0x03}, + {0xFC, 0xFC, 0x44, 0x44, 0x44, 0x04, 0x04, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08}, + {0xFC, 0xFC, 0x44, 0x44, 0x44, 0x04, 0x04, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xF8, 0xFC, 0x04, 0x84, 0x84, 0x9C, 0x98, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xFC, 0xFC, 0x40, 0x40, 0x40, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0x00, 0x00, 0x04, 0xFC, 0xFC, 0x04, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00}, + {0x00, 0x00, 0x00, 0x04, 0xFC, 0xFC, 0x04, 0x00, 0x06, 0x0E, 0x08, 0x08, 0x0F, 0x07, 0x00}, + {0xFC, 0xFC, 0xE0, 0x30, 0x18, 0x0C, 0x04, 0x00, 0x0F, 0x0F, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x08, 0x08}, + {0xFC, 0xFC, 0x18, 0x70, 0x18, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0xFC, 0xFC, 0x60, 0xC0, 0x80, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x01, 0x0F, 0x0F}, + {0xF8, 0xFC, 0x04, 0x04, 0x04, 0xFC, 0xF8, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xFC, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0x78, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xF8, 0xFC, 0x04, 0x04, 0x04, 0xFC, 0xF8, 0x00, 0x07, 0x0F, 0x08, 0x0C, 0x0C, 0x1F, 0x17}, + {0xFC, 0xFC, 0x84, 0x84, 0x84, 0xFC, 0x78, 0x00, 0x0F, 0x0F, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0x38, 0x7C, 0x44, 0x44, 0x44, 0xCC, 0x88, 0x00, 0x06, 0x0E, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x00, 0x04, 0x04, 0xFC, 0xFC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00}, + {0xFC, 0xFC, 0x00, 0x00, 0x00, 0xFC, 0xFC, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0x7C, 0xFC, 0x80, 0x00, 0x80, 0xFC, 0x7C, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x0F, 0x03, 0x00}, + {0xFC, 0xFC, 0x00, 0x80, 0x00, 0xFC, 0xFC, 0x00, 0x0F, 0x0F, 0x06, 0x03, 0x06, 0x0F, 0x0F}, + {0x0C, 0x3C, 0xF0, 0xC0, 0xF0, 0x3C, 0x0C, 0x00, 0x0C, 0x0F, 0x03, 0x00, 0x03, 0x0F, 0x0C}, + {0x00, 0x3C, 0x7C, 0xC0, 0xC0, 0x7C, 0x3C, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00}, + {0x04, 0x04, 0x84, 0xC4, 0x64, 0x3C, 0x1C, 0x00, 0x0E, 0x0F, 0x09, 0x08, 0x08, 0x08, 0x08}, + {0x00, 0x00, 0xFC, 0xFC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x00}, + {0x38, 0x70, 0xE0, 0xC0, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x03, 0x07, 0x0E}, + {0x00, 0x00, 0x04, 0x04, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x0F, 0x00}, + {0x08, 0x0C, 0x06, 0x03, 0x06, 0x0C, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20, 0x20}, + {0x00, 0x00, 0x03, 0x07, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0x00, 0xA0, 0xA0, 0xA0, 0xA0, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x0F}, + {0xFC, 0xFC, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0x60, 0x40, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0C, 0x04}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xFC, 0xFC, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x0F}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x09, 0x09, 0x09, 0x09, 0x01}, + {0x20, 0x20, 0xF8, 0xFC, 0x24, 0x24, 0x04, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xE0, 0x00, 0x07, 0x4F, 0x48, 0x48, 0x48, 0x7F, 0x3F}, + {0xFC, 0xFC, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0x00, 0x00, 0x20, 0xEC, 0xEC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x20, 0xEC, 0xEC, 0x00, 0x00, 0x30, 0x70, 0x40, 0x40, 0x7F, 0x3F}, + {0xFC, 0xFC, 0x00, 0x80, 0xC0, 0x60, 0x20, 0x00, 0x0F, 0x0F, 0x01, 0x03, 0x06, 0x0C, 0x08}, + {0x00, 0x00, 0x04, 0xFC, 0xFC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x0F, 0x0F, 0x08, 0x00}, + {0xE0, 0xE0, 0x20, 0xE0, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x00, 0x0F, 0x00, 0x0F, 0x0F}, + {0xE0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x0F, 0x0F}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xE0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xC0, 0x00, 0x7F, 0x7F, 0x08, 0x08, 0x08, 0x0F, 0x07}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0xE0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x7F, 0x7F}, + {0xE0, 0xE0, 0x60, 0x20, 0x20, 0x20, 0x20, 0x00, 0x0F, 0x0F, 0x00, 0x00, 0x00, 0x00, 0x00}, + {0xC0, 0xE0, 0x20, 0x20, 0x20, 0x20, 0x20, 0x00, 0x08, 0x09, 0x09, 0x09, 0x09, 0x0F, 0x06}, + {0x20, 0x20, 0xFC, 0xFC, 0x20, 0x20, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08}, + {0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x08, 0x08, 0x0F, 0x0F}, + {0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x00, 0x03, 0x0F, 0x0C, 0x0F, 0x03, 0x00}, + {0xE0, 0xE0, 0x00, 0x80, 0x00, 0xE0, 0xE0, 0x00, 0x07, 0x0F, 0x08, 0x0F, 0x08, 0x0F, 0x07}, + {0x60, 0xE0, 0x80, 0x00, 0x80, 0xE0, 0x60, 0x00, 0x0C, 0x0E, 0x03, 0x01, 0x03, 0x0E, 0x0C}, + {0xE0, 0xE0, 0x00, 0x00, 0x00, 0xE0, 0xE0, 0x00, 0x07, 0x4F, 0x48, 0x48, 0x48, 0x7F, 0x3F}, + {0x20, 0x20, 0x20, 0xA0, 0xE0, 0x60, 0x20, 0x00, 0x0C, 0x0E, 0x0B, 0x09, 0x08, 0x08, 0x08}, + {0x00, 0x00, 0x40, 0xF8, 0xBC, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x07, 0x0F, 0x08, 0x08}, + {0x00, 0x00, 0x00, 0xBC, 0xBC, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x00, 0x00}, + {0x00, 0x04, 0x04, 0xBC, 0xF8, 0x40, 0x00, 0x00, 0x00, 0x08, 0x08, 0x0F, 0x07, 0x00, 0x00}, + {0x08, 0x0C, 0x04, 0x0C, 0x08, 0x0C, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00} +#endif +}; #if 0 // original font @@ -132,7 +230,7 @@ const uint8_t gFontBig[95][15] = {0x00, 0xF0, 0xF8, 0xB8, 0x1C, 0x0C, 0x0C, 0x0C, 0x0C, 0x1C, 0xB8, 0xF0, 0xE0, 0x00, 0x11, 0x33, 0x77, 0x67, 0x66, 0x66, 0x66, 0x76, 0x33, 0x3F, 0x1F, 0x07}, {0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00} }; -#else +#elif 0 // VCR font const uint8_t gFontBigDigits[11][26] = { @@ -148,6 +246,22 @@ const uint8_t gFontBig[95][15] = {0x00, 0x00, 0x78, 0xFC, 0xC6, 0x86, 0x86, 0x86, 0x86, 0x86, 0xFC, 0xF8, 0x00, 0x00, 0x00, 0x18, 0x38, 0x71, 0x61, 0x61, 0x61, 0x61, 0x71, 0x3F, 0x1F, 0x00}, {0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00} }; +#else + // Terminus font + const uint8_t gFontBigDigits[11][26] = + { + {0x00, 0x00, 0xFC, 0xFE, 0xFE, 0x06, 0x86, 0xC6, 0xE6, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x67, 0x63, 0x61, 0x60, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0x00, 0x00, 0x18, 0x1C, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x60, 0x7F, 0x7F, 0x7F, 0x60, 0x60, 0x00, 0x00}, + {0x00, 0x00, 0x1C, 0x1E, 0x1E, 0x06, 0x06, 0x06, 0x86, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x60, 0x70, 0x78, 0x7C, 0x6E, 0x67, 0x63, 0x61, 0x60, 0x60, 0x00}, + {0x00, 0x00, 0x0C, 0x0E, 0x0E, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x30, 0x70, 0x70, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3E, 0x00}, + {0x00, 0x00, 0x80, 0xC0, 0xE0, 0x70, 0x38, 0x1C, 0x0E, 0xFE, 0xFE, 0xFE, 0x00, 0x00, 0x00, 0x0F, 0x0F, 0x0F, 0x0C, 0x0C, 0x0C, 0x0C, 0x7F, 0x7F, 0x7F, 0x00}, + {0x00, 0x00, 0xFE, 0xFE, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x86, 0x00, 0x00, 0x00, 0x30, 0x70, 0x70, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0xF8, 0xFC, 0xFE, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0xC6, 0x80, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x60, 0x60, 0x60, 0x60, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0x0E, 0x0E, 0x0E, 0x06, 0x06, 0x86, 0xE6, 0xFE, 0x7E, 0x1E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x7C, 0x7F, 0x7F, 0x03, 0x00, 0x00, 0x00}, + {0x00, 0x00, 0x7C, 0xFE, 0xFE, 0x86, 0x86, 0x86, 0x86, 0xFE, 0xFE, 0x7C, 0x00, 0x00, 0x00, 0x3F, 0x7F, 0x7F, 0x61, 0x61, 0x61, 0x61, 0x7F, 0x7F, 0x3F, 0x00}, + {0x00, 0x00, 0xFC, 0xFE, 0xFE, 0x06, 0x06, 0x06, 0x06, 0xFE, 0xFE, 0xFC, 0x00, 0x00, 0x00, 0x01, 0x63, 0x63, 0x63, 0x63, 0x63, 0x63, 0x7F, 0x3F, 0x1F, 0x00}, + {0x00, 0x00, 0x00, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00} + }; #endif /* const uint8_t gFontSmallDigits[11][7] = @@ -363,4 +477,170 @@ const uint8_t gFontSmall[95][6] = {0x00, 0x41, 0x77, 0x3E, 0x08, 0x00}, {0x0C, 0x06, 0x0C, 0x18, 0x0C, 0x00} }; -#endif \ No newline at end of file +#endif + +#ifdef ENABLE_SPECTRUM + const uint8_t gFont3x5[160][3] = + { + {0x00, 0x00, 0x00}, // 32 - space + {0x00, 0x17, 0x00}, // 33 - exclam + {0x03, 0x00, 0x03}, // 34 - quotedbl + {0x1f, 0x0a, 0x1f}, // 35 - numbersign + {0x0a, 0x1f, 0x05}, // 36 - dollar + {0x09, 0x04, 0x12}, // 37 - percent + {0x0f, 0x17, 0x1c}, // 38 - ampersand + {0x00, 0x03, 0x00}, // 39 - quotesingle + {0x00, 0x0e, 0x11}, // 40 - parenleft + {0x11, 0x0e, 0x00}, // 41 - parenright + {0x05, 0x02, 0x05}, // 42 - asterisk + {0x04, 0x0e, 0x04}, // 43 - plus + {0x10, 0x08, 0x00}, // 44 - comma + {0x04, 0x04, 0x04}, // 45 - hyphen + {0x00, 0x10, 0x00}, // 46 - period + {0x18, 0x04, 0x03}, // 47 - slash + {0x1e, 0x11, 0x0f}, // 48 - zero + {0x02, 0x1f, 0x00}, // 49 - one + {0x19, 0x15, 0x12}, // 50 - two + {0x11, 0x15, 0x0a}, // 51 - three + {0x07, 0x04, 0x1f}, // 52 - four + {0x17, 0x15, 0x09}, // 53 - five + {0x1e, 0x15, 0x1d}, // 54 - six + {0x19, 0x05, 0x03}, // 55 - seven + {0x1f, 0x15, 0x1f}, // 56 - eight + {0x17, 0x15, 0x0f}, // 57 - nine + {0x00, 0x0a, 0x00}, // 58 - colon + {0x10, 0x0a, 0x00}, // 59 - semicolon + {0x04, 0x0a, 0x11}, // 60 - less + {0x0a, 0x0a, 0x0a}, // 61 - equal + {0x11, 0x0a, 0x04}, // 62 - greater + {0x01, 0x15, 0x03}, // 63 - question + {0x0e, 0x15, 0x16}, // 64 - at + {0x1e, 0x05, 0x1e}, // 65 - A + {0x1f, 0x15, 0x0a}, // 66 - B + {0x0e, 0x11, 0x11}, // 67 - C + {0x1f, 0x11, 0x0e}, // 68 - D + {0x1f, 0x15, 0x15}, // 69 - E + {0x1f, 0x05, 0x05}, // 70 - F + {0x0e, 0x15, 0x1d}, // 71 - G + {0x1f, 0x04, 0x1f}, // 72 - H + {0x11, 0x1f, 0x11}, // 73 - I + {0x08, 0x10, 0x0f}, // 74 - J + {0x1f, 0x04, 0x1b}, // 75 - K + {0x1f, 0x10, 0x10}, // 76 - L + {0x1f, 0x06, 0x1f}, // 77 - M + {0x1f, 0x0e, 0x1f}, // 78 - N + {0x0e, 0x11, 0x0e}, // 79 - O + {0x1f, 0x05, 0x02}, // 80 - P + {0x0e, 0x19, 0x1e}, // 81 - Q + {0x1f, 0x0d, 0x16}, // 82 - R + {0x12, 0x15, 0x09}, // 83 - S + {0x01, 0x1f, 0x01}, // 84 - T + {0x0f, 0x10, 0x1f}, // 85 - U + {0x07, 0x18, 0x07}, // 86 - V + {0x1f, 0x0c, 0x1f}, // 87 - W + {0x1b, 0x04, 0x1b}, // 88 - X + {0x03, 0x1c, 0x03}, // 89 - Y + {0x19, 0x15, 0x13}, // 90 - Z + {0x1f, 0x11, 0x11}, // 91 - bracketleft + {0x02, 0x04, 0x08}, // 92 - backslash + {0x11, 0x11, 0x1f}, // 93 - bracketright + {0x02, 0x01, 0x02}, // 94 - asciicircum + {0x10, 0x10, 0x10}, // 95 - underscore + {0x01, 0x02, 0x00}, // 96 - grave + {0x1a, 0x16, 0x1c}, // 97 - a + {0x1f, 0x12, 0x0c}, // 98 - b + {0x0c, 0x12, 0x12}, // 99 - c + {0x0c, 0x12, 0x1f}, // 100 - d + {0x0c, 0x1a, 0x16}, // 101 - e + {0x04, 0x1e, 0x05}, // 102 - f + {0x0c, 0x2a, 0x1e}, // 103 - g + {0x1f, 0x02, 0x1c}, // 104 - h + {0x00, 0x1d, 0x00}, // 105 - i + {0x10, 0x20, 0x1d}, // 106 - j + {0x1f, 0x0c, 0x12}, // 107 - k + {0x11, 0x1f, 0x10}, // 108 - l + {0x1e, 0x0e, 0x1e}, // 109 - m + {0x1e, 0x02, 0x1c}, // 110 - n + {0x0c, 0x12, 0x0c}, // 111 - o + {0x3e, 0x12, 0x0c}, // 112 - p + {0x0c, 0x12, 0x3e}, // 113 - q + {0x1c, 0x02, 0x02}, // 114 - r + {0x14, 0x1e, 0x0a}, // 115 - s + {0x02, 0x1f, 0x12}, // 116 - t + {0x0e, 0x10, 0x1e}, // 117 - u + {0x0e, 0x18, 0x0e}, // 118 - v + {0x1e, 0x1c, 0x1e}, // 119 - w + {0x12, 0x0c, 0x12}, // 120 - x + {0x06, 0x28, 0x1e}, // 121 - y + {0x1a, 0x1e, 0x16}, // 122 - z + {0x04, 0x1b, 0x11}, // 123 - braceleft + {0x00, 0x1b, 0x00}, // 124 - bar + {0x11, 0x1b, 0x04}, // 125 - braceright + {0x02, 0x03, 0x01}, // 126 - asciitilde + {0x00, 0x00, 0x00}, // 127 - empty + {0x00, 0x00, 0x00}, // 128 - empty + {0x00, 0x00, 0x00}, // 129 - empty + {0x00, 0x00, 0x00}, // 130 - empty + {0x00, 0x00, 0x00}, // 131 - empty + {0x00, 0x00, 0x00}, // 132 - empty + {0x00, 0x00, 0x00}, // 133 - empty + {0x00, 0x00, 0x00}, // 134 - empty + {0x00, 0x00, 0x00}, // 135 - empty + {0x00, 0x00, 0x00}, // 136 - empty + {0x00, 0x00, 0x00}, // 137 - empty + {0x00, 0x00, 0x00}, // 138 - empty + {0x00, 0x00, 0x00}, // 139 - empty + {0x00, 0x00, 0x00}, // 140 - empty + {0x00, 0x00, 0x00}, // 141 - empty + {0x00, 0x00, 0x00}, // 142 - empty + {0x00, 0x00, 0x00}, // 143 - empty + {0x00, 0x00, 0x00}, // 144 - empty + {0x00, 0x00, 0x00}, // 145 - empty + {0x00, 0x00, 0x00}, // 146 - empty + {0x00, 0x00, 0x00}, // 147 - empty + {0x00, 0x00, 0x00}, // 148 - empty + {0x00, 0x00, 0x00}, // 149 - empty + {0x00, 0x00, 0x00}, // 150 - empty + {0x00, 0x00, 0x00}, // 151 - empty + {0x00, 0x00, 0x00}, // 152 - empty + {0x00, 0x00, 0x00}, // 153 - empty + {0x00, 0x00, 0x00}, // 154 - empty + {0x00, 0x00, 0x00}, // 155 - empty + {0x00, 0x00, 0x00}, // 156 - empty + {0x00, 0x00, 0x00}, // 157 - empty + {0x00, 0x00, 0x00}, // 158 - empty + {0x00, 0x00, 0x00}, // 159 - empty + {0x00, 0x00, 0x00}, // 160 - empty + {0x00, 0x1d, 0x00}, // 161 - exclamdown + {0x0e, 0x1b, 0x0a}, // 162 - cent + {0x14, 0x1f, 0x15}, // 163 - sterling + {0x15, 0x0e, 0x15}, // 164 - currency + {0x0b, 0x1c, 0x0b}, // 165 - yen + {0x00, 0x1b, 0x00}, // 166 - brokenbar + {0x14, 0x1b, 0x05}, // 167 - section + {0x01, 0x00, 0x01}, // 168 - dieresis + {0x02, 0x05, 0x05}, // 169 - copyright + {0x16, 0x15, 0x17}, // 170 - ordfeminine + {0x02, 0x05, 0x00}, // 171 - guillemotleft + {0x02, 0x02, 0x06}, // 172 - logicalnot + {0x04, 0x04, 0x00}, // 173 - softhyphen + {0x07, 0x03, 0x04}, // 174 - registered + {0x01, 0x01, 0x01}, // 175 - macron + {0x02, 0x05, 0x02}, // 176 - degree + {0x12, 0x17, 0x12}, // 177 - plusminus + {0x01, 0x07, 0x04}, // 178 - twosuperior + {0x05, 0x07, 0x07}, // 179 - threesuperior + {0x00, 0x02, 0x01}, // 180 - acute + {0x1f, 0x08, 0x07}, // 181 - mu + {0x02, 0x1d, 0x1f}, // 182 - paragraph + {0x0e, 0x0e, 0x0e}, // 183 - periodcentered + {0x10, 0x14, 0x08}, // 184 - cedilla + {0x00, 0x07, 0x00}, // 185 - onesuperior + {0x12, 0x15, 0x12}, // 186 - ordmasculine + {0x00, 0x05, 0x02}, // 187 - guillemotright + {0x03, 0x08, 0x18}, // 188 - onequarter + {0x0b, 0x18, 0x10}, // 189 - onehalf + {0x03, 0x0b, 0x18}, // 190 - threequarters + {0x18, 0x15, 0x10}, // 191 - questiondown + }; +#endif diff --git a/functions.c b/functions.c index a302208..cd02ab1 100644 --- a/functions.c +++ b/functions.c @@ -204,6 +204,9 @@ void FUNCTION_Select(FUNCTION_Type_t Function) DTMF_Reply(); + if (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO) + BK4819_PlaySingleTone(2525, 250, 0, gEeprom.DTMF_SIDE_TONE); + #if defined(ENABLE_ALARM) || defined(ENABLE_TX1750) if (gAlarmState != ALARM_STATE_OFF) { diff --git a/AM_fix.mp4 b/images/AM_fix.mp4 similarity index 100% rename from AM_fix.mp4 rename to images/AM_fix.mp4 diff --git a/image1.png b/images/image1.png similarity index 100% rename from image1.png rename to images/image1.png diff --git a/image2.png b/images/image2.png similarity index 100% rename from image2.png rename to images/image2.png diff --git a/image3.png b/images/image3.png similarity index 100% rename from image3.png rename to images/image3.png diff --git a/radio.c b/radio.c index 98b7907..38dd1b5 100644 --- a/radio.c +++ b/radio.c @@ -332,12 +332,12 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure if (Data[5] == 0xFF) { gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = false; - gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = 0; + gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = PTT_ID_OFF; } else { - gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = !!((Data[5] >> 0) & 1u); - gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = ((Data[5] >> 1) & 3u); + gEeprom.VfoInfo[VFO].DTMF_DECODING_ENABLE = ((Data[5] >> 0) & 1u) ? true : false; + gEeprom.VfoInfo[VFO].DTMF_PTT_ID_TX_MODE = ((Data[5] >> 1) & 7u); } // *************** @@ -1080,8 +1080,12 @@ void RADIO_SendEndOfTransmission(void) if (gEeprom.ROGER == ROGER_MODE_MDC) BK4819_PlayRogerMDC(); + if (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_APOLLO) + BK4819_PlaySingleTone(2475, 250, 28, gEeprom.DTMF_SIDE_TONE); + if (gDTMF_CallState == DTMF_CALL_STATE_NONE && - (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN || gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_BOTH)) + (gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_TX_DOWN || + gCurrentVfo->DTMF_PTT_ID_TX_MODE == PTT_ID_BOTH)) { // end-of-tx if (gEeprom.DTMF_SIDE_TONE) { @@ -1093,15 +1097,14 @@ void RADIO_SendEndOfTransmission(void) BK4819_EnterDTMF_TX(gEeprom.DTMF_SIDE_TONE); BK4819_PlayDTMFString( - gEeprom.DTMF_DOWN_CODE, - 0, - gEeprom.DTMF_FIRST_CODE_PERSIST_TIME, - gEeprom.DTMF_HASH_CODE_PERSIST_TIME, - gEeprom.DTMF_CODE_PERSIST_TIME, - gEeprom.DTMF_CODE_INTERVAL_TIME); - + gEeprom.DTMF_DOWN_CODE, + 0, + gEeprom.DTMF_FIRST_CODE_PERSIST_TIME, + gEeprom.DTMF_HASH_CODE_PERSIST_TIME, + gEeprom.DTMF_CODE_PERSIST_TIME, + gEeprom.DTMF_CODE_INTERVAL_TIME); + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); - gEnableSpeaker = false; } diff --git a/radio.h b/radio.h index 66f1536..e1d03da 100644 --- a/radio.h +++ b/radio.h @@ -44,7 +44,8 @@ enum PTT_ID_t { PTT_ID_OFF = 0, // OFF PTT_ID_TX_UP, // BEGIN OF TX PTT_ID_TX_DOWN, // END OF TX - PTT_ID_BOTH // BOTH + PTT_ID_BOTH, // BOTH + PTT_ID_APOLLO // Apolo quindar tones }; typedef enum PTT_ID_t PTT_ID_t; diff --git a/settings.c b/settings.c index b7821f8..1910c55 100644 --- a/settings.c +++ b/settings.c @@ -219,7 +219,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, | (pVFO->OUTPUT_POWER << 2) | (pVFO->CHANNEL_BANDWIDTH << 1) | (pVFO->FrequencyReverse << 0); - State[5] = (pVFO->DTMF_PTT_ID_TX_MODE << 1) | (pVFO->DTMF_DECODING_ENABLE << 0); + State[5] = ((pVFO->DTMF_PTT_ID_TX_MODE & 7u) << 1) | ((pVFO->DTMF_DECODING_ENABLE & 1u) << 0); State[6] = pVFO->STEP_SETTING; State[7] = pVFO->SCRAMBLING_TYPE; EEPROM_WriteBuffer(OffsetVFO + 8, State); diff --git a/ui/menu.c b/ui/menu.c index 26b3cc0..03984b7 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -240,12 +240,13 @@ const char gSubMenu_D_RSP[4][11] = "BOTH" }; -const char gSubMenu_PTT_ID[4][7] = +const char gSubMenu_PTT_ID[5][15] = { "OFF", - "KEY UP", - "KEY DN", - "BOTH" + "KEY\nUP", + "KEY\nDOWN", + "KEY\nUP+DOWN", + "APOLLO\nQUINDAR" }; const char gSubMenu_PONMSG[4][8] = diff --git a/ui/menu.h b/ui/menu.h index d4d96fa..157b3d2 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -139,7 +139,7 @@ extern const char gSubMenu_MDF[4][15]; extern const char gSubMenu_AL_MOD[2][5]; #endif extern const char gSubMenu_D_RSP[4][11]; -extern const char gSubMenu_PTT_ID[4][7]; +extern const char gSubMenu_PTT_ID[5][15]; extern const char gSubMenu_PONMSG[4][8]; extern const char gSubMenu_ROGER[3][9]; extern const char gSubMenu_RESET[2][4];