From 618d6962ffc80c9299415a2d0599bd18265d165d Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 28 Sep 2023 17:39:45 +0100 Subject: [PATCH] Added 30 sec TX timeout option --- app/app.c | 9 ++--- app/menu.c | 11 +++--- audio.c | 12 +++++-- audio.h | 3 +- driver/bk4819.c | 10 +++--- firmware.bin | Bin 57672 -> 57784 bytes firmware.packed.bin | Bin 57690 -> 57802 bytes main.c | 4 +-- misc.c | 9 +++-- misc.h | 9 +++-- radio.c | 79 +++++++++++++++++++++++--------------------- scheduler.c | 5 +-- ui/menu.c | 20 ++++++++--- ui/menu.h | 1 + 14 files changed, 105 insertions(+), 67 deletions(-) diff --git a/app/app.c b/app/app.c index 0081c0a..c890f4d 100644 --- a/app/app.c +++ b/app/app.c @@ -963,13 +963,14 @@ void APP_Update(void) #endif if (gCurrentFunction == FUNCTION_TRANSMIT && gTxTimeoutReached) - { // transmitting, but just timed out + { // transmitter timed out + gTxTimeoutReached = false; - gTxTimeoutReached = false; gFlagEndTransmission = true; - APP_EndTransmission(); - AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP); + + AUDIO_PlayBeep(BEEP_880HZ_60MS_TRIPLE_BEEP); + RADIO_SetVfoState(VFO_STATE_TIMEOUT); GUI_DisplayScreen(); } diff --git a/app/menu.c b/app/menu.c index 6010826..5ad4d32 100644 --- a/app/menu.c +++ b/app/menu.c @@ -214,8 +214,12 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax) *pMax = ARRAY_SIZE(gSubMenu_SCRAMBLER) - 1; break; - case MENU_VOX: case MENU_TOT: + *pMin = 0; + *pMax = ARRAY_SIZE(gSubMenu_TOT) - 1; + break; + + case MENU_VOX: case MENU_RP_STE: *pMin = 0; *pMax = 10; @@ -317,13 +321,12 @@ void MENU_AcceptSetting(void) break; case MENU_STEP: + gTxVfo->STEP_SETTING = gSubMenuSelection; if (IS_FREQ_CHANNEL(gTxVfo->CHANNEL_SAVE)) { - gTxVfo->STEP_SETTING = gSubMenuSelection; - gRequestSaveChannel = 1; + gRequestSaveChannel = 1; return; } - gTxVfo->STEP_SETTING = gSubMenuSelection; return; case MENU_TXP: diff --git a/audio.c b/audio.c index 9bf1403..bd85c0d 100644 --- a/audio.c +++ b/audio.c @@ -76,7 +76,7 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) uint16_t ToneFrequency; uint16_t Duration; - if (Beep != BEEP_500HZ_60MS_DOUBLE_BEEP && Beep != BEEP_440HZ_500MS && !gEeprom.BEEP_CONTROL) + if (Beep != BEEP_880HZ_60MS_TRIPLE_BEEP && Beep != BEEP_500HZ_60MS_DOUBLE_BEEP && Beep != BEEP_440HZ_500MS && !gEeprom.BEEP_CONTROL) return; #ifdef ENABLE_AIRCOPY @@ -122,6 +122,7 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) ToneFrequency = 440; break; case BEEP_880HZ_40MS_OPTIONAL: + case BEEP_880HZ_60MS_TRIPLE_BEEP: ToneFrequency = 880; break; } @@ -136,6 +137,12 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) switch (Beep) { + case BEEP_880HZ_60MS_TRIPLE_BEEP: + BK4819_ExitTxMute(); + SYSTEM_DelayMs(60); + BK4819_EnterTxMute(); + SYSTEM_DelayMs(20); + case BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL: case BEEP_500HZ_60MS_DOUBLE_BEEP: BK4819_ExitTxMute(); @@ -143,8 +150,6 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) BK4819_EnterTxMute(); SYSTEM_DelayMs(20); - // Fallthrough - case BEEP_1KHZ_60MS_OPTIONAL: BK4819_ExitTxMute(); Duration = 60; @@ -166,6 +171,7 @@ void AUDIO_PlayBeep(BEEP_Type_t Beep) SYSTEM_DelayMs(Duration); BK4819_EnterTxMute(); SYSTEM_DelayMs(20); + GPIO_ClearBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); gVoxResumeCountdown = 80; diff --git a/audio.h b/audio.h index f6fcab8..65c2ca6 100644 --- a/audio.h +++ b/audio.h @@ -28,7 +28,8 @@ enum BEEP_Type_t BEEP_440HZ_500MS, BEEP_500HZ_60MS_DOUBLE_BEEP, BEEP_440HZ_40MS_OPTIONAL, - BEEP_880HZ_40MS_OPTIONAL + BEEP_880HZ_40MS_OPTIONAL, + BEEP_880HZ_60MS_TRIPLE_BEEP }; typedef enum BEEP_Type_t BEEP_Type_t; diff --git a/driver/bk4819.c b/driver/bk4819.c index 8d35f76..91177b1 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -52,6 +52,7 @@ void BK4819_Init(void) BK4819_WriteRegister(BK4819_REG_36, 0x0022); BK4819_SetAGC(0); +// BK4819_SetAGC(1); BK4819_WriteRegister(BK4819_REG_19, 0b0001000001000001); // <15> MIC AGC 1 = disable 0 = enable @@ -239,9 +240,9 @@ void BK4819_SetAGC(uint8_t Value) // // <9:8> = LNA Gain Short // 3 = 0dB - // 2 = -11dB - // 1 = -16dB - // 0 = -19dB + // 2 = -24dB // was -11 + // 1 = -30dB // was -16 + // 0 = -33dB // was -19 // // <7:5> = LNA Gain // 7 = 0dB @@ -286,7 +287,8 @@ void BK4819_SetAGC(uint8_t Value) } else if (Value == 1) - { + { // what does this do ????????? + unsigned int i; // REG_10 diff --git a/firmware.bin b/firmware.bin index eaa556ff6079758dbddafa770e3e876e709cc0cf..cfccc011bd0154dbdf516bc0ab017eb3cd2f0958 100644 GIT binary patch delta 12350 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 B^Qr&< delta 12168 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index 9eb8eabbf7f98bd57e8cbea533bef739abdd6f8d..aa30ec3f16589da987eaa83a54f679a24024f2e8 100644 GIT binary patch delta 31208 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 delta 31095 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 = 0; // off #endif - + if (ChannelSave == (FREQ_CHANNEL_FIRST + BAND2_108MHz)) { pInfo->AM_CHANNEL_MODE = true; @@ -223,7 +223,7 @@ void RADIO_ConfigureChannel(uint8_t VFO, uint32_t Arg) // Band = BAND6_400MHz; Band = FREQUENCY_GetBand(gEeprom.ScreenChannel[VFO]); // 111 bug fix, or have I broke it ? } - + if (IS_MR_CHANNEL(Channel)) { gEeprom.VfoInfo[VFO].Band = Band; @@ -466,10 +466,10 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) { pInfo->SquelchOpenRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 11) / 12; pInfo->SquelchCloseRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 9) / 10; - + pInfo->SquelchOpenNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 9) / 8; pInfo->SquelchCloseNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 10) / 9; - + pInfo->SquelchOpenGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 9) / 8; pInfo->SquelchCloseGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 10) / 9; } @@ -477,16 +477,16 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) { pInfo->SquelchOpenRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 3) / 4; pInfo->SquelchCloseRSSIThresh = ((uint16_t)pInfo->SquelchOpenRSSIThresh * 9) / 10; - + pInfo->SquelchOpenNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 4) / 3; pInfo->SquelchCloseNoiseThresh = ((uint16_t)pInfo->SquelchOpenNoiseThresh * 10) / 9; - + pInfo->SquelchOpenGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 4) / 3; pInfo->SquelchCloseGlitchThresh = ((uint16_t)pInfo->SquelchOpenGlitchThresh * 10) / 9; } } #endif - + if (pInfo->SquelchOpenNoiseThresh > 127) pInfo->SquelchOpenNoiseThresh = 127; if (pInfo->SquelchCloseNoiseThresh > 127) @@ -537,7 +537,7 @@ void RADIO_ApplyOffset(VFO_Info_t *pInfo) if (Frequency > UpperLimitFrequencyBandTable[ARRAY_SIZE(UpperLimitFrequencyBandTable) - 1]) Frequency = UpperLimitFrequencyBandTable[ARRAY_SIZE(UpperLimitFrequencyBandTable) - 1]; #endif - + pInfo->freq_config_TX.Frequency = Frequency; } @@ -598,7 +598,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) #endif break; } - + BK4819_ToggleGpioOut(BK4819_GPIO1_PIN29_RED, false); BK4819_SetupPowerAmplifier(0, 0); @@ -662,7 +662,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) default: case CODE_TYPE_OFF: BK4819_SetCTCSSFrequency(670); - + //#ifndef ENABLE_CTCSS_TAIL_PHASE_SHIFT BK4819_SetTailDetection(550); // QS's 55Hz tone method //#else @@ -687,7 +687,7 @@ void RADIO_SetupRegisters(bool bSwitchToFunction0) | BK4819_REG_3F_CTCSS_LOST | BK4819_REG_3F_SQUELCH_FOUND | BK4819_REG_3F_SQUELCH_LOST; - + break; case CODE_TYPE_DIGITAL: @@ -924,10 +924,13 @@ void RADIO_SetVfoState(VfoState_t State) void RADIO_PrepareTX(void) { + VfoState_t State = VFO_STATE_NORMAL; // default to OK to TX + if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) - { + { // dual-RX is enabled + gDualWatchCountdown_10ms = dual_watch_count_after_tx_10ms; - gScheduleDualWatch = false; + gScheduleDualWatch = false; if (!gRxVfoIsActive) { @@ -944,13 +947,11 @@ void RADIO_PrepareTX(void) RADIO_SelectCurrentVfo(); #ifdef ENABLE_ALARM - if (gAlarmState == ALARM_STATE_OFF || + if (gAlarmState == ALARM_STATE_OFF || gAlarmState == ALARM_STATE_TX1750 || (gAlarmState == ALARM_STATE_ALARM && gEeprom.ALARM_MODE == ALARM_MODE_TONE)) #endif { - VfoState_t State; - #ifndef ENABLE_TX_WHEN_AM if (gCurrentVfo->IsAM) { // not allowed to TX if in AM mode @@ -963,38 +964,36 @@ void RADIO_PrepareTX(void) State = VFO_STATE_TX_DISABLE; } else - if (TX_FREQUENCY_Check(gCurrentVfo->pTX->Frequency) == 0 || gCurrentVfo->CHANNEL_SAVE <= FREQ_CHANNEL_LAST) - { + //if (TX_FREQUENCY_Check(gCurrentVfo->pTX->Frequency) == 0 || gCurrentVfo->CHANNEL_SAVE <= FREQ_CHANNEL_LAST) + if (TX_FREQUENCY_Check(gCurrentVfo->pTX->Frequency) == 0) + { // TX frequency is allowed if (gCurrentVfo->BUSY_CHANNEL_LOCK && gCurrentFunction == FUNCTION_RECEIVE) - State = VFO_STATE_BUSY; + State = VFO_STATE_BUSY; // busy RX'ing a station else if (gBatteryDisplayLevel == 0) - State = VFO_STATE_BAT_LOW; + State = VFO_STATE_BAT_LOW; // charge your battery ! else -// if (gBatteryDisplayLevel >= 6) - if (gBatteryDisplayLevel >= 11) - State = VFO_STATE_VOLTAGE_HIGH; - else - goto Skip; + //if (gBatteryDisplayLevel >= 6) + if (gBatteryDisplayLevel >= 11) // I've increased the battery level bar resolution + State = VFO_STATE_VOLTAGE_HIGH; // over voltage .. this is being a pain } else - { - State = VFO_STATE_TX_DISABLE; - } - - RADIO_SetVfoState(State); + State = VFO_STATE_TX_DISABLE; // TX frequency not allowed + } + if (State != VFO_STATE_NORMAL) + { // TX not allowed + RADIO_SetVfoState(State); #ifdef ENABLE_ALARM gAlarmState = ALARM_STATE_OFF; #endif - gDTMF_ReplyState = DTMF_REPLY_NONE; - AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP_OPTIONAL); return; } -Skip: + // TX is allowed + if (gDTMF_ReplyState == DTMF_REPLY_ANI) { if (gDTMF_CallMode == DTMF_CALL_MODE_DTMF) @@ -1012,13 +1011,19 @@ Skip: FUNCTION_Select(FUNCTION_TRANSMIT); + gTxTimerCountdown_500ms = 0; // no timeout #ifdef ENABLE_ALARM - gTxTimerCountdown = (gAlarmState == ALARM_STATE_OFF) ? gEeprom.TX_TIMEOUT_TIMER * 120 : 0; - #else - gTxTimerCountdown = gEeprom.TX_TIMEOUT_TIMER * 120; + if (gAlarmState == ALARM_STATE_OFF) #endif - + { + if (gEeprom.TX_TIMEOUT_TIMER == 1) + gTxTimerCountdown_500ms = 60; // 30 sec + else + if (gEeprom.TX_TIMEOUT_TIMER >= 2) + gTxTimerCountdown_500ms = (gEeprom.TX_TIMEOUT_TIMER - 1) * 120; // minutes + } gTxTimeoutReached = false; + gFlagEndTransmission = false; gRTTECountdown = 0; gDTMF_ReplyState = DTMF_REPLY_NONE; diff --git a/scheduler.c b/scheduler.c index 780c246..ca0121c 100644 --- a/scheduler.c +++ b/scheduler.c @@ -54,8 +54,9 @@ void SystickHandler(void) if ((gGlobalSysTickCounter % 50) == 0) { - gNextTimeslice500ms = true; - DECREMENT_AND_TRIGGER(gTxTimerCountdown, gTxTimeoutReached); + gNextTimeslice_500ms = true; + + DECREMENT_AND_TRIGGER(gTxTimerCountdown_500ms, gTxTimeoutReached); } if ((gGlobalSysTickCounter & 3) == 0) diff --git a/ui/menu.c b/ui/menu.c index 5e2e58a..24d4d09 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -166,6 +166,21 @@ const char gSubMenu_SAVE[5][4] = "1:4" }; +const char gSubMenu_TOT[11][7] = +{ + "OFF", + "30 sec", + "1 min", + "2 min", + "3 min", + "4 min", + "5 min", + "6 min", + "7 min", + "8 min", + "9 min" +}; + const char gSubMenu_CHAN[3][7] = { "OFF", @@ -565,10 +580,7 @@ void UI_DisplayMenu(void) break; case MENU_TOT: - if (gSubMenuSelection == 0) - strcpy(String, "OFF"); - else - sprintf(String, "%dmin", gSubMenuSelection); + strcpy(String, gSubMenu_TOT[gSubMenuSelection]); break; #ifdef ENABLE_VOICE diff --git a/ui/menu.h b/ui/menu.h index 9fccd13..3cd187e 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -123,6 +123,7 @@ extern const char gSubMenu_SFT_D[3][4]; extern const char gSubMenu_W_N[2][7]; extern const char gSubMenu_OFF_ON[2][4]; extern const char gSubMenu_SAVE[5][4]; +extern const char gSubMenu_TOT[11][7]; extern const char gSubMenu_CHAN[3][7]; #ifdef ENABLE_VOICE extern const char gSubMenu_VOICE[3][4];