From e7c784d6a27d953201d4f1b5ce91663c8724f86f Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Mon, 8 Jul 2024 03:03:59 +0200 Subject: [PATCH 01/34] Fix issue #173 --- app/app.c | 20 -------------------- app/main.c | 40 ++++++++++++++++++++++++++++++---------- 2 files changed, 30 insertions(+), 30 deletions(-) diff --git a/app/app.c b/app/app.c index 2ebad563..227dad52 100644 --- a/app/app.c +++ b/app/app.c @@ -1473,26 +1473,6 @@ void APP_TimeSlice500ms(void) } cancelUserInputModes(); - - if (gBeepToPlay != BEEP_NONE) - { - AUDIO_PlayBeep(gBeepToPlay); - gBeepToPlay = BEEP_NONE; - } - } - else - { - if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { // user is entering channel number - switch (gInputBoxIndex) - { - case 1: - channelMove(gInputBox[0] - 1, false); - break; - case 2: - channelMove(((gInputBox[0] * 10) + gInputBox[1]) - 1, false); - break; - } - } } } diff --git a/app/main.c b/app/main.c index 821e15d8..dcfaa3fa 100644 --- a/app/main.c +++ b/app/main.c @@ -348,6 +348,29 @@ void channelMove(uint16_t Channel, bool End) return; } +void channelMoveSwitch(void) { + if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { // user is entering channel number + switch (gInputBoxIndex) + { + case 1: + if (gInputBox[0] != 0) { + channelMove(gInputBox[0] - 1, false); + } + + break; + case 2: + if (!((gInputBox[0] == 0) && (gInputBox[1] == 0))) { + channelMove(((gInputBox[0] * 10) + gInputBox[1]) - 1, false); + } + + break; + case 3: + channelMove(((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1, true); + break; + } + } +} + static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { if (bKeyHeld) { // key held down @@ -402,23 +425,20 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } const uint8_t Vfo = gEeprom.TX_VFO; - gKeyInputCountdown = key_input_timeout_500ms; INPUTBOX_Append(Key); + gKeyInputCountdown = key_input_timeout_500ms; gRequestDisplayScreen = DISPLAY_MAIN; if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { // user is entering channel number + channelMoveSwitch(); gKeyInputCountdown = (key_input_timeout_500ms / 5); // short time... - if (gInputBoxIndex != 3) { - #ifdef ENABLE_VOICE - gAnotherVoiceID = (VOICE_ID_t)Key; - #endif - gRequestDisplayScreen = DISPLAY_MAIN; - return; - } - - channelMove(((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1, true); + #ifdef ENABLE_VOICE + gAnotherVoiceID = (VOICE_ID_t)Key; + #endif + + return; } // #ifdef ENABLE_NOAA From 3e8d22712c926790821dd810c2a589a7460c9eb0 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Mon, 8 Jul 2024 03:19:51 +0200 Subject: [PATCH 02/34] Let's go to v3.1 --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 040095e3..3ab0672f 100644 --- a/Makefile +++ b/Makefile @@ -213,7 +213,7 @@ ifeq ($(ENABLE_FEAT_F4HWN),1) VERSION_STRING_1 ?= v0.22 AUTHOR_STRING_2 ?= F4HWN - VERSION_STRING_2 ?= v3.0 + VERSION_STRING_2 ?= v3.1 AUTHOR_STRING ?= $(AUTHOR_STRING_1)+$(AUTHOR_STRING_2) VERSION_STRING ?= $(VERSION_STRING_2) From f7411956721eda13a3c54a5e46b73c7065628fc3 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Mon, 8 Jul 2024 06:00:42 +0200 Subject: [PATCH 03/34] Revert buggy fix #152 --- app/spectrum.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/spectrum.c b/app/spectrum.c index 3edecc01..1d4e5964 100644 --- a/app/spectrum.c +++ b/app/spectrum.c @@ -671,7 +671,7 @@ static void Blacklist() { #ifdef ENABLE_SCAN_RANGES static bool IsBlacklisted(uint16_t idx) { - if(blacklistFreqs[0]) // cheaper than checking blacklistFreqsIdx + if(blacklistFreqsIdx) for(uint8_t i = 0; i < ARRAY_SIZE(blacklistFreqs); i++) if(blacklistFreqs[i] == idx) return true; From 1e503343e278a68bf1585514184ca7cc32a1141d Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Mon, 8 Jul 2024 13:31:41 +0200 Subject: [PATCH 04/34] Fix issue #117 --- app/app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app.c b/app/app.c index 227dad52..6b394124 100644 --- a/app/app.c +++ b/app/app.c @@ -2026,7 +2026,7 @@ Skip: } if (gRequestSaveChannel > 0) { // TODO: remove the gRequestSaveChannel, why use global variable for that?? - if (!bKeyHeld) { + if (!bKeyHeld && !bKeyPressed) { SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_VFO, gTxVfo, gRequestSaveChannel); if (!SCANNER_IsScanning() && gVfoConfigureMode == VFO_CONFIGURE_NONE) From ab62ef040cb6da43e06ca466e6dc65fcd7313002 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 10 Jul 2024 05:38:10 +0200 Subject: [PATCH 05/34] Fix issue #180 --- frequencies.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/frequencies.c b/frequencies.c index 1798cf3a..96104bbf 100644 --- a/frequencies.c +++ b/frequencies.c @@ -230,11 +230,8 @@ int32_t TX_freq_check(const uint32_t Frequency) case F_LOCK_GMRS_FRS_MURS: // https://forums.radioreference.com/threads/the-great-unofficial-radioreference-frs-gmrs-murs-fact-sheet.275370/ - if (Frequency >= 46256250 && Frequency <= 46271250) // FRS/GMRS - return 0; - if (Frequency >= 46756250 && Frequency <= 46771250) // FRS ONLY - return 0; - if (Frequency >= 46255000 && Frequency <= 46272500) // GMRS ONLY + if ((Frequency >= 46255000 && Frequency <= 46272500) || + (Frequency >= 46755000 && Frequency <= 46772500)) // FRS/GMRS return 0; if (Frequency == 15182000 || Frequency == 15188000 || From db32c742e3e03c6536b34df3d7c673f6f5f32a16 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 10 Jul 2024 16:26:55 +0200 Subject: [PATCH 06/34] Fix issue #182 --- app/main.c | 2 -- 1 file changed, 2 deletions(-) diff --git a/app/main.c b/app/main.c index dcfaa3fa..f127df20 100644 --- a/app/main.c +++ b/app/main.c @@ -224,9 +224,7 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) #endif } else { -#ifdef ENABLE_VOX toggle_chan_scanlist(); -#endif } break; From e731d9d1f94f79e1a50adae79f89d7e3f74b566b Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 10 Jul 2024 16:30:05 +0200 Subject: [PATCH 07/34] Fix issue #182 --- app/main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/main.c b/app/main.c index f127df20..8507dfb7 100644 --- a/app/main.c +++ b/app/main.c @@ -236,8 +236,8 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) case KEY_7: #ifdef ENABLE_VOX ACTION_Vox(); -#else - toggle_chan_scanlist(); +//#else +// toggle_chan_scanlist(); #endif break; From 898eb99814fe35e6c4b77cdd5ccff5e37b14b084 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sat, 13 Jul 2024 04:00:40 +0200 Subject: [PATCH 08/34] Fix issue #176 --- app/action.c | 24 ++++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/app/action.c b/app/action.c index 5edad842..41e855cc 100644 --- a/app/action.c +++ b/app/action.c @@ -522,12 +522,24 @@ void ACTION_Ptt(void) void ACTION_Wn(void) { - gTxVfo->CHANNEL_BANDWIDTH = (gTxVfo->CHANNEL_BANDWIDTH == 0) ? 1: 0; -#ifdef ENABLE_AM_FIX - BK4819_SetFilterBandwidth(gTxVfo->CHANNEL_BANDWIDTH, true); -#else - BK4819_SetFilterBandwidth(gTxVfo->CHANNEL_BANDWIDTH, false); -#endif + if (FUNCTION_IsRx()) + { + gRxVfo->CHANNEL_BANDWIDTH = (gRxVfo->CHANNEL_BANDWIDTH == 0) ? 1: 0; + #ifdef ENABLE_AM_FIX + BK4819_SetFilterBandwidth(gRxVfo->CHANNEL_BANDWIDTH, true); + #else + BK4819_SetFilterBandwidth(gRxVfo->CHANNEL_BANDWIDTH, false); + #endif + } + else + { + gTxVfo->CHANNEL_BANDWIDTH = (gTxVfo->CHANNEL_BANDWIDTH == 0) ? 1: 0; + #ifdef ENABLE_AM_FIX + BK4819_SetFilterBandwidth(gTxVfo->CHANNEL_BANDWIDTH, true); + #else + BK4819_SetFilterBandwidth(gTxVfo->CHANNEL_BANDWIDTH, false); + #endif + } } void ACTION_BackLight(void) From f87ce1119ac762f38838d7b6e23ce30933fc11ab Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sun, 14 Jul 2024 01:36:47 +0200 Subject: [PATCH 09/34] Fix F-Lock index --- main.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/main.c b/main.c index 0410791f..efded8dd 100644 --- a/main.c +++ b/main.c @@ -127,7 +127,11 @@ void Main(void) #ifdef ENABLE_FEAT_F4HWN gEeprom.KEY_LOCK = 0; SETTINGS_SaveSettings(); - gMenuCursor = 63; // move to hidden section, fix me if change... !!! + #ifndef ENABLE_VOX + gMenuCursor = 63; // move to hidden section, fix me if change... !!! + #else + gMenuCursor = 64; // move to hidden section, fix me if change... !!! + #endif #endif } From ab61f2b07f607c3f14044a6a54437e44227a58b2 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sun, 14 Jul 2024 02:59:01 +0200 Subject: [PATCH 10/34] Improve PonMsg issue #27 --- ui/welcome.c | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/ui/welcome.c b/ui/welcome.c index d40e305e..b6a139cb 100644 --- a/ui/welcome.c +++ b/ui/welcome.c @@ -47,6 +47,7 @@ void UI_DisplayWelcome(void) { char WelcomeString0[16]; char WelcomeString1[16]; + char WelcomeString2[16]; memset(gStatusLine, 0, sizeof(gStatusLine)); @@ -69,7 +70,10 @@ void UI_DisplayWelcome(void) memset(WelcomeString0, 0, sizeof(WelcomeString0)); memset(WelcomeString1, 0, sizeof(WelcomeString1)); - sprintf(WelcomeString1, "%u.%02uV %u%%", + EEPROM_ReadBuffer(0x0EB0, WelcomeString0, 16); + EEPROM_ReadBuffer(0x0EC0, WelcomeString1, 16); + + sprintf(WelcomeString2, "%u.%02uV %u%%", gBatteryVoltageAverage / 100, gBatteryVoltageAverage % 100, BATTERY_VoltsToPercent(gBatteryVoltageAverage)); @@ -77,15 +81,30 @@ void UI_DisplayWelcome(void) if (gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_VOLTAGE) { strcpy(WelcomeString0, "VOLTAGE"); + strcpy(WelcomeString1, WelcomeString2); } else if(gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_ALL) { - EEPROM_ReadBuffer(0x0EB0, WelcomeString0, 16); + if(strlen(WelcomeString0) == 0 && strlen(WelcomeString1) == 0) + { + strcpy(WelcomeString0, "WELCOME"); + strcpy(WelcomeString1, WelcomeString2); + } + else if(strlen(WelcomeString0) == 0 || strlen(WelcomeString1) == 0) + { + if(strlen(WelcomeString0) == 0) + { + strcpy(WelcomeString0, WelcomeString1); + } + strcpy(WelcomeString1, WelcomeString2); + } } else if(gEeprom.POWER_ON_DISPLAY_MODE == POWER_ON_DISPLAY_MODE_MESSAGE) { - EEPROM_ReadBuffer(0x0EB0, WelcomeString0, 16); - EEPROM_ReadBuffer(0x0EC0, WelcomeString1, 16); + if(strlen(WelcomeString0) == 0) + { + strcpy(WelcomeString0, "WELCOME"); + } if(strlen(WelcomeString1) == 0) { From 88ef0d992597917564dc47b8ddc368a768e31846 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Mon, 15 Jul 2024 02:48:55 +0200 Subject: [PATCH 11/34] Revert buggy change... again... --- app/app.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/app.c b/app/app.c index 6b394124..227dad52 100644 --- a/app/app.c +++ b/app/app.c @@ -2026,7 +2026,7 @@ Skip: } if (gRequestSaveChannel > 0) { // TODO: remove the gRequestSaveChannel, why use global variable for that?? - if (!bKeyHeld && !bKeyPressed) { + if (!bKeyHeld) { SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_VFO, gTxVfo, gRequestSaveChannel); if (!SCANNER_IsScanning() && gVfoConfigureMode == VFO_CONFIGURE_NONE) From 697bcb4a2e0f7b41cce228ce202662726a1167ce Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 16 Jul 2024 03:20:51 +0200 Subject: [PATCH 12/34] Improve power settings --- Makefile | 4 -- app/action.c | 2 +- app/menu.c | 13 ++-- main.c | 4 +- misc.c | 2 +- misc.h | 2 +- radio.c | 200 +++++++++++++++++++++++++-------------------------- settings.c | 6 +- settings.h | 7 +- ui/main.c | 36 ++++------ ui/menu.c | 23 +++--- ui/menu.h | 6 +- 12 files changed, 150 insertions(+), 155 deletions(-) diff --git a/Makefile b/Makefile index 3ab0672f..5f923b90 100644 --- a/Makefile +++ b/Makefile @@ -41,7 +41,6 @@ ENABLE_BYP_RAW_DEMODULATORS ?= 0 ENABLE_BLMIN_TMP_OFF ?= 0 ENABLE_SCAN_RANGES ?= 1 ENABLE_FEAT_F4HWN ?= 1 -ENABLE_FEAT_F4HWN_FIXED_PWR ?= 0 ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0 ENABLE_FEAT_F4HWN_PMR ?= 1 @@ -402,9 +401,6 @@ ifeq ($(ENABLE_FEAT_F4HWN),1) CFLAGS += -DAUTHOR_STRING_1=\"$(AUTHOR_STRING_1)\" -DVERSION_STRING_1=\"$(VERSION_STRING_1)\" CFLAGS += -DAUTHOR_STRING_2=\"$(AUTHOR_STRING_2)\" -DVERSION_STRING_2=\"$(VERSION_STRING_2)\" endif -ifeq ($(ENABLE_FEAT_F4HWN_FIXED_PWR),1) - CFLAGS += -DENABLE_FEAT_F4HWN_FIXED_PWR -endif ifeq ($(ENABLE_FEAT_F4HWN_SCREENSHOT),1) CFLAGS += -DENABLE_FEAT_F4HWN_SCREENSHOT endif diff --git a/app/action.c b/app/action.c index 41e855cc..021c72fd 100644 --- a/app/action.c +++ b/app/action.c @@ -121,7 +121,7 @@ static_assert(ARRAY_SIZE(action_opt_table) == ACTION_OPT_LEN); void ACTION_Power(void) { if (++gTxVfo->OUTPUT_POWER > OUTPUT_POWER_HIGH) - gTxVfo->OUTPUT_POWER = OUTPUT_POWER_LOW; + gTxVfo->OUTPUT_POWER = OUTPUT_POWER_LOW1; gRequestSaveChannel = 1; diff --git a/app/menu.c b/app/menu.c index 8916f7d2..6c65cf20 100644 --- a/app/menu.c +++ b/app/menu.c @@ -374,9 +374,8 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax) break; #ifdef ENABLE_FEAT_F4HWN - case MENU_SET_LOW: - //*pMin = 0; - *pMax = ARRAY_SIZE(gSubMenu_SET_LOW) - 1; + case MENU_SET_PWR: + *pMax = ARRAY_SIZE(gSubMenu_SET_PWR) - 1; break; case MENU_SET_PTT: //*pMin = 0; @@ -866,8 +865,8 @@ void MENU_AcceptSetting(void) break; #ifdef ENABLE_FEAT_F4HWN - case MENU_SET_LOW: - gSetting_set_low = gSubMenuSelection; + case MENU_SET_PWR: + gSetting_set_pwr = gSubMenuSelection; gRequestSaveChannel = 1; break; case MENU_SET_PTT: @@ -1285,8 +1284,8 @@ void MENU_ShowCurrentSetting(void) } #ifdef ENABLE_FEAT_F4HWN - case MENU_SET_LOW: - gSubMenuSelection = gSetting_set_low; + case MENU_SET_PWR: + gSubMenuSelection = gSetting_set_pwr; break; case MENU_SET_PTT: gSubMenuSelection = gSetting_set_ptt_session; diff --git a/main.c b/main.c index efded8dd..cd9760b2 100644 --- a/main.c +++ b/main.c @@ -128,9 +128,9 @@ void Main(void) gEeprom.KEY_LOCK = 0; SETTINGS_SaveSettings(); #ifndef ENABLE_VOX - gMenuCursor = 63; // move to hidden section, fix me if change... !!! + gMenuCursor = 62; // move to hidden section, fix me if change... !!! #else - gMenuCursor = 64; // move to hidden section, fix me if change... !!! + gMenuCursor = 63; // move to hidden section, fix me if change... !!! #endif #endif } diff --git a/misc.c b/misc.c index 70c151ad..785dfc92 100644 --- a/misc.c +++ b/misc.c @@ -105,7 +105,7 @@ enum BacklightOnRxTx_t gSetting_backlight_on_tx_rx; #endif #ifdef ENABLE_FEAT_F4HWN - uint8_t gSetting_set_low = 1; + uint8_t gSetting_set_pwr = 1; bool gSetting_set_ptt = 0; uint8_t gSetting_set_tot = 0; uint8_t gSetting_set_ctr = 11; diff --git a/misc.h b/misc.h index eab114ac..14c57fd3 100644 --- a/misc.h +++ b/misc.h @@ -157,7 +157,7 @@ extern enum BacklightOnRxTx_t gSetting_backlight_on_tx_rx; #endif #ifdef ENABLE_FEAT_F4HWN - extern uint8_t gSetting_set_low; + extern uint8_t gSetting_set_pwr; extern bool gSetting_set_ptt; extern uint8_t gSetting_set_tot; extern uint8_t gSetting_set_ctr; diff --git a/radio.c b/radio.c index 2b8315aa..5a32ce1f 100644 --- a/radio.c +++ b/radio.c @@ -140,7 +140,7 @@ void RADIO_InitInfo(VFO_Info_t *pInfo, const uint8_t ChannelSave, const uint32_t pInfo->StepFrequency = gStepFrequencyTable[pInfo->STEP_SETTING]; pInfo->CHANNEL_SAVE = ChannelSave; pInfo->FrequencyReverse = false; - pInfo->OUTPUT_POWER = OUTPUT_POWER_LOW; + pInfo->OUTPUT_POWER = OUTPUT_POWER_LOW1; pInfo->freq_config_RX.Frequency = Frequency; pInfo->freq_config_TX.Frequency = Frequency; pInfo->pRX = &pInfo->freq_config_RX; @@ -329,7 +329,7 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure { pVfo->FrequencyReverse = false; pVfo->CHANNEL_BANDWIDTH = BK4819_FILTER_BW_WIDE; - pVfo->OUTPUT_POWER = OUTPUT_POWER_LOW; + pVfo->OUTPUT_POWER = OUTPUT_POWER_LOW1; pVfo->BUSY_CHANNEL_LOCK = false; } else @@ -337,8 +337,8 @@ void RADIO_ConfigureChannel(const unsigned int VFO, const unsigned int configure const uint8_t d4 = data[4]; pVfo->FrequencyReverse = !!((d4 >> 0) & 1u); pVfo->CHANNEL_BANDWIDTH = !!((d4 >> 1) & 1u); - pVfo->OUTPUT_POWER = ((d4 >> 2) & 3u); - pVfo->BUSY_CHANNEL_LOCK = !!((d4 >> 4) & 1u); + pVfo->OUTPUT_POWER = ((d4 >> 2) & 7u); + pVfo->BUSY_CHANNEL_LOCK = !!((d4 >> 5) & 1u); } if (data[5] == 0xFF) @@ -508,114 +508,112 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // 1F30 32 32 32 64 64 64 8c 8c 8c ff ff ff ff ff ff ff 470 MHz uint8_t Txp[3]; - EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (pInfo->OUTPUT_POWER * 3), Txp, 3); + uint8_t Op = 0; + + if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID) + Op = 1; + else if(pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH) + Op = 2; + + EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (Op * 3), Txp, 3); #ifdef ENABLE_FEAT_F4HWN - #ifdef ENABLE_FEAT_F4HWN_FIXED_PWR - // make low and mid even lower - // and fix values - // because of toxic fucking closed firmwares + // make low and mid even lower + // and use calibration values + // be aware with toxic fucking closed firmwares - uint8_t shift[] = {0, 0, 0, 0, 0, 0, 0}; + uint8_t shift[] = {0, 0, 0, 0, 0}; + uint8_t currentPower = pInfo->OUTPUT_POWER; - if(Band == 5) + if(currentPower == OUTPUT_POWER_USER) + { + currentPower = gSetting_set_pwr; + } + else + { + currentPower--; + } + + /* + if(Band == 5) // UHF + { + shift[0] = 0; + shift[1] = 0; + shift[2] = 0; + shift[3] = 0; + shift[4] = 0; + } + */ + + for(uint8_t p = 0; p < 3; p++) + { + switch (currentPower) { - shift[0] = 2; - shift[1] = 1; - shift[2] = 2; - shift[3] = 2; - shift[4] = 2; - shift[5] = 2; - shift[6] = 2; + case 0: + Txp[p] = (Txp[p] * 4) / 25 + shift[pInfo->OUTPUT_POWER]; + break; + case 1: + Txp[p] = (Txp[p] * 4) / 19 + shift[pInfo->OUTPUT_POWER]; + break; + case 2: + Txp[p] = (Txp[p] * 4) / 13 + shift[pInfo->OUTPUT_POWER]; + break; + case 3: + Txp[p] = (Txp[p] * 4) / 10 + shift[pInfo->OUTPUT_POWER]; + break; + case 4: + Txp[p] = (Txp[p] * 4) / 7 + shift[pInfo->OUTPUT_POWER]; + break; + case 5: + Txp[p] = (Txp[p] * 3) / 4; + break; + case 6: + Txp[p] = Txp[p] + 30; + break; } + } + /* + // make low and mid even lower + // and use calibration values + // be aware with toxic fucking closed firmwares - if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) { - for(uint8_t p = 0; p < 3; p++ ) - { - switch (gSetting_set_low) { - case 0: - Txp[p] = 16 - shift[gSetting_set_low]; - break; - case 1: - Txp[p] = 21 + shift[gSetting_set_low]; - break; - case 2: - Txp[p] = 29 + shift[gSetting_set_low]; - break; - case 3: - Txp[p] = 37 + shift[gSetting_set_low]; - break; - case 4: - Txp[p] = 50 + shift[gSetting_set_low]; - break; - } + uint8_t shift[] = {0, 0, 0, 0, 0}; - } - } - else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){ - Txp[0] = 77 + shift[5]; - Txp[1] = 77 + shift[5]; - Txp[2] = 77 + shift[5]; - } - // increase high - else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){ - Txp[0] = 165 + shift[6]; - Txp[1] = 165 + shift[6]; - Txp[2] = 165 + shift[6]; - } - #else - // make low and mid even lower - // and use calibration values - // be aware with toxic fucking closed firmwares - - uint8_t shift[] = {0, 0, 0, 0, 0}; - - /* - if(Band == 5) // UHF + if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) { + for(uint8_t p = 0; p < 3; p++ ) { - shift[0] = 0; - shift[1] = 0; - shift[2] = 0; - shift[3] = 0; - shift[4] = 0; - } - */ - - if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) { - for(uint8_t p = 0; p < 3; p++ ) - { - switch (gSetting_set_low) { - case 0: - Txp[p] = (Txp[p] * 4) / 25 + shift[gSetting_set_low]; - break; - case 1: - Txp[p] = (Txp[p] * 4) / 19 + shift[gSetting_set_low]; - break; - case 2: - Txp[p] = (Txp[p] * 4) / 13 + shift[gSetting_set_low]; - break; - case 3: - Txp[p] = (Txp[p] * 4) / 10 + shift[gSetting_set_low]; - break; - case 4: - Txp[p] = (Txp[p] * 4) / 7 + shift[gSetting_set_low]; - break; - } - + switch (gSetting_set_low) { + case 0: + Txp[p] = (Txp[p] * 4) / 25 + shift[gSetting_set_low]; + break; + case 1: + Txp[p] = (Txp[p] * 4) / 19 + shift[gSetting_set_low]; + break; + case 2: + Txp[p] = (Txp[p] * 4) / 13 + shift[gSetting_set_low]; + break; + case 3: + Txp[p] = (Txp[p] * 4) / 10 + shift[gSetting_set_low]; + break; + case 4: + Txp[p] = (Txp[p] * 4) / 7 + shift[gSetting_set_low]; + break; } + } - else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){ - Txp[0] = (Txp[0] * 3) / 4; - Txp[1] = (Txp[1] * 3) / 4; - Txp[2] = (Txp[2] * 3) / 4; - } - // increase high - else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){ - Txp[0] = Txp[0] + 30; - Txp[1] = Txp[1] + 30; - Txp[2] = Txp[2] + 30; - } - #endif + } + else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){ + Txp[0] = (Txp[0] * 3) / 4; + Txp[1] = (Txp[1] * 3) / 4; + Txp[2] = (Txp[2] * 3) / 4; + } + // increase high + else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){ + Txp[0] = Txp[0] + 30; + Txp[1] = Txp[1] + 30; + Txp[2] = Txp[2] + 30; + } + */ #else #ifdef ENABLE_REDUCE_LOW_MID_TX_POWER // make low and mid even lower diff --git a/settings.c b/settings.c index 81736988..3e945ae9 100644 --- a/settings.c +++ b/settings.c @@ -317,7 +317,7 @@ void SETTINGS_InitEEPROM(void) #ifdef ENABLE_FEAT_F4HWN // 1FF0..0x1FF7 EEPROM_ReadBuffer(0x1FF0, Data, 8); - gSetting_set_low = (((Data[7] & 0xF0) >> 4) < 5) ? ((Data[7] & 0xF0) >> 4) : 0; + gSetting_set_pwr = (((Data[7] & 0xF0) >> 4) < 7) ? ((Data[7] & 0xF0) >> 4) : 0; gSetting_set_ptt = (((Data[7] & 0x0F)) < 2) ? ((Data[7] & 0x0F)) : 0; gSetting_set_tot = (((Data[6] & 0xF0) >> 4) < 4) ? ((Data[6] & 0xF0) >> 4) : 0; @@ -707,7 +707,7 @@ void SETTINGS_SaveSettings(void) State[5] = ((tmp << 4) | (gSetting_set_ctr & 0x0F)); State[6] = ((gSetting_set_tot << 4) | (gSetting_set_eot & 0x0F)); - State[7] = ((gSetting_set_low << 4) | (gSetting_set_ptt & 0x0F)); + State[7] = ((gSetting_set_pwr << 4) | (gSetting_set_ptt & 0x0F)); gEeprom.KEY_LOCK_PTT = gSetting_set_lck; @@ -744,7 +744,7 @@ void SETTINGS_SaveChannel(uint8_t Channel, uint8_t VFO, const VFO_Info_t *pVFO, State._8[2] = (pVFO->freq_config_TX.CodeType << 4) | pVFO->freq_config_RX.CodeType; State._8[3] = (pVFO->Modulation << 4) | pVFO->TX_OFFSET_FREQUENCY_DIRECTION; State._8[4] = 0 - | (pVFO->BUSY_CHANNEL_LOCK << 4) + | (pVFO->BUSY_CHANNEL_LOCK << 5) | (pVFO->OUTPUT_POWER << 2) | (pVFO->CHANNEL_BANDWIDTH << 1) | (pVFO->FrequencyReverse << 0); diff --git a/settings.h b/settings.h index acb7fb96..11c002c7 100644 --- a/settings.h +++ b/settings.h @@ -82,7 +82,12 @@ enum { }; enum { - OUTPUT_POWER_LOW = 0, + OUTPUT_POWER_USER = 0, + OUTPUT_POWER_LOW1, + OUTPUT_POWER_LOW2, + OUTPUT_POWER_LOW3, + OUTPUT_POWER_LOW4, + OUTPUT_POWER_LOW5, OUTPUT_POWER_MID, OUTPUT_POWER_HIGH }; diff --git a/ui/main.c b/ui/main.c index 74827739..ce7d14d5 100644 --- a/ui/main.c +++ b/ui/main.c @@ -1072,9 +1072,13 @@ void UI_DisplayMain(void) { // TX power level switch (gRxVfo->OUTPUT_POWER) { - case OUTPUT_POWER_LOW: Level = 2; break; - case OUTPUT_POWER_MID: Level = 4; break; - case OUTPUT_POWER_HIGH: Level = 6; break; + case OUTPUT_POWER_LOW1: Level = 2; break; + case OUTPUT_POWER_LOW2: Level = 2; break; + case OUTPUT_POWER_LOW3: Level = 2; break; + case OUTPUT_POWER_LOW4: Level = 2; break; + case OUTPUT_POWER_LOW5: Level = 2; break; + case OUTPUT_POWER_MID: Level = 4; break; + case OUTPUT_POWER_HIGH: Level = 6; break; } } else @@ -1190,36 +1194,22 @@ void UI_DisplayMain(void) if (state == VFO_STATE_NORMAL || state == VFO_STATE_ALARM) { // show the TX power - int i = vfoInfo->OUTPUT_POWER % 3; + int i = vfoInfo->OUTPUT_POWER % 8; #if ENABLE_FEAT_F4HWN if (isMainOnly(true)) { - const char pwr_short[][2] = {"L","M","H"}; - if(i == 0) - { - sprintf(String, "%s%d", pwr_short[i], gSetting_set_low + 1); - } - else - { - sprintf(String, "%s", pwr_short[i]); - } + const char pwr_short[][3] = {"U", "L1", "L2", "L3", "L4", "L5", "M", "H"}; + sprintf(String, "%s", pwr_short[i]); UI_PrintStringSmallNormal(String, LCD_WIDTH + 44, 0, line + 1); } else { - const char pwr_long[][5] = {"LOW", "MID", "HIGH"}; - if(i == 0) - { - sprintf(String, "%s%d", pwr_long[i], gSetting_set_low + 1); - } - else - { - sprintf(String, "%s", pwr_long[i]); - } + const char pwr_long[][5] = {"USER", "LOW1", "LOW2", "LOW3", "LOW4", "LOW5", "MID", "HIGH"}; + sprintf(String, "%s", pwr_long[i]); GUI_DisplaySmallest(String, 24, line == 0 ? 17 : 49, false, true); } #else - const char pwr_list[][2] = {"L","M","H"}; + const char pwr_list[][2] = {"U", "L","M","H"}; UI_PrintStringSmallNormal(pwr_list[i], LCD_WIDTH + 46, 0, line + 1); #endif } diff --git a/ui/menu.c b/ui/menu.c index 0d1f1793..cabc34df 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -134,7 +134,7 @@ const t_menu_item MenuList[] = {"RxMode", MENU_TDR }, {"Sql", MENU_SQL }, #ifdef ENABLE_FEAT_F4HWN - {"SetLow", MENU_SET_LOW }, + {"SetPwr", MENU_SET_PWR }, {"SetPtt", MENU_SET_PTT }, {"SetTot", MENU_SET_TOT }, {"SetEot", MENU_SET_EOT }, @@ -166,9 +166,14 @@ const t_menu_item MenuList[] = const uint8_t FIRST_HIDDEN_MENU_ITEM = MENU_F_LOCK; -const char gSubMenu_TXP[][5] = +const char gSubMenu_TXP[][6] = { - "LOW", + "USER", + "LOW 1", + "LOW 2", + "LOW 3", + "LOW 4", + "LOW 5", "MID", "HIGH" }; @@ -344,13 +349,15 @@ const char gSubMenu_SCRAMBLER[][7] = #endif #ifdef ENABLE_FEAT_F4HWN - const char gSubMenu_SET_LOW[][7] = + const char gSubMenu_SET_PWR[][7] = { "< 20mW", "125mW", "250mW", "500mW", - "1W" + "1W", + "2W", + "5W" }; const char gSubMenu_SET_PTT[][8] = @@ -944,10 +951,10 @@ void UI_DisplayMenu(void) break; #ifdef ENABLE_FEAT_F4HWN - case MENU_SET_LOW: - strcpy(String, gSubMenu_SET_LOW[gSubMenuSelection]); + case MENU_SET_PWR: + strcpy(String, gSubMenu_SET_PWR[gSubMenuSelection]); break; - + case MENU_SET_PTT: strcpy(String, gSubMenu_SET_PTT[gSubMenuSelection]); break; diff --git a/ui/menu.h b/ui/menu.h index 5559dcbf..89114fc0 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -123,7 +123,7 @@ enum MENU_F_CALI, // reference xtal calibration #endif #ifdef ENABLE_FEAT_F4HWN - MENU_SET_LOW, + MENU_SET_PWR, MENU_SET_PTT, MENU_SET_TOT, MENU_SET_EOT, @@ -145,7 +145,7 @@ enum extern const uint8_t FIRST_HIDDEN_MENU_ITEM; extern const t_menu_item MenuList[]; -extern const char gSubMenu_TXP[3][5]; +extern const char gSubMenu_TXP[8][6]; extern const char gSubMenu_SFT_D[3][4]; extern const char gSubMenu_W_N[2][7]; extern const char gSubMenu_OFF_ON[2][4]; @@ -166,7 +166,7 @@ extern const char gSubMenu_D_RSP[4][11]; #endif #ifdef ENABLE_FEAT_F4HWN - extern const char gSubMenu_SET_LOW[5][7]; + extern const char gSubMenu_SET_PWR[7][7]; extern const char gSubMenu_SET_PTT[2][8]; extern const char gSubMenu_SET_TOT[4][7]; extern const char gSubMenu_SET_LCK[2][9]; From e8a381b237ce4e6daddeb95df37f9788bd9e063b Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 16 Jul 2024 04:54:51 +0200 Subject: [PATCH 13/34] Add 3500mAh support --- app/menu.c | 2 +- helper/battery.c | 25 ++++++++++++++++++------- helper/battery.h | 1 + ui/menu.c | 3 ++- ui/menu.h | 2 +- 5 files changed, 23 insertions(+), 10 deletions(-) diff --git a/app/menu.c b/app/menu.c index 6c65cf20..a4d7f119 100644 --- a/app/menu.c +++ b/app/menu.c @@ -361,7 +361,7 @@ int MENU_GetLimits(uint8_t menu_id, int32_t *pMin, int32_t *pMax) case MENU_BATTYP: //*pMin = 0; - *pMax = 1; + *pMax = 2; break; case MENU_F1SHRT: diff --git a/helper/battery.c b/helper/battery.c index c5ee465c..18ef1206 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -44,14 +44,12 @@ typedef enum { BATTERY_LOW_CONFIRMED } BatteryLow_t; - uint16_t lowBatteryCountdown; const uint16_t lowBatteryPeriod = 30; volatile uint16_t gPowerSave_10ms; - -const uint16_t Voltage2PercentageTable[][7][2] = { +const uint16_t Voltage2PercentageTable[][7][3] = { [BATTERY_TYPE_1600_MAH] = { {828, 100}, {814, 97 }, @@ -71,15 +69,28 @@ const uint16_t Voltage2PercentageTable[][7][2] = { {630, 0 }, {0, 0 }, }, + + [BATTERY_TYPE_3500_MAH] = { + {837, 100}, + {826, 95 }, + {750, 50 }, + {700, 25 }, + {610, 5 }, + {600, 0 }, + {0, 0 }, + }, }; -static_assert(ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_1600_MAH]) == - ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH])); - +static_assert( + (ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_1600_MAH]) == + ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH])) && + (ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]) == + ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_3500_MAH])) + ); unsigned int BATTERY_VoltsToPercent(const unsigned int voltage_10mV) { - const uint16_t (*crv)[2] = Voltage2PercentageTable[gEeprom.BATTERY_TYPE]; + const uint16_t (*crv)[3] = Voltage2PercentageTable[gEeprom.BATTERY_TYPE]; const int mulipl = 1000; for (unsigned int i = 1; i < ARRAY_SIZE(Voltage2PercentageTable[BATTERY_TYPE_2200_MAH]); i++) { if (voltage_10mV > crv[i][0]) { diff --git a/helper/battery.h b/helper/battery.h index c21a14e4..19e210e0 100644 --- a/helper/battery.h +++ b/helper/battery.h @@ -37,6 +37,7 @@ extern volatile uint16_t gPowerSave_10ms; typedef enum { BATTERY_TYPE_1600_MAH, BATTERY_TYPE_2200_MAH, + BATTERY_TYPE_3500_MAH, BATTERY_TYPE_UNKNOWN } BATTERY_Type_t; diff --git a/ui/menu.c b/ui/menu.c index cabc34df..3c343a07 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -328,7 +328,8 @@ const char gSubMenu_BAT_TXT[][8] = const char gSubMenu_BATTYP[][9] = { "1600mAh", - "2200mAh" + "2200mAh", + "3500mAh" }; #ifndef ENABLE_FEAT_F4HWN diff --git a/ui/menu.h b/ui/menu.h index 89114fc0..4487c7a3 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -184,7 +184,7 @@ extern const char gSubMenu_RESET[2][4]; extern const char* const gSubMenu_F_LOCK[F_LOCK_LEN]; extern const char gSubMenu_RX_TX[4][6]; extern const char gSubMenu_BAT_TXT[3][8]; -extern const char gSubMenu_BATTYP[2][9]; +extern const char gSubMenu_BATTYP[3][9]; #ifndef ENABLE_FEAT_F4HWN extern const char gSubMenu_SCRAMBLER[11][7]; From ce712fe94da466075bcd6686c142fe6d09eaffcf Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 16 Jul 2024 04:55:43 +0200 Subject: [PATCH 14/34] Shift F-Lock index again --- main.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/main.c b/main.c index cd9760b2..efded8dd 100644 --- a/main.c +++ b/main.c @@ -128,9 +128,9 @@ void Main(void) gEeprom.KEY_LOCK = 0; SETTINGS_SaveSettings(); #ifndef ENABLE_VOX - gMenuCursor = 62; // move to hidden section, fix me if change... !!! - #else gMenuCursor = 63; // move to hidden section, fix me if change... !!! + #else + gMenuCursor = 64; // move to hidden section, fix me if change... !!! #endif #endif } From 3b6a609ade0c945335c3624fc776f23b41859002 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 16 Jul 2024 05:01:41 +0200 Subject: [PATCH 15/34] Add 3500mAh support --- helper/battery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helper/battery.c b/helper/battery.c index 18ef1206..99163b1f 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -75,7 +75,7 @@ const uint16_t Voltage2PercentageTable[][7][3] = { {826, 95 }, {750, 50 }, {700, 25 }, - {610, 5 }, + {620, 5 }, {600, 0 }, {0, 0 }, }, From 7ff08e5d93b1a7a38d8cda08aa3ec98fa8cf78f6 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 16 Jul 2024 05:29:35 +0200 Subject: [PATCH 16/34] Quick refactoring --- radio.c | 6 ++++-- ui/main.c | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/radio.c b/radio.c index 5a32ce1f..94328f95 100644 --- a/radio.c +++ b/radio.c @@ -54,8 +54,6 @@ const char gModulationStr[MODULATION_UKNOWN][4] = { #endif }; - - bool RADIO_CheckValidChannel(uint16_t channel, bool checkScanList, uint8_t scanList) { // return true if the channel appears valid @@ -511,9 +509,13 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) uint8_t Op = 0; if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID) + { Op = 1; + } else if(pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH) + { Op = 2; + } EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (Op * 3), Txp, 3); diff --git a/ui/main.c b/ui/main.c index ce7d14d5..231c0966 100644 --- a/ui/main.c +++ b/ui/main.c @@ -1209,7 +1209,7 @@ void UI_DisplayMain(void) GUI_DisplaySmallest(String, 24, line == 0 ? 17 : 49, false, true); } #else - const char pwr_list[][2] = {"U", "L","M","H"}; + const char pwr_list[][2] = {"L","M","H"}; UI_PrintStringSmallNormal(pwr_list[i], LCD_WIDTH + 46, 0, line + 1); #endif } From 2740501fec1c3e54d46fc9d40f43ce7a6dd32fa5 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Tue, 16 Jul 2024 05:38:17 +0200 Subject: [PATCH 17/34] Fix issue #117 --- app/app.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/app/app.c b/app/app.c index 227dad52..46d2f4c8 100644 --- a/app/app.c +++ b/app/app.c @@ -2026,7 +2026,8 @@ Skip: } if (gRequestSaveChannel > 0) { // TODO: remove the gRequestSaveChannel, why use global variable for that?? - if (!bKeyHeld) { + if ((!bKeyHeld && !bKeyPressed) || UI_MENU_GetCurrentMenuId()) + { SETTINGS_SaveChannel(gTxVfo->CHANNEL_SAVE, gEeprom.TX_VFO, gTxVfo, gRequestSaveChannel); if (!SCANNER_IsScanning() && gVfoConfigureMode == VFO_CONFIGURE_NONE) From 3018e0617d59acc4d5259d7f4ebf7912fa5aadfc Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 17 Jul 2024 03:25:13 +0200 Subject: [PATCH 18/34] Improve power settings UI --- bitmaps.c | 8 ++++++++ bitmaps.h | 1 + ui/main.c | 55 +++++++++++++++++++++++++++++++++++-------------------- 3 files changed, 44 insertions(+), 20 deletions(-) diff --git a/bitmaps.c b/bitmaps.c index f127623f..c403918e 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -272,6 +272,14 @@ const uint8_t BITMAP_Ready[7] = 0b00000010, }; +const uint8_t BITMAP_PowerUser[3] = +{ // 'arrow' symbol + 0b00111110, + 0b00011100, + 0b00001000, +}; + + #ifndef ENABLE_CUSTOM_MENU_LAYOUT const uint8_t BITMAP_CurrentIndicator[8] = { 0xFF, diff --git a/bitmaps.h b/bitmaps.h index 836c02fe..a57d9d9e 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -36,6 +36,7 @@ extern const uint8_t BITMAP_ScanList2[7]; extern const uint8_t BITMAP_ScanList3[7]; extern const uint8_t BITMAP_ScanList123[19]; extern const uint8_t BITMAP_ScanListAll[19]; +extern const uint8_t BITMAP_PowerUser[3]; extern const uint8_t BITMAP_compand[6]; #ifndef ENABLE_CUSTOM_MENU_LAYOUT diff --git a/ui/main.c b/ui/main.c index 231c0966..d2fc63d7 100644 --- a/ui/main.c +++ b/ui/main.c @@ -1152,7 +1152,7 @@ void UI_DisplayMain(void) if (isMainOnly(true)) { - UI_PrintStringSmallNormal(s, LCD_WIDTH + 24, 0, line + 1); + UI_PrintStringSmallNormal(s, LCD_WIDTH + 22, 0, line + 1); UI_PrintStringSmallNormal(t, LCD_WIDTH + 2, 0, line + 1); if (isMainOnly(false) && !gDTMF_InputMode) @@ -1194,24 +1194,39 @@ void UI_DisplayMain(void) if (state == VFO_STATE_NORMAL || state == VFO_STATE_ALARM) { // show the TX power - int i = vfoInfo->OUTPUT_POWER % 8; -#if ENABLE_FEAT_F4HWN - if (isMainOnly(true)) - { - const char pwr_short[][3] = {"U", "L1", "L2", "L3", "L4", "L5", "M", "H"}; - sprintf(String, "%s", pwr_short[i]); - UI_PrintStringSmallNormal(String, LCD_WIDTH + 44, 0, line + 1); - } - else - { - const char pwr_long[][5] = {"USER", "LOW1", "LOW2", "LOW3", "LOW4", "LOW5", "MID", "HIGH"}; - sprintf(String, "%s", pwr_long[i]); - GUI_DisplaySmallest(String, 24, line == 0 ? 17 : 49, false, true); - } -#else - const char pwr_list[][2] = {"L","M","H"}; - UI_PrintStringSmallNormal(pwr_list[i], LCD_WIDTH + 46, 0, line + 1); -#endif + uint8_t currentPower = vfoInfo->OUTPUT_POWER % 8; + uint8_t arrowPos = 19; + bool userPower = false; + + if(currentPower == OUTPUT_POWER_USER) + { + currentPower = gSetting_set_pwr; + userPower = true; + } + else + { + currentPower--; + userPower = false; + } + + if (isMainOnly(true)) + { + const char pwr_short[][3] = {"L1", "L2", "L3", "L4", "L5", "M", "H"}; + sprintf(String, "%s", pwr_short[currentPower]); + UI_PrintStringSmallNormal(String, LCD_WIDTH + 42, 0, line + 1); + arrowPos = 38; + } + else + { + const char pwr_long[][5] = {"LOW1", "LOW2", "LOW3", "LOW4", "LOW5", "MID", "HIGH"}; + sprintf(String, "%s", pwr_long[currentPower]); + GUI_DisplaySmallest(String, 24, line == 0 ? 17 : 49, false, true); + } + + if(userPower == true) + { + memcpy(p_line0 + 256 + arrowPos, BITMAP_PowerUser, sizeof(BITMAP_PowerUser)); + } } if (vfoInfo->freq_config_RX.Frequency != vfoInfo->freq_config_TX.Frequency) @@ -1424,7 +1439,7 @@ void UI_DisplayMain(void) UI_PrintStringSmallBold(String, 92, 0, 6); for (uint8_t i = 92; i < 128; i++) { - gFrameBuffer[6][i] ^= 0xFF; + gFrameBuffer[6][i] ^= 0x7F; } } #endif From 3d59dada224eeffba4d67d46cd3668caaa314883 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 17 Jul 2024 04:14:57 +0200 Subject: [PATCH 19/34] Improve Power and SetPwr menu --- ui/menu.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/ui/menu.c b/ui/menu.c index 3c343a07..387d66f9 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -590,7 +590,14 @@ void UI_DisplayMenu(void) } case MENU_TXP: - strcpy(String, gSubMenu_TXP[gSubMenuSelection]); + if(gSubMenuSelection == 0) + { + strcpy(String, gSubMenu_TXP[gSubMenuSelection]); + } + else + { + sprintf(String, "%s\n%s", gSubMenu_TXP[gSubMenuSelection], gSubMenu_SET_PWR[gSubMenuSelection - 1]); + } break; case MENU_R_DCS: @@ -953,7 +960,7 @@ void UI_DisplayMenu(void) #ifdef ENABLE_FEAT_F4HWN case MENU_SET_PWR: - strcpy(String, gSubMenu_SET_PWR[gSubMenuSelection]); + sprintf(String, "%s\n%s", gSubMenu_TXP[gSubMenuSelection + 1], gSubMenu_SET_PWR[gSubMenuSelection ]); break; case MENU_SET_PTT: From 1260bc8fb209971b082c0cbc563d493509f820a0 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Wed, 17 Jul 2024 23:36:04 +0200 Subject: [PATCH 20/34] Fix issue #192 --- app/app.c | 6 ++++++ app/main.c | 52 ++++++++++++++++++++++++++++++---------------------- app/main.h | 2 +- 3 files changed, 37 insertions(+), 23 deletions(-) diff --git a/app/app.c b/app/app.c index 46d2f4c8..93885668 100644 --- a/app/app.c +++ b/app/app.c @@ -1469,6 +1469,12 @@ void APP_TimeSlice500ms(void) if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE) && (gInputBoxIndex == 1 || gInputBoxIndex == 2)) { + channelMoveSwitch(); + + if (gBeepToPlay == BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL) { + AUDIO_PlayBeep(gBeepToPlay); + } + SETTINGS_SaveVfoIndices(); } diff --git a/app/main.c b/app/main.c index 8507dfb7..251eb81d 100644 --- a/app/main.c +++ b/app/main.c @@ -314,20 +314,20 @@ static void processFKeyFunction(const KEY_Code_t Key, const bool beep) } } -void channelMove(uint16_t Channel, bool End) +void channelMove(uint16_t Channel) { const uint8_t Vfo = gEeprom.TX_VFO; - if(End) - { - gInputBoxIndex = 0; - } - if (!RADIO_CheckValidChannel(Channel, false, 0)) { - gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; + if (gKeyInputCountdown <= 1) { + gBeepToPlay = BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL; + } + return; } + gBeepToPlay = BEEP_NONE; + #ifdef ENABLE_VOICE gAnotherVoiceID = (VOICE_ID_t)Key; #endif @@ -338,34 +338,40 @@ void channelMove(uint16_t Channel, bool End) gVfoConfigureMode = VFO_CONFIGURE_RELOAD; RADIO_ConfigureChannel(gEeprom.TX_VFO, gVfoConfigureMode); - if(End) - { - SETTINGS_SaveVfoIndices(); - } - + return; } void channelMoveSwitch(void) { if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { // user is entering channel number + uint16_t Channel = 0; + switch (gInputBoxIndex) { case 1: - if (gInputBox[0] != 0) { - channelMove(gInputBox[0] - 1, false); - } - + Channel = gInputBox[0]; break; case 2: - if (!((gInputBox[0] == 0) && (gInputBox[1] == 0))) { - channelMove(((gInputBox[0] * 10) + gInputBox[1]) - 1, false); - } - + Channel = (gInputBox[0] * 10) + gInputBox[1]; break; case 3: - channelMove(((gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]) - 1, true); + Channel = (gInputBox[0] * 100) + (gInputBox[1] * 10) + gInputBox[2]; break; } + + if ((Channel == 0) && (gInputBoxIndex != 3)) { + return; + } + + if (gInputBoxIndex == 3) { + gInputBoxIndex = 0; + gKeyInputCountdown = 1; + + channelMove(Channel - 1); + return; + } + + channelMove(Channel - 1); } } @@ -425,10 +431,12 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) const uint8_t Vfo = gEeprom.TX_VFO; INPUTBOX_Append(Key); gKeyInputCountdown = key_input_timeout_500ms; + + channelMoveSwitch(); + gRequestDisplayScreen = DISPLAY_MAIN; if (IS_MR_CHANNEL(gTxVfo->CHANNEL_SAVE)) { // user is entering channel number - channelMoveSwitch(); gKeyInputCountdown = (key_input_timeout_500ms / 5); // short time... diff --git a/app/main.h b/app/main.h index ddcc9ff2..bfe2417c 100644 --- a/app/main.h +++ b/app/main.h @@ -20,7 +20,7 @@ #include "driver/keyboard.h" void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); -void channelMove(uint16_t Channel, bool End); +void channelMoveSwitch(void); #endif From a35e9b35be23d6396924e47fe719304fef8abf23 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Thu, 18 Jul 2024 03:41:38 +0200 Subject: [PATCH 21/34] Improve Txp settings --- radio.c | 95 ++++++++++++++++++--------------------------------------- 1 file changed, 30 insertions(+), 65 deletions(-) diff --git a/radio.c b/radio.c index 94328f95..738f7fba 100644 --- a/radio.c +++ b/radio.c @@ -506,15 +506,32 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // 1F30 32 32 32 64 64 64 8c 8c 8c ff ff ff ff ff ff ff 470 MHz uint8_t Txp[3]; - uint8_t Op = 0; + uint8_t Op = 0; // Low eeprom calibration data + uint8_t currentPower = pInfo->OUTPUT_POWER; - if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID) + if(currentPower == OUTPUT_POWER_USER) { - Op = 1; + if(gSetting_set_pwr == 5) + { + Op = 1; // Mid eeprom calibration data + } + else if(gSetting_set_pwr == 6) + { + Op = 2; // High eeprom calibration data + } + currentPower = gSetting_set_pwr; } - else if(pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH) + else { - Op = 2; + if (currentPower == OUTPUT_POWER_MID) + { + Op = 1; // Mid eeprom calibration data + } + else if(currentPower == OUTPUT_POWER_HIGH) + { + Op = 2; // High eeprom calibration data + } + currentPower--; } EEPROM_ReadBuffer(0x1ED0 + (Band * 16) + (Op * 3), Txp, 3); @@ -524,19 +541,9 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) // and use calibration values // be aware with toxic fucking closed firmwares - uint8_t shift[] = {0, 0, 0, 0, 0}; - uint8_t currentPower = pInfo->OUTPUT_POWER; - - if(currentPower == OUTPUT_POWER_USER) - { - currentPower = gSetting_set_pwr; - } - else - { - currentPower--; - } - /* + uint8_t shift[] = {0, 0, 0, 0, 0}; + if(Band == 5) // UHF { shift[0] = 0; @@ -545,26 +552,26 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) shift[3] = 0; shift[4] = 0; } - */ + */ for(uint8_t p = 0; p < 3; p++) { switch (currentPower) { case 0: - Txp[p] = (Txp[p] * 4) / 25 + shift[pInfo->OUTPUT_POWER]; + Txp[p] = (Txp[p] * 4) / 25; //+ shift[pInfo->OUTPUT_POWER]; break; case 1: - Txp[p] = (Txp[p] * 4) / 19 + shift[pInfo->OUTPUT_POWER]; + Txp[p] = (Txp[p] * 4) / 19; // + shift[pInfo->OUTPUT_POWER]; break; case 2: - Txp[p] = (Txp[p] * 4) / 13 + shift[pInfo->OUTPUT_POWER]; + Txp[p] = (Txp[p] * 4) / 13; // + shift[pInfo->OUTPUT_POWER]; break; case 3: - Txp[p] = (Txp[p] * 4) / 10 + shift[pInfo->OUTPUT_POWER]; + Txp[p] = (Txp[p] * 4) / 10; // + shift[pInfo->OUTPUT_POWER]; break; case 4: - Txp[p] = (Txp[p] * 4) / 7 + shift[pInfo->OUTPUT_POWER]; + Txp[p] = (Txp[p] * 4) / 7; // + shift[pInfo->OUTPUT_POWER]; break; case 5: Txp[p] = (Txp[p] * 3) / 4; @@ -574,48 +581,6 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) break; } } - /* - // make low and mid even lower - // and use calibration values - // be aware with toxic fucking closed firmwares - - uint8_t shift[] = {0, 0, 0, 0, 0}; - - if (pInfo->OUTPUT_POWER == OUTPUT_POWER_LOW) { - for(uint8_t p = 0; p < 3; p++ ) - { - switch (gSetting_set_low) { - case 0: - Txp[p] = (Txp[p] * 4) / 25 + shift[gSetting_set_low]; - break; - case 1: - Txp[p] = (Txp[p] * 4) / 19 + shift[gSetting_set_low]; - break; - case 2: - Txp[p] = (Txp[p] * 4) / 13 + shift[gSetting_set_low]; - break; - case 3: - Txp[p] = (Txp[p] * 4) / 10 + shift[gSetting_set_low]; - break; - case 4: - Txp[p] = (Txp[p] * 4) / 7 + shift[gSetting_set_low]; - break; - } - - } - } - else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_MID){ - Txp[0] = (Txp[0] * 3) / 4; - Txp[1] = (Txp[1] * 3) / 4; - Txp[2] = (Txp[2] * 3) / 4; - } - // increase high - else if (pInfo->OUTPUT_POWER == OUTPUT_POWER_HIGH){ - Txp[0] = Txp[0] + 30; - Txp[1] = Txp[1] + 30; - Txp[2] = Txp[2] + 30; - } - */ #else #ifdef ENABLE_REDUCE_LOW_MID_TX_POWER // make low and mid even lower From a9a0100824beef0e030da64f6d9c6996bb35feb5 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Thu, 18 Jul 2024 17:52:03 +0200 Subject: [PATCH 22/34] Improve 3500mAh support --- helper/battery.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/helper/battery.c b/helper/battery.c index 99163b1f..7c220a45 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -25,6 +25,7 @@ #include "ui/battery.h" #include "ui/menu.h" #include "ui/ui.h" +//#include "debugging.h" uint16_t gBatteryCalibration[6]; uint16_t gBatteryCurrentVoltage; @@ -113,13 +114,22 @@ void BATTERY_GetReadings(const bool bDisplayBatteryLevel) if(gBatteryVoltageAverage > 890) gBatteryDisplayLevel = 7; // battery overvoltage - else if(gBatteryVoltageAverage < 630) + else if(gBatteryVoltageAverage < 630 && (gEeprom.BATTERY_TYPE == BATTERY_TYPE_1600_MAH || gEeprom.BATTERY_TYPE == BATTERY_TYPE_2200_MAH)) + gBatteryDisplayLevel = 0; // battery critical + else if(gBatteryVoltageAverage < 600 && (gEeprom.BATTERY_TYPE == BATTERY_TYPE_3500_MAH)) gBatteryDisplayLevel = 0; // battery critical else { gBatteryDisplayLevel = 1; const uint8_t levels[] = {5,17,41,65,88}; uint8_t perc = BATTERY_VoltsToPercent(gBatteryVoltageAverage); + //char str[64]; + //LogUart("----------\n"); + //sprintf(str, "%d %d %d %d %d %d %d\n", gBatteryVoltages[0], gBatteryVoltages[1], gBatteryVoltages[2], gBatteryVoltages[3], Voltage, gBatteryVoltageAverage, perc); + //LogUart(str); + for(uint8_t i = 6; i >= 1; i--){ + //sprintf(str, "%d %d %d\n", perc, levels[i-2], i); + //LogUart(str); if (perc > levels[i-2]) { gBatteryDisplayLevel = i; break; From f7084f7c3d5aecefea8ca2f4da4218fe17480641 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 19 Jul 2024 00:11:54 +0200 Subject: [PATCH 23/34] Fix issue #194 --- app/main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/main.c b/app/main.c index 251eb81d..3372d81a 100644 --- a/app/main.c +++ b/app/main.c @@ -368,6 +368,8 @@ void channelMoveSwitch(void) { gKeyInputCountdown = 1; channelMove(Channel - 1); + SETTINGS_SaveVfoIndices(); + return; } From eb4c7922b47d21ddc9888f9e2409723b96f9d14d Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 19 Jul 2024 03:56:55 +0200 Subject: [PATCH 24/34] Add some spectrum save settings --- app/spectrum.c | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 49 insertions(+), 1 deletion(-) diff --git a/app/spectrum.c b/app/spectrum.c index 1d4e5964..b9bdfa76 100644 --- a/app/spectrum.c +++ b/app/spectrum.c @@ -23,6 +23,7 @@ #endif #include "driver/backlight.h" +#include "driver/eeprom.h" #include "frequencies.h" #include "ui/helper.h" #include "ui/main.h" @@ -105,6 +106,51 @@ RegisterSpec registerSpecs[] = { uint16_t statuslineUpdateTimer = 0; +static void LoadSettings() +{ + #ifdef ENABLE_FEAT_F4HWN + uint8_t Data[8] = {0}; + // 1FF0..0x1FF7 + EEPROM_ReadBuffer(0x1FF0, Data, 8); + + settings.scanStepIndex = ((Data[4] & 0xF0) >> 4); + + if(settings.scanStepIndex > 14) + { + settings.scanStepIndex = S_STEP_25_0kHz; + } + + settings.stepsCount = ((Data[4] & 0x0F) & 0b1100) >> 2; + + if(settings.stepsCount > 3) + { + settings.stepsCount = STEPS_64; + } + + settings.listenBw = ((Data[4] & 0x0F) & 0b0011); + + if(settings.listenBw > 2) + { + settings.listenBw = BK4819_FILTER_BW_WIDE; + } + + #endif +} + +static void SaveSettings() +{ + #ifdef ENABLE_FEAT_F4HWN + uint8_t Data[8] = {0}; + // 1FF0..0x1FF7 + EEPROM_ReadBuffer(0x1FF0, Data, 8); + + Data[4] = (settings.scanStepIndex << 4) | (settings.stepsCount << 2) | settings.listenBw; + + EEPROM_WriteBuffer(0x1FF0, Data); + + #endif +} + static uint8_t DBm2S(int dbm) { uint8_t i = 0; dbm *= -1; @@ -932,6 +978,7 @@ static void OnKeyDown(uint8_t key) { menuState = 0; break; } + SaveSettings(); DeInitSpectrum(); break; default: @@ -1321,6 +1368,7 @@ static void Tick() { void APP_RunSpectrum() { // TX here coz it always? set to active VFO vfo = gEeprom.TX_VFO; + LoadSettings(); // set the current frequency in the middle of the display #ifdef ENABLE_SCAN_RANGES if(gScanRangeStart) { @@ -1349,7 +1397,7 @@ void APP_RunSpectrum() { ToggleRX(true), ToggleRX(false); // hack to prevent noise when squelch off RADIO_SetModulation(settings.modulationType = gTxVfo->Modulation); - BK4819_SetFilterBandwidth(settings.listenBw = BK4819_FILTER_BW_WIDE, false); + BK4819_SetFilterBandwidth(settings.listenBw, false); RelaunchScan(); From 2a46050a196dac5d1a97f198e48bdc33c5cc446e Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 19 Jul 2024 14:25:18 +0200 Subject: [PATCH 25/34] Add compile options --- Makefile | 4 ++++ app/spectrum.c | 38 ++++++++++++++++++++++---------------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/Makefile b/Makefile index 5f923b90..76157786 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,7 @@ ENABLE_SCAN_RANGES ?= 1 ENABLE_FEAT_F4HWN ?= 1 ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0 ENABLE_FEAT_F4HWN_PMR ?= 1 +ENABLE_FEAT_F4HWN_SPECTRUM ?= 1 # ---- DEBUGGING ---- ENABLE_AM_FIX_SHOW_DATA ?= 0 @@ -407,6 +408,9 @@ endif ifeq ($(ENABLE_FEAT_F4HWN_PMR),1) CFLAGS += -DENABLE_FEAT_F4HWN_PMR endif +ifeq ($(ENABLE_FEAT_F4HWN_SPECTRUM),1) + CFLAGS += -DENABLE_FEAT_F4HWN_SPECTRUM +endif LDFLAGS = LDFLAGS += -z noexecstack -mcpu=cortex-m0 -nostartfiles -Wl,-T,firmware.ld -Wl,--gc-sections diff --git a/app/spectrum.c b/app/spectrum.c index b9bdfa76..a305f8aa 100644 --- a/app/spectrum.c +++ b/app/spectrum.c @@ -23,7 +23,6 @@ #endif #include "driver/backlight.h" -#include "driver/eeprom.h" #include "frequencies.h" #include "ui/helper.h" #include "ui/main.h" @@ -32,6 +31,10 @@ #include "screenshot.h" #endif +#ifdef ENABLE_FEAT_F4HWN_SPECTRUM + #include "driver/eeprom.h" +#endif + struct FrequencyBandInfo { uint32_t lower; uint32_t upper; @@ -106,9 +109,9 @@ RegisterSpec registerSpecs[] = { uint16_t statuslineUpdateTimer = 0; -static void LoadSettings() -{ - #ifdef ENABLE_FEAT_F4HWN +#ifdef ENABLE_FEAT_F4HWN_SPECTRUM + static void LoadSettings() + { uint8_t Data[8] = {0}; // 1FF0..0x1FF7 EEPROM_ReadBuffer(0x1FF0, Data, 8); @@ -133,13 +136,10 @@ static void LoadSettings() { settings.listenBw = BK4819_FILTER_BW_WIDE; } + } - #endif -} - -static void SaveSettings() -{ - #ifdef ENABLE_FEAT_F4HWN + static void SaveSettings() + { uint8_t Data[8] = {0}; // 1FF0..0x1FF7 EEPROM_ReadBuffer(0x1FF0, Data, 8); @@ -147,9 +147,8 @@ static void SaveSettings() Data[4] = (settings.scanStepIndex << 4) | (settings.stepsCount << 2) | settings.listenBw; EEPROM_WriteBuffer(0x1FF0, Data); - - #endif -} + } +#endif static uint8_t DBm2S(int dbm) { uint8_t i = 0; @@ -978,7 +977,9 @@ static void OnKeyDown(uint8_t key) { menuState = 0; break; } - SaveSettings(); + #ifdef ENABLE_FEAT_F4HWN_SPECTRUM + SaveSettings(); + #endif DeInitSpectrum(); break; default: @@ -1368,7 +1369,9 @@ static void Tick() { void APP_RunSpectrum() { // TX here coz it always? set to active VFO vfo = gEeprom.TX_VFO; +#ifdef ENABLE_FEAT_F4HWN_SPECTRUM LoadSettings(); +#endif // set the current frequency in the middle of the display #ifdef ENABLE_SCAN_RANGES if(gScanRangeStart) { @@ -1393,11 +1396,14 @@ void APP_RunSpectrum() { redrawScreen = true; newScanStart = true; - ToggleRX(true), ToggleRX(false); // hack to prevent noise when squelch off RADIO_SetModulation(settings.modulationType = gTxVfo->Modulation); - BK4819_SetFilterBandwidth(settings.listenBw, false); + #ifdef ENABLE_FEAT_F4HWN_SPECTRUM + BK4819_SetFilterBandwidth(settings.listenBw, false); + #else + BK4819_SetFilterBandwidth(settings.listenBw = BK4819_FILTER_BW_WIDE, false); + #endif RelaunchScan(); From d2c014d95d1873d177b9cbb29fa96a546296ad73 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 19 Jul 2024 14:40:34 +0200 Subject: [PATCH 26/34] Add compile options --- Makefile | 102 +++++++++++++++++++++++++++----------------------- frequencies.c | 4 ++ settings.h | 4 +- ui/menu.c | 4 +- 4 files changed, 65 insertions(+), 49 deletions(-) diff --git a/Makefile b/Makefile index 76157786..22f6bc20 100644 --- a/Makefile +++ b/Makefile @@ -4,57 +4,59 @@ # 1 = enable # ---- STOCK QUANSHENG FERATURES ---- -ENABLE_FMRADIO ?= 0 -ENABLE_UART ?= 1 -ENABLE_AIRCOPY ?= 0 -ENABLE_NOAA ?= 0 -ENABLE_VOICE ?= 0 -ENABLE_VOX ?= 1 -ENABLE_ALARM ?= 0 -ENABLE_TX1750 ?= 1 -ENABLE_PWRON_PASSWORD ?= 0 -ENABLE_DTMF_CALLING ?= 0 -ENABLE_FLASHLIGHT ?= 1 +ENABLE_FMRADIO ?= 0 +ENABLE_UART ?= 1 +ENABLE_AIRCOPY ?= 0 +ENABLE_NOAA ?= 0 +ENABLE_VOICE ?= 0 +ENABLE_VOX ?= 1 +ENABLE_ALARM ?= 0 +ENABLE_TX1750 ?= 1 +ENABLE_PWRON_PASSWORD ?= 0 +ENABLE_DTMF_CALLING ?= 0 +ENABLE_FLASHLIGHT ?= 1 # ---- CUSTOM MODS ---- -ENABLE_SPECTRUM ?= 1 -ENABLE_BIG_FREQ ?= 1 -ENABLE_SMALL_BOLD ?= 1 -ENABLE_CUSTOM_MENU_LAYOUT ?= 1 -ENABLE_KEEP_MEM_NAME ?= 1 -ENABLE_WIDE_RX ?= 1 -ENABLE_TX_WHEN_AM ?= 0 -ENABLE_F_CAL_MENU ?= 0 -ENABLE_CTCSS_TAIL_PHASE_SHIFT ?= 0 -ENABLE_BOOT_BEEPS ?= 0 -ENABLE_SHOW_CHARGE_LEVEL ?= 0 -ENABLE_REVERSE_BAT_SYMBOL ?= 0 -ENABLE_NO_CODE_SCAN_TIMEOUT ?= 1 -ENABLE_AM_FIX ?= 1 -ENABLE_SQUELCH_MORE_SENSITIVE ?= 1 -ENABLE_FASTER_CHANNEL_SCAN ?= 1 -ENABLE_RSSI_BAR ?= 1 -ENABLE_AUDIO_BAR ?= 1 -ENABLE_COPY_CHAN_TO_VFO ?= 1 -ENABLE_REDUCE_LOW_MID_TX_POWER?= 0 -ENABLE_BYP_RAW_DEMODULATORS ?= 0 -ENABLE_BLMIN_TMP_OFF ?= 0 -ENABLE_SCAN_RANGES ?= 1 -ENABLE_FEAT_F4HWN ?= 1 -ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0 -ENABLE_FEAT_F4HWN_PMR ?= 1 -ENABLE_FEAT_F4HWN_SPECTRUM ?= 1 +ENABLE_SPECTRUM ?= 1 +ENABLE_BIG_FREQ ?= 1 +ENABLE_SMALL_BOLD ?= 1 +ENABLE_CUSTOM_MENU_LAYOUT ?= 1 +ENABLE_KEEP_MEM_NAME ?= 1 +ENABLE_WIDE_RX ?= 1 +ENABLE_TX_WHEN_AM ?= 0 +ENABLE_F_CAL_MENU ?= 0 +ENABLE_CTCSS_TAIL_PHASE_SHIFT ?= 0 +ENABLE_BOOT_BEEPS ?= 0 +ENABLE_SHOW_CHARGE_LEVEL ?= 0 +ENABLE_REVERSE_BAT_SYMBOL ?= 0 +ENABLE_NO_CODE_SCAN_TIMEOUT ?= 1 +ENABLE_AM_FIX ?= 1 +ENABLE_SQUELCH_MORE_SENSITIVE ?= 1 +ENABLE_FASTER_CHANNEL_SCAN ?= 1 +ENABLE_RSSI_BAR ?= 1 +ENABLE_AUDIO_BAR ?= 1 +ENABLE_COPY_CHAN_TO_VFO ?= 1 +ENABLE_REDUCE_LOW_MID_TX_POWER ?= 0 +ENABLE_BYP_RAW_DEMODULATORS ?= 0 +ENABLE_BLMIN_TMP_OFF ?= 0 +ENABLE_SCAN_RANGES ?= 1 +ENABLE_FEAT_F4HWN ?= 1 +ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0 +ENABLE_FEAT_F4HWN_SPECTRUM ?= 1 +ENABLE_FEAT_F4HWN_PMR ?= 1 +ENABLE_FEAT_F4HWN_GMRS_FRS_MURS ?= 1 +ENABLE_FEAT_F4HWN_CA ?= 1 # ---- DEBUGGING ---- -ENABLE_AM_FIX_SHOW_DATA ?= 0 -ENABLE_AGC_SHOW_DATA ?= 0 -ENABLE_UART_RW_BK_REGS ?= 0 +ENABLE_AM_FIX_SHOW_DATA ?= 0 +ENABLE_AGC_SHOW_DATA ?= 0 +ENABLE_UART_RW_BK_REGS ?= 0 # ---- COMPILER/LINKER OPTIONS ---- -ENABLE_CLANG ?= 0 -ENABLE_SWD ?= 0 -ENABLE_OVERLAY ?= 0 -ENABLE_LTO ?= 1 +ENABLE_CLANG ?= 0 +ENABLE_SWD ?= 0 +ENABLE_OVERLAY ?= 0 +ENABLE_LTO ?= 1 ############################################################# @@ -405,11 +407,17 @@ endif ifeq ($(ENABLE_FEAT_F4HWN_SCREENSHOT),1) CFLAGS += -DENABLE_FEAT_F4HWN_SCREENSHOT endif +ifeq ($(ENABLE_FEAT_F4HWN_SPECTRUM),1) + CFLAGS += -DENABLE_FEAT_F4HWN_SPECTRUM +endif ifeq ($(ENABLE_FEAT_F4HWN_PMR),1) CFLAGS += -DENABLE_FEAT_F4HWN_PMR endif -ifeq ($(ENABLE_FEAT_F4HWN_SPECTRUM),1) - CFLAGS += -DENABLE_FEAT_F4HWN_SPECTRUM +ifeq ($(ENABLE_FEAT_F4HWN_GMRS_FRS_MURS),1) + CFLAGS += -DENABLE_FEAT_F4HWN_GMRS_FRS_MURS +endif +ifeq ($(ENABLE_FEAT_F4HWN_CA),1) + CFLAGS += -DENABLE_FEAT_F4HWN_CA endif LDFLAGS = diff --git a/frequencies.c b/frequencies.c index 96104bbf..000ff6da 100644 --- a/frequencies.c +++ b/frequencies.c @@ -227,7 +227,9 @@ int32_t TX_freq_check(const uint32_t Frequency) if (Frequency >= 44600625 && Frequency <= 44619375) return 0; break; +#endif +#ifdef ENABLE_FEAT_F4HWN_GMRS_FRS_MURS case F_LOCK_GMRS_FRS_MURS: // https://forums.radioreference.com/threads/the-great-unofficial-radioreference-frs-gmrs-murs-fact-sheet.275370/ if ((Frequency >= 46255000 && Frequency <= 46272500) || @@ -240,7 +242,9 @@ int32_t TX_freq_check(const uint32_t Frequency) Frequency == 15460000) // MURS return 0; break; +#endif +#ifdef ENABLE_FEAT_F4HWN_CA case F_LOCK_CA: if (Frequency >= 14400000 && Frequency < 14800000) return 0; diff --git a/settings.h b/settings.h index 11c002c7..900421ff 100644 --- a/settings.h +++ b/settings.h @@ -41,7 +41,7 @@ typedef enum POWER_OnDisplayMode_t POWER_OnDisplayMode_t; enum TxLockModes_t { F_LOCK_DEF, //all default frequencies + configurable F_LOCK_FCC, -#ifdef ENABLE_FEAT_F4HWN_PMR +#ifdef ENABLE_FEAT_F4HWN_CA F_LOCK_CA, #endif F_LOCK_CE, @@ -50,6 +50,8 @@ enum TxLockModes_t { F_LOCK_438, #ifdef ENABLE_FEAT_F4HWN_PMR F_LOCK_PMR, +#endif +#ifdef ENABLE_FEAT_F4HWN_GMRS_FRS_MURS F_LOCK_GMRS_FRS_MURS, #endif F_LOCK_ALL, // disable TX on all frequencies diff --git a/ui/menu.c b/ui/menu.c index 387d66f9..fa8b7ebb 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -295,7 +295,7 @@ const char * const gSubMenu_F_LOCK[] = { "DEFAULT+\n137-174\n400-470", "FCC HAM\n144-148\n420-450", -#ifdef ENABLE_FEAT_F4HWN_PMR +#ifdef ENABLE_FEAT_F4HWN_CA "CA HAM\n144-148\n430-450", #endif "CE HAM\n144-146\n430-440", @@ -304,6 +304,8 @@ const char * const gSubMenu_F_LOCK[] = "137-174\n400-438", #ifdef ENABLE_FEAT_F4HWN_PMR "PMR 446", +#endif +#ifdef ENABLE_FEAT_F4HWN_GMRS_FRS_MURS "GMRS\nFRS\nMURS", #endif "DISABLE\nALL", From 78d196731464dc6f44869eb7e14141b1a26a6d3e Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 19 Jul 2024 19:55:52 +0200 Subject: [PATCH 27/34] Save 12 bytes --- ui/menu.c | 20 ++++++++++---------- ui/menu.h | 2 +- 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/ui/menu.c b/ui/menu.c index fa8b7ebb..4e2575f8 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -352,15 +352,15 @@ const char gSubMenu_SCRAMBLER[][7] = #endif #ifdef ENABLE_FEAT_F4HWN - const char gSubMenu_SET_PWR[][7] = + const char gSubMenu_SET_PWR[][6] = { - "< 20mW", - "125mW", - "250mW", - "500mW", - "1W", - "2W", - "5W" + "< 20m", + "125m", + "250m", + "500m", + "1", + "2", + "5" }; const char gSubMenu_SET_PTT[][8] = @@ -598,7 +598,7 @@ void UI_DisplayMenu(void) } else { - sprintf(String, "%s\n%s", gSubMenu_TXP[gSubMenuSelection], gSubMenu_SET_PWR[gSubMenuSelection - 1]); + sprintf(String, "%s\n%sW", gSubMenu_TXP[gSubMenuSelection], gSubMenu_SET_PWR[gSubMenuSelection - 1]); } break; @@ -962,7 +962,7 @@ void UI_DisplayMenu(void) #ifdef ENABLE_FEAT_F4HWN case MENU_SET_PWR: - sprintf(String, "%s\n%s", gSubMenu_TXP[gSubMenuSelection + 1], gSubMenu_SET_PWR[gSubMenuSelection ]); + sprintf(String, "%s\n%sW", gSubMenu_TXP[gSubMenuSelection + 1], gSubMenu_SET_PWR[gSubMenuSelection]); break; case MENU_SET_PTT: diff --git a/ui/menu.h b/ui/menu.h index 4487c7a3..ee20b220 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -166,7 +166,7 @@ extern const char gSubMenu_D_RSP[4][11]; #endif #ifdef ENABLE_FEAT_F4HWN - extern const char gSubMenu_SET_PWR[7][7]; + extern const char gSubMenu_SET_PWR[7][6]; extern const char gSubMenu_SET_PTT[2][8]; extern const char gSubMenu_SET_TOT[4][7]; extern const char gSubMenu_SET_LCK[2][9]; From 5df29e09550efb65144d502611dee7c3a4ef8d3f Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Fri, 19 Jul 2024 23:59:57 +0200 Subject: [PATCH 28/34] Fix bug with F_LOCK menu --- main.c | 2 ++ ui/menu.c | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/main.c b/main.c index efded8dd..287ad743 100644 --- a/main.c +++ b/main.c @@ -123,6 +123,7 @@ void Main(void) if (BootMode == BOOT_MODE_F_LOCK) { + gF_LOCK = true; // flag to say include the hidden menu items #ifdef ENABLE_FEAT_F4HWN gEeprom.KEY_LOCK = 0; @@ -132,6 +133,7 @@ void Main(void) #else gMenuCursor = 64; // move to hidden section, fix me if change... !!! #endif + gSubMenuSelection = gSetting_F_LOCK; #endif } diff --git a/ui/menu.c b/ui/menu.c index 4e2575f8..91751977 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -920,7 +920,11 @@ void UI_DisplayMenu(void) break; case MENU_F_LOCK: +#ifdef ENABLE_FEAT_F4HWN + if(!gIsInSubMenu && gUnlockAllTxConfCnt>0 && gUnlockAllTxConfCnt<3) +#else if(!gIsInSubMenu && gUnlockAllTxConfCnt>0 && gUnlockAllTxConfCnt<10) +#endif strcpy(String, "READ\nMANUAL"); else strcpy(String, gSubMenu_F_LOCK[gSubMenuSelection]); From de4d7d39346497d9986b6cd00b00e72fb831a2e1 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sat, 20 Jul 2024 00:13:24 +0200 Subject: [PATCH 29/34] Fix levels array index for -1 possibility #196 --- helper/battery.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/helper/battery.c b/helper/battery.c index 7c220a45..ee8fe468 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -127,7 +127,7 @@ void BATTERY_GetReadings(const bool bDisplayBatteryLevel) //sprintf(str, "%d %d %d %d %d %d %d\n", gBatteryVoltages[0], gBatteryVoltages[1], gBatteryVoltages[2], gBatteryVoltages[3], Voltage, gBatteryVoltageAverage, perc); //LogUart(str); - for(uint8_t i = 6; i >= 1; i--){ + for(uint8_t i = 6; i >= 2; i--){ //sprintf(str, "%d %d %d\n", perc, levels[i-2], i); //LogUart(str); if (perc > levels[i-2]) { From 6cf1ad1a6bfc7738050f9f27116cdea790beb4b7 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sat, 20 Jul 2024 01:52:57 +0200 Subject: [PATCH 30/34] Update README --- README.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 1f73b52c..cab5da07 100644 --- a/README.md +++ b/README.md @@ -39,9 +39,15 @@ Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC ## Main features: -* improve default power settings level (Low ~125mW, Mid ~2W and High ~5W), +* improve default power settings level: + * Low1 to Low5 (<~20mW, ~125mW, ~250mW, ~500mW, ~1W), + * Mid ~2W, + * High ~5W, + * User (see SetPwr), * improve s-meter (IARU recommandations), -* improve bandscope (Spectrum Analyser) and add channel name, +* improve bandscope (Spectrum Analyser): + * add channel name, + * add save of some spectrum parameters, * improve UI: * menu index is always visible, even if a menu is selected, * s-meter new design (Classic or Tiny), @@ -60,7 +66,7 @@ Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC * improve memory channel input, * and more... * new menu entries and changes: - * add SetLow menu to set low power (<20mW, 125mW, 250mW, 500mW and 1W), + * add SetPwr menu to set User power (<20mW, 125mW, 250mW, 500mW, 1W, 2W or 5W), * add SetPtt menu to set PTT mode (Classic or OnePush), * add SetTot menu to set TOT alert (Off, Sound, Visual, All), * add SetCtr menu to set contrast (0 to 15), @@ -77,23 +83,24 @@ Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC * add HAM CA F Lock band (for Canadian zone), * add GMRS/FRS/MURS F Lock (for North America zone), * remove blink and SOS functionality, - * remove AM Fix menu (AM Fix is ENABLED by default). + * remove AM Fix menu (AM Fix is ENABLED by default), + * add support of 3500mAh battery, * improve status bar: * add SetPtt mode in status bar, * change font and bitmaps, * move USB icon to left of battery information, * add RX and TX timers, * improve lists and scan lists options: - * add new list 3 - * add new list 0 (channel without list...) - * add new scan lists options - * scan list 0 (all channels without list) - * scan list 1 - * scan list 2 - * scan list 3 - * scan lists [1, 2, 3] - * scan all (all channels with ou without list) - * add scan list shortcuts + * add new list 3, + * add new list 0 (channel without list...), + * add new scan lists options, + * scan list 0 (all channels without list), + * scan list 1, + * scan list 2, + * scan list 3, + * scan lists [1, 2, 3], + * scan all (all channels with ou without list), + * add scan list shortcuts, * new actions: * RX MODE, * MAIN ONLY, From 33e0c1731d64eabc077119b77a5650e993b18b41 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sat, 20 Jul 2024 18:36:16 +0200 Subject: [PATCH 31/34] Update donors --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index cab5da07..4b98da6a 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Anyway, have fun. # Donations -Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC206, Frédéric F4ESO, Stéphane F5LGW, Jorge Ornelas, Laurent F4AXK, Christophe Morel, Clayton W0LED, Pierre Antoine F6FWB, Jean-Claude 14FRS3306, Thierry F4GVO, Eric F1NOU, PricelessToolkit, Ady M6NYJ, Tom McGovern, Joseph Roth, Pierre-Yves Colin, Frank DJ7FG, Marcel Testaz and Brian Frobisher for their [donations](https://www.paypal.com/paypalme/F4HWN). That’s so kind of them. Thanks so much 🙏🏻 +Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC206, Frédéric F4ESO, Stéphane F5LGW, Jorge Ornelas, Laurent F4AXK, Christophe Morel, Clayton W0LED, Pierre Antoine F6FWB, Jean-Claude 14FRS3306, Thierry F4GVO, Eric F1NOU, PricelessToolkit, Ady M6NYJ, Tom McGovern, Joseph Roth, Pierre-Yves Colin, Frank DJ7FG, Marcel Testaz, Brian Frobisher and Paolo Bussola for their [donations](https://www.paypal.com/paypalme/F4HWN). That’s so kind of them. Thanks so much 🙏🏻 ## Table of Contents From 4078709ae9f10627f4f2f640063b13e3763b1104 Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sun, 21 Jul 2024 15:28:53 +0200 Subject: [PATCH 32/34] Add compile options --- Makefile | 4 ++++ ui/status.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/Makefile b/Makefile index 22f6bc20..53851304 100644 --- a/Makefile +++ b/Makefile @@ -43,6 +43,7 @@ ENABLE_SCAN_RANGES ?= 1 ENABLE_FEAT_F4HWN ?= 1 ENABLE_FEAT_F4HWN_SCREENSHOT ?= 0 ENABLE_FEAT_F4HWN_SPECTRUM ?= 1 +ENABLE_FEAT_F4HWN_CHARGING_C ?= 1 ENABLE_FEAT_F4HWN_PMR ?= 1 ENABLE_FEAT_F4HWN_GMRS_FRS_MURS ?= 1 ENABLE_FEAT_F4HWN_CA ?= 1 @@ -410,6 +411,9 @@ endif ifeq ($(ENABLE_FEAT_F4HWN_SPECTRUM),1) CFLAGS += -DENABLE_FEAT_F4HWN_SPECTRUM endif +ifeq ($(ENABLE_FEAT_F4HWN_CHARGING_C),1) + CFLAGS += -DENABLE_FEAT_F4HWN_CHARGING_C +endif ifeq ($(ENABLE_FEAT_F4HWN_PMR),1) CFLAGS += -DENABLE_FEAT_F4HWN_PMR endif diff --git a/ui/status.c b/ui/status.c index fa55a15c..d728144c 100644 --- a/ui/status.c +++ b/ui/status.c @@ -223,10 +223,12 @@ void UI_DisplayStatus() { memcpy(line + x + 1, gFontLight, sizeof(gFontLight)); } + #ifdef ENABLE_FEAT_F4HWN_CHARGING_C else if (gChargingWithTypeC) { memcpy(line + x + 1, BITMAP_USB_C, sizeof(BITMAP_USB_C)); } + #endif // Battery unsigned int x2 = LCD_WIDTH - sizeof(BITMAP_BatteryLevel1) - 0; From 3411b108405893086e2d532c61e2f51277be580b Mon Sep 17 00:00:00 2001 From: Armel FAUVEAU Date: Sun, 21 Jul 2024 20:13:12 +0200 Subject: [PATCH 33/34] Prepare new version --- archive/f4hwn.bandscope.packed.v3.1.bin | Bin 0 -> 59070 bytes archive/f4hwn.broadcast.packed.v3.1.bin | Bin 0 -> 57206 bytes archive/f4hwn.voxless.packed.v3.1.bin | Bin 0 -> 61426 bytes 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 archive/f4hwn.bandscope.packed.v3.1.bin create mode 100644 archive/f4hwn.broadcast.packed.v3.1.bin create mode 100644 archive/f4hwn.voxless.packed.v3.1.bin diff --git a/archive/f4hwn.bandscope.packed.v3.1.bin b/archive/f4hwn.bandscope.packed.v3.1.bin new file mode 100644 index 0000000000000000000000000000000000000000..92b0699bd4194a074e8fdac26b47bb8e09ada5d9 GIT binary patch literal 59070 zcmX`SgD2+7F#r^&K zo`2vvubKD6nVEAnQFp&FFi=kRw6a?Kwh4yLsUl+e4w=`$^GKmxn|kQ`qG=GAJKilE zv@wEaptRq5BHQR_iJ!_hA|8q3u�J;jrW80_(yq@f3xS=dzCIntItK(~vVG!ccDS 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 p;mf!{VE-##1?64qMtg?lTfcN6{|5p_4Bh|$ literal 0 HcmV?d00001 diff --git a/archive/f4hwn.broadcast.packed.v3.1.bin b/archive/f4hwn.broadcast.packed.v3.1.bin new file mode 100644 index 0000000000000000000000000000000000000000..0b65e9169090ea411bcfd747e963a3e5c1404fd7 GIT binary patch literal 57206 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 literal 0 HcmV?d00001 diff --git a/archive/f4hwn.voxless.packed.v3.1.bin b/archive/f4hwn.voxless.packed.v3.1.bin new file mode 100644 index 0000000000000000000000000000000000000000..806b9e8e55d5c1b3cb8207076e4ece88b5710f6e GIT binary patch literal 61426 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 z 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 Date: Sun, 21 Jul 2024 20:13:21 +0200 Subject: [PATCH 34/34] Prepare new version --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 4b98da6a..10e2e27e 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Anyway, have fun. # Donations -Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC206, Frédéric F4ESO, Stéphane F5LGW, Jorge Ornelas, Laurent F4AXK, Christophe Morel, Clayton W0LED, Pierre Antoine F6FWB, Jean-Claude 14FRS3306, Thierry F4GVO, Eric F1NOU, PricelessToolkit, Ady M6NYJ, Tom McGovern, Joseph Roth, Pierre-Yves Colin, Frank DJ7FG, Marcel Testaz, Brian Frobisher and Paolo Bussola for their [donations](https://www.paypal.com/paypalme/F4HWN). That’s so kind of them. Thanks so much 🙏🏻 +Special thanks to Jean-Cyrille F6IWW, Fabrice 14RC123, David F4BPP, Olivier 14RC206, Frédéric F4ESO, Stéphane F5LGW, Jorge Ornelas, Laurent F4AXK, Christophe Morel, Clayton W0LED, Pierre Antoine F6FWB, Jean-Claude 14FRS3306, Thierry F4GVO, Eric F1NOU, PricelessToolkit, Ady M6NYJ, Tom McGovern, Joseph Roth, Pierre-Yves Colin, Frank DJ7FG, Marcel Testaz, Brian Frobisher, Yannick F4JFO and Paolo Bussola for their [donations](https://www.paypal.com/paypalme/F4HWN). That’s so kind of them. Thanks so much 🙏🏻 ## Table of Contents