From fb85c140371b3ae52c347173674de7341874f078 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Thu, 21 Sep 2023 23:06:47 +0100 Subject: [PATCH] First test --- Makefile | 6 +- app/app.c | 658 ++++++++++++++++++++------------------------ app/menu.c | 17 ++ board.c | 3 + driver/bk4819.c | 4 +- firmware | Bin 166104 -> 166504 bytes firmware.bin | Bin 51408 -> 51780 bytes firmware.packed.bin | Bin 51426 -> 51798 bytes functions.c | 7 +- functions.h | 14 +- helper/battery.c | 2 +- helper/battery.h | 2 +- main.c | 11 +- misc.c | 9 +- misc.h | 15 +- radio.c | 4 + scheduler.c | 2 +- settings.c | 3 + ui/menu.c | 9 + ui/menu.h | 3 + ui/rssi.c | 20 +- win_make.bat | 33 ++- 22 files changed, 422 insertions(+), 400 deletions(-) diff --git a/Makefile b/Makefile index 911000e..86f46b6 100644 --- a/Makefile +++ b/Makefile @@ -21,6 +21,7 @@ ENABLE_BOOT_BEEPS := 0 ENABLE_COMPANDER := 1 ENABLE_SHOW_CHARGE_LEVEL := 0 ENABLE_REVERSE_BAT_SYMBOL := 1 +ENABLE_AM_AGC_GAIN := 1 ENABLE_AUDIO_BAR := 0 #ENABLE_SINGLE_VFO_CHAN := 1 #ENABLE_BAND_SCOPE := 1 @@ -196,6 +197,9 @@ endif ifeq ($(ENABLE_REVERSE_BAT_SYMBOL),1) CFLAGS += -DENABLE_REVERSE_BAT_SYMBOL endif +ifeq ($(ENABLE_AM_AGC_GAIN),1) + CFLAGS += -DENABLE_AM_AGC_GAIN +endif ifeq ($(ENABLE_AUDIO_BAR),1) CFLAGS += -DENABLE_AUDIO_BAR endif @@ -253,4 +257,4 @@ bsp/dp32g030/%.h: hardware/dp32g030/%.def -include $(DEPS) clean: - rm -f $(TARGET).bin $(TARGET) $(OBJS) $(DEPS) + rm -f $(TARGET).bin $(TARGET).packed.bin $(TARGET) $(OBJS) $(DEPS) \ No newline at end of file diff --git a/app/app.c b/app/app.c index 21ccc03..7fbb68e 100644 --- a/app/app.c +++ b/app/app.c @@ -69,17 +69,22 @@ static void APP_CheckForIncoming(void) if (!g_SquelchLost) return; + // squelch is open + if (gScanState == SCAN_OFF) - { + { // not RF scanning + if (gCssScanMode != CSS_SCAN_MODE_OFF && gRxReceptionMode == RX_MODE_NONE) - { + { // CTCSS/DTS scanning + ScanPauseDelayIn_10ms = 100; // 1 second gScheduleScanListen = false; gRxReceptionMode = RX_MODE_DETECTED; } if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF) - { + { // dual watch is disabled + #ifdef ENABLE_NOAA if (gIsNoaaMode) { @@ -92,14 +97,16 @@ static void APP_CheckForIncoming(void) return; } + // dual watch is enabled and we're RX'ing a signal + if (gRxReceptionMode != RX_MODE_NONE) { FUNCTION_Select(FUNCTION_INCOMING); return; } - gDualWatchCountdown_10ms = dual_watch_count_after_rx_10ms; - gScheduleDualWatch = false; + gDualWatchCountdown_10ms = dual_watch_count_after_rx_10ms; + gScheduleDualWatch = false; // let the user see DW is not active gDualWatchActive = false; @@ -127,7 +134,7 @@ static void APP_HandleIncoming(void) bool bFlag; if (!g_SquelchLost) - { + { // squelch is closed FUNCTION_Select(FUNCTION_FOREGROUND); gUpdateDisplay = true; return; @@ -160,15 +167,15 @@ static void APP_HandleIncoming(void) DTMF_HandleRequest(); if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) - { + { // not scanning if (gRxVfo->DTMF_DECODING_ENABLE || gSetting_KILLED) - { + { // DTMF is enabled if (gDTMF_CallState == DTMF_CALL_STATE_NONE) { if (gRxReceptionMode == RX_MODE_DETECTED) { gDualWatchCountdown_10ms = dual_watch_count_after_1_10ms; - gScheduleDualWatch = false; + gScheduleDualWatch = false; gRxReceptionMode = RX_MODE_LISTENING; @@ -398,344 +405,151 @@ static void APP_HandleFunction(void) void APP_StartListening(FUNCTION_Type_t Function) { - if (!gSetting_KILLED) + if (gSetting_KILLED) + return; + + #ifdef ENABLE_FMRADIO + if (gFmRadioMode) + BK1080_Init(0, false); + #endif + + gVFO_RSSI_Level[gEeprom.RX_CHANNEL == 0] = 0; + + GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); + + gEnableSpeaker = true; + + BACKLIGHT_TurnOn(); + + if (gScanState != SCAN_OFF) { - #ifdef ENABLE_FMRADIO - if (gFmRadioMode) - BK1080_Init(0, false); - #endif - - gVFO_RSSI_Level[gEeprom.RX_CHANNEL == 0] = 0; - - GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); - - gEnableSpeaker = true; - - BACKLIGHT_TurnOn(); - - if (gScanState != SCAN_OFF) + switch (gEeprom.SCAN_RESUME_MODE) { - switch (gEeprom.SCAN_RESUME_MODE) - { - case SCAN_RESUME_TO: - if (!gScanPauseMode) - { - ScanPauseDelayIn_10ms = 500; - gScheduleScanListen = false; - gScanPauseMode = true; - } - break; - - case SCAN_RESUME_CO: - case SCAN_RESUME_SE: - ScanPauseDelayIn_10ms = 0; + case SCAN_RESUME_TO: + if (!gScanPauseMode) + { + ScanPauseDelayIn_10ms = 500; gScheduleScanListen = false; - break; - } + gScanPauseMode = true; + } + break; - bScanKeepFrequency = true; + case SCAN_RESUME_CO: + case SCAN_RESUME_SE: + ScanPauseDelayIn_10ms = 0; + gScheduleScanListen = false; + break; } - #ifdef ENABLE_NOAA - if (IS_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE) && gIsNoaaMode) - { - gRxVfo->CHANNEL_SAVE = gNoaaChannel + NOAA_CHANNEL_FIRST; - gRxVfo->pRX->Frequency = NoaaFrequencyTable[gNoaaChannel]; - gRxVfo->pTX->Frequency = NoaaFrequencyTable[gNoaaChannel]; - gEeprom.ScreenChannel[gEeprom.RX_CHANNEL] = gRxVfo->CHANNEL_SAVE; - gNOAA_Countdown_10ms = 500; // 5 sec - gScheduleNOAA = false; - } - #endif + bScanKeepFrequency = true; + } - if (gCssScanMode != CSS_SCAN_MODE_OFF) - gCssScanMode = CSS_SCAN_MODE_FOUND; - - if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) + #ifdef ENABLE_NOAA + if (IS_NOAA_CHANNEL(gRxVfo->CHANNEL_SAVE) && gIsNoaaMode) { - gDualWatchCountdown_10ms = dual_watch_count_after_2_10ms; - gScheduleDualWatch = false; - - gRxVfoIsActive = true; - - // let the user see DW is not active - gDualWatchActive = false; - gUpdateStatus = true; + gRxVfo->CHANNEL_SAVE = gNoaaChannel + NOAA_CHANNEL_FIRST; + gRxVfo->pRX->Frequency = NoaaFrequencyTable[gNoaaChannel]; + gRxVfo->pTX->Frequency = NoaaFrequencyTable[gNoaaChannel]; + gEeprom.ScreenChannel[gEeprom.RX_CHANNEL] = gRxVfo->CHANNEL_SAVE; + gNOAA_Countdown_10ms = 500; // 5 sec + gScheduleNOAA = false; } + #endif + + if (gCssScanMode != CSS_SCAN_MODE_OFF) + gCssScanMode = CSS_SCAN_MODE_FOUND; + + if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) + { // not scanning, dual watch is enabled + + gDualWatchCountdown_10ms = dual_watch_count_after_2_10ms; + gScheduleDualWatch = false; + + gRxVfoIsActive = true; + + // let the user see DW is not active + gDualWatchActive = false; + gUpdateStatus = true; + } + + if (gRxVfo->IsAM) + { // AM const uint32_t rx_frequency = gRxVfo->pRX->Frequency; -/* - if (gRxVfo->IsAM) - { // AM - // RX AF level - // - // REG_48 <15:12> 11 ??? - // - // REG_48 <11:10> 0 AF Rx Gain-1 - // 0 = 0dB - // 1 = -6dB - // 2 = -12dB - // 3 = -18dB - // - // REG_48 <9:4> 60 AF Rx Gain-2 -26dB ~ 5.5dB 0.5dB/step - // 63 = max - // 0 = min = mute - // - // REG_48 <3:0> 15 AF DAC Gain (after Gain-1 and Gain-2) approx 2dB/step - // 15 = max - // 0 = min - // - BK4819_WriteRegister(BK4819_REG_48, - #if 0 - // QS calibrated RX AF gain - (11u << 12) | // ??? - ( 0u << 10) | // AF Rx Gain-1 - (gEeprom.VOLUME_GAIN << 4) | // AF Rx Gain-2 - (gEeprom.DAC_GAIN << 0)); // AF DAC Gain (after Gain-1 and Gain-2) - #else - // max RX AF gain - (11u << 12) | // ??? - ( 0u << 10) | // AF Rx Gain-1 - (63u << 4) | // AF Rx Gain-2 - (15u << 0)); // AF DAC Gain (after Gain-1 and Gain-2) - #endif + uint16_t lna_short; // whats "LNA SHORT" mean ? + uint16_t lna; + uint16_t mixer; + uint16_t pga; -// BK4819_WriteRegister(0x4B, BK4819_ReadRegister(0x4B) & ~(1u << 5)); // enable RX ALC - - // help improve AM RX distorted audio by reducing the PGA gain (still very bad with stronge signals) - // - // I think a solution is to dynamically change these values as the RSSI moves up/down ? - // without a detailed datasheet on the chip it's difficult/impossible to fix things - // - // REG_10 <15:0> 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) - // - // <9:8> = LNA Gain Short - // 3 = 0dB - // 2 = -11dB - // 1 = -16dB - // 0 = -19dB - // - // <7:5> = LNA Gain - // 7 = 0dB - // 6 = -2dB - // 5 = -4dB - // 4 = -6dB - // 3 = -9dB - // 2 = -14dB - // 1 = -19dB - // 0 = -24dB - // - // <4:3> = MIXER Gain - // 3 = 0dB - // 2 = -3dB - // 1 = -6dB - // 0 = -8dB - // - // <2:0> = PGA Gain - // 7 = 0dB - // 6 = -3dB - // 5 = -6dB - // 4 = -9dB - // 3 = -15dB - // 2 = -21dB - // 1 = -27dB - // 0 = -33dB - // - // LNA_SHORT .. 0dB - // LNA ........ 14dB - // MIXER ...... 0dB - // PGA ........ -15dB - // - { - uint16_t lna_short; // whats "LNA SHORT" mean ? - uint16_t lna; - uint16_t mixer; - uint16_t pga; - // seems the RX gain abrutly reduces above this frequency, why ? - if (rx_frequency <= 22640000) - { - lna_short = 3; // original - lna = 2; // original - mixer = 3; // original - pga = 3; // reduced - seems to help reduce the AM demodulation distortion - } - else - { - lna_short = 3; // original - lna = 4; // increased - mixer = 3; // original - // pga = 6; // original - pga = 7; // increased - } - - BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); - - // what do these 4 other gain tables do ??? - //BK4819_WriteRegister(BK4819_REG_12, 0x037B); // 000000 11 011 11 011 - //BK4819_WriteRegister(BK4819_REG_11, 0x027B); // 000000 10 011 11 011 - //BK4819_WriteRegister(BK4819_REG_10, 0x007A); // 000000 00 011 11 010 - //BK4819_WriteRegister(BK4819_REG_14, 0x0019); // 000000 00 000 11 001 - } - - gNeverUsed = 0; + // the RX gain abrutly reduces above this frequency, why ? + if (rx_frequency <= 22640000) + { // decrease front end gain = better AM demodulation + lna_short = 3; // 3 original + lna = 2; // 2 original + mixer = 3; // 3 original + pga = 3; // 6 original, 3 reduced } else - { // FM - - // RX AF level - // - // REG_48 <15:12> 11 ??? - // - // REG_48 <11:10> 0 AF Rx Gain-1 - // 0 = 0dB - // 1 = -6dB - // 2 = -12dB - // 3 = -18dB - // - // REG_48 <9:4> 60 AF Rx Gain-2 -26dB ~ 5.5dB 0.5dB/step - // 63 = max - // 0 = min = mute - // - // REG_48 <3:0> 15 AF DAC Gain (after Gain-1 and Gain-2) approx 2dB/step - // 15 = max - // 0 = min - // - BK4819_WriteRegister(BK4819_REG_48, - (11u << 12) | // ??? - ( 0u << 10) | // AF Rx Gain-1 - (gEeprom.VOLUME_GAIN << 4) | // AF Rx Gain-2 - (gEeprom.DAC_GAIN << 0)); // AF DAC Gain (after Gain-1 and Gain-2) - -// BK4819_WriteRegister(0x4B, BK4819_ReadRegister(0x4B) | (1u << 5)); // disable RX ALC - - // REG_10 <15:0> 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) - // - // <9:8> = LNA Gain Short - // 3 = 0dB - // 2 = -11dB - // 1 = -16dB - // 0 = -19dB - // - // <7:5> = LNA Gain - // 7 = 0dB - // 6 = -2dB - // 5 = -4dB - // 4 = -6dB - // 3 = -9dB - // 2 = -14dB - // 1 = -19dB - // 0 = -24dB - // - // <4:3> = MIXER Gain - // 3 = 0dB - // 2 = -3dB - // 1 = -6dB - // 0 = -8dB - // - // <2:0> = PGA Gain - // 7 = 0dB - // 6 = -3dB - // 5 = -6dB - // 4 = -9dB - // 3 = -15dB - // 2 = -21dB - // 1 = -27dB - // 0 = -33dB - // - // LNA_SHORT .. 0dB - // LNA ........ 14dB - // MIXER ...... 0dB - // PGA ........ -3dB - // LNA SHORT LNA MIXER PGA - BK4819_WriteRegister(BK4819_REG_13, (3u << 8) | (2u << 5) | (3u << 3) | (6u << 0)); + { // increasing the front end to compensate the reduced gain, but more gain decreases dynamic range + lna_short = 3; // 3 original + lna = 4; // 2 original, 4 increased + mixer = 3; // 3 original + pga = 7; // 6 original, 7 increased } -*/ - if (gRxVfo->IsAM) - { // AM - { - uint16_t lna_short; // whats "LNA SHORT" mean ? - uint16_t lna; - uint16_t mixer; - uint16_t pga; + BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); - // seems the RX gain abrutly reduces above this frequency, why ? - if (rx_frequency <= 22640000) - { - lna_short = 3; // original - lna = 2; // original - mixer = 3; // original - pga = 3; // reduced - seems to help reduce the AM demodulation distortion - } - else - { // increasing the front ends gain decreases the dynamic range - lna_short = 3; // original - lna = 4; // increased - mixer = 3; // original - // pga = 6; // original - pga = 7; // increased - } + // what do these 4 other gain settings do ??? + //BK4819_WriteRegister(BK4819_REG_12, 0x037B); // 000000 11 011 11 011 + //BK4819_WriteRegister(BK4819_REG_11, 0x027B); // 000000 10 011 11 011 + //BK4819_WriteRegister(BK4819_REG_10, 0x007A); // 000000 00 011 11 010 + //BK4819_WriteRegister(BK4819_REG_14, 0x0019); // 000000 00 000 11 001 - BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); + // AF gain (max it out) - see below FM mode bit for original setting + BK4819_WriteRegister(BK4819_REG_48, + (11u << 12) | // ??? .. 0 to 15, doesn't seem to make any difference + ( 0u << 10) | // AF Rx Gain-1 + (63u << 4) | // AF Rx Gain-2 + (15u << 0)); // AF DAC Gain (after Gain-1 and Gain-2) - // what do these 4 other gain tables do ??? - //BK4819_WriteRegister(BK4819_REG_12, 0x037B); // 000000 11 011 11 011 - //BK4819_WriteRegister(BK4819_REG_11, 0x027B); // 000000 10 011 11 011 - //BK4819_WriteRegister(BK4819_REG_10, 0x007A); // 000000 00 011 11 010 - //BK4819_WriteRegister(BK4819_REG_14, 0x0019); // 000000 00 000 11 001 - } - - BK4819_WriteRegister(BK4819_REG_48, - // max RX AF gain - (11u << 12) | // ??? - ( 0u << 10) | // AF Rx Gain-1 - (63u << 4) | // AF Rx Gain-2 - (15u << 0)); // AF DAC Gain (after Gain-1 and Gain-2) - - gNeverUsed = 0; - } - else - { // FM - - uint16_t lna_short; // whats "LNA SHORT" mean ? - uint16_t lna; - uint16_t mixer; - uint16_t pga; - - // original - lna_short = 3; - lna = 2; - mixer = 3; - pga = 6; - - BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); - - BK4819_WriteRegister(BK4819_REG_48, - (11u << 12) | // ??? - ( 0u << 10) | // AF Rx Gain-1 - (gEeprom.VOLUME_GAIN << 4) | // AF Rx Gain-2 - (gEeprom.DAC_GAIN << 0)); // AF DAC Gain (after Gain-1 and Gain-2) - } - - #ifdef ENABLE_VOICE - if (gVoiceWriteIndex == 0) - #endif - BK4819_SetAF(gRxVfo->IsAM ? BK4819_AF_AM : BK4819_AF_OPEN); - - FUNCTION_Select(Function); - - #ifdef ENABLE_FMRADIO - if (Function == FUNCTION_MONITOR || gFmRadioMode) - #else - if (Function == FUNCTION_MONITOR) - #endif - { - GUI_SelectNextDisplay(DISPLAY_MAIN); - return; - } - - gUpdateDisplay = true; + gNeverUsed = 0; } + else + { // FM + + // original + const uint16_t lna_short = 3; // whats 'LNA short' mean ? + const uint16_t lna = 2; + const uint16_t mixer = 3; + const uint16_t pga = 6; + BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); + + // AF gain - original + BK4819_WriteRegister(BK4819_REG_48, + (11u << 12) | // ??? .. 0 to 15, doesn't seem to make any difference + ( 0u << 10) | // AF Rx Gain-1 + (gEeprom.VOLUME_GAIN << 4) | // AF Rx Gain-2 + (gEeprom.DAC_GAIN << 0)); // AF DAC Gain (after Gain-1 and Gain-2) + } + + #ifdef ENABLE_VOICE + if (gVoiceWriteIndex == 0) + #endif + BK4819_SetAF(gRxVfo->IsAM ? BK4819_AF_AM : BK4819_AF_OPEN); + + FUNCTION_Select(Function); + + #ifdef ENABLE_FMRADIO + if (Function == FUNCTION_MONITOR || gFmRadioMode) + #else + if (Function == FUNCTION_MONITOR) + #endif + { // squelch is disabled + GUI_SelectNextDisplay(DISPLAY_MAIN); + return; + } + + gUpdateDisplay = true; } void APP_SetFrequencyByStep(VFO_Info_t *pInfo, int8_t Step) @@ -851,7 +665,7 @@ static void DUALWATCH_Alternate(void) if (gIsNoaaMode) { if (IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) || IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) - gEeprom.RX_CHANNEL = 1 - gEeprom.RX_CHANNEL; + gEeprom.RX_CHANNEL = (gEeprom.RX_CHANNEL + 1) & 1; else gEeprom.RX_CHANNEL = 0; @@ -863,7 +677,7 @@ static void DUALWATCH_Alternate(void) else #endif { // toggle between VFO's - gEeprom.RX_CHANNEL = (1 - gEeprom.RX_CHANNEL) & 1; + gEeprom.RX_CHANNEL = (gEeprom.RX_CHANNEL + 1) & 1; gRxVfo = &gEeprom.VfoInfo[gEeprom.RX_CHANNEL]; if (!gDualWatchActive) @@ -965,8 +779,8 @@ void APP_CheckRadioInterrupts(void) { if (gCurrentFunction == FUNCTION_POWER_SAVE && !gRxIdleMode) { - gBatterySave_10ms = 20; // 200ms - gBatterySaveCountdownExpired = 0; + gPowerSave_10ms = power_save2_10ms; + gPowerSaveCountdownExpired = 0; } if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && (gScheduleDualWatch || gDualWatchCountdown_10ms < dual_watch_count_after_vox_10ms)) @@ -1124,16 +938,14 @@ void APP_Update(void) #endif if (gCurrentFunction == FUNCTION_TRANSMIT && gTxTimeoutReached) - { + { // transmitting, but just timed out + gTxTimeoutReached = false; gFlagEndTransmission = true; APP_EndTransmission(); - AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP); - RADIO_SetVfoState(VFO_STATE_TIMEOUT); - GUI_DisplayScreen(); } @@ -1291,17 +1103,18 @@ void APP_Update(void) { FUNCTION_Select(FUNCTION_POWER_SAVE); } - + gSchedulePowerSave = false; #endif } #ifdef ENABLE_VOICE - if (gBatterySaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE && gVoiceWriteIndex == 0) + if (gPowerSaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE && gVoiceWriteIndex == 0) #else - if (gBatterySaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE) + if (gPowerSaveCountdownExpired && gCurrentFunction == FUNCTION_POWER_SAVE) #endif - { + { // wake up, enable RX then go back to sleep + if (gRxIdleMode) { BK4819_Conditional_RX_TurnOn_and_GPIO6_Enable(); @@ -1310,25 +1123,29 @@ void APP_Update(void) BK4819_EnableVox(gEeprom.VOX1_THRESHOLD, gEeprom.VOX0_THRESHOLD); if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) - { - DUALWATCH_Alternate(); // toggle between the two VFO's + { // dual watch mode, toggle between the two VFO's + DUALWATCH_Alternate(); gUpdateRSSI = false; } FUNCTION_Init(); - gBatterySave_10ms = 10; // 100ms - gRxIdleMode = false; + gPowerSave_10ms = power_save1_10ms; // come back here in a bit + gRxIdleMode = false; // RX is awake } else if (gEeprom.DUAL_WATCH == DUAL_WATCH_OFF || gScanState != SCAN_OFF || gCssScanMode != CSS_SCAN_MODE_OFF || gUpdateRSSI) - { + { // dual watch mode, go back to sleep + + // sample the RSSI gCurrentRSSI = BK4819_GetRSSI(); UI_UpdateRSSI(gCurrentRSSI); - gBatterySave_10ms = gEeprom.BATTERY_SAVE * 10; - gRxIdleMode = true; + // go back to sleep + + gPowerSave_10ms = gEeprom.BATTERY_SAVE * 10; + gRxIdleMode = true; BK4819_DisableVox(); BK4819_Sleep(); @@ -1338,14 +1155,16 @@ void APP_Update(void) } else - { - DUALWATCH_Alternate(); // toggle between the two VFO's + { // no yet in power save mode - gUpdateRSSI = true; - gBatterySave_10ms = 10; // 100ms + // toggle between the two VFO's + DUALWATCH_Alternate(); + + gUpdateRSSI = true; + gPowerSave_10ms = power_save1_10ms; } - gBatterySaveCountdownExpired = false; + gPowerSaveCountdownExpired = false; } } @@ -1495,6 +1314,130 @@ void APP_CheckKeys(void) } } +#ifdef ENABLE_AM_AGC_GAIN + void adjustAMFrontEnd10ms(void) + { + if (!gRxVfo->IsAM) + return; // FM + + switch (gCurrentFunction) + { + case FUNCTION_TRANSMIT: + case FUNCTION_BAND_SCOPE: + case FUNCTION_POWER_SAVE: + return; + + case FUNCTION_FOREGROUND: + case FUNCTION_RECEIVE: + case FUNCTION_MONITOR: + case FUNCTION_INCOMING: + break; + } + + // AM + + // REG_10 <15:0> 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) + // + // <9:8> = LNA Gain Short + // 3 = 0dB + // 2 = -11dB + // 1 = -16dB + // 0 = -19dB + // + // <7:5> = LNA Gain + // 7 = 0dB + // 6 = -2dB + // 5 = -4dB + // 4 = -6dB + // 3 = -9dB + // 2 = -14dB + // 1 = -19dB + // 0 = -24dB + // + // <4:3> = MIXER Gain + // 3 = 0dB + // 2 = -3dB + // 1 = -6dB + // 0 = -8dB + // + // <2:0> = PGA Gain + // 7 = 0dB + // 6 = -3dB + // 5 = -6dB + // 4 = -9dB + // 3 = -15dB + // 2 = -21dB + // 1 = -27dB + // 0 = -33dB + // + // LNA_SHORT .. 0dB + // LNA ........ 14dB + // MIXER ...... 0dB + // PGA ........ -3dB + + // original settings + static uint16_t lna_short = 3; + static uint16_t lna = 2; + static uint16_t mixer = 3; + static uint16_t pga = 6; + + static unsigned int counter = 0; + static unsigned int avg_rssi = 0; + + register uint16_t new_lna_short = lna_short; + register uint16_t new_lna = lna; + register uint16_t new_mixer = mixer; + register uint16_t new_pga = pga; + + { + const uint16_t desired_rssi = (-86 + 160) * 2; // -86dBm + + gCurrentRSSI = BK4819_GetRSSI(); + + avg_rssi += gCurrentRSSI; + if (++counter < 16) // 160ms + return; + + avg_rssi /= counter; + counter = 0; + + if (avg_rssi < (desired_rssi - 4)) + { // increase gain + if (new_pga < 7) + new_pga++; + else + if (new_mixer < 3) + new_mixer++; + else + if (new_lna < 7) + new_lna++; + } + else + if (avg_rssi > (desired_rssi + 4)) + { // decrease gain + if (new_pga > 0) + new_pga--; + else + if (new_mixer > 0) + new_mixer--; + else + if (new_lna > 0) + new_lna--; + } + } + + if (lna_short == new_lna_short && lna == new_lna && mixer == new_mixer && pga == new_pga) + return; // no change + + lna_short = new_lna_short; + lna = new_lna; + mixer = new_mixer; + pga = new_pga; + + BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); + } +#endif + void APP_TimeSlice10ms(void) { gFlashLightBlinkCounter++; @@ -1505,6 +1448,11 @@ void APP_TimeSlice10ms(void) AUDIO_PlayBeep(BEEP_880HZ_40MS_OPTIONAL); #endif + #ifdef ENABLE_AM_AGC_GAIN + if (gSetting_AM_fix) + adjustAMFrontEnd10ms(); + #endif + if (UART_IsCommandAvailable()) { __disable_irq(); @@ -1931,7 +1879,8 @@ void APP_TimeSlice500ms(void) UI_DisplayBattery(gLowBatteryCountdown); if (gCurrentFunction != FUNCTION_TRANSMIT) - { + { // not transmitting + if (gLowBatteryCountdown < 30) { if (gLowBatteryCountdown == 29 && !gChargingWithTypeC) @@ -1942,7 +1891,8 @@ void APP_TimeSlice500ms(void) gLowBatteryCountdown = 0; if (!gChargingWithTypeC) - { + { // not on charge + AUDIO_PlayBeep(BEEP_500HZ_60MS_DOUBLE_BEEP); #ifdef ENABLE_VOICE @@ -1961,7 +1911,7 @@ void APP_TimeSlice500ms(void) ST7565_Configure_GPIO_B11(); - //if (gEeprom.BACKLIGHT < (ARRAY_SIZE(gSubMenu_BACKLIGHT) - 1)) + if (gEeprom.BACKLIGHT < (ARRAY_SIZE(gSubMenu_BACKLIGHT) - 1)) GPIO_ClearBit(&GPIOB->DATA, GPIOB_PIN_BACKLIGHT); // turn the backlight off } #ifdef ENABLE_VOICE diff --git a/app/menu.c b/app/menu.c index d73c5ca..feb1165 100644 --- a/app/menu.c +++ b/app/menu.c @@ -186,6 +186,9 @@ int MENU_GetLimits(uint8_t Cursor, int32_t *pMin, int32_t *pMax) case MENU_D_DCD: case MENU_D_LIVE_DEC: case MENU_AM: + #ifdef ENABLE_AM_AGC_GAIN + case MENU_AM_FIX: + #endif #ifdef ENABLE_NOAA case MENU_NOAA_S: #endif @@ -606,6 +609,14 @@ void MENU_AcceptSetting(void) gRequestSaveChannel = 2; return; + #ifdef ENABLE_AM_AGC_GAIN + case MENU_AM_FIX: + gSetting_AM_fix = gSubMenuSelection; + gVfoConfigureMode = VFO_CONFIGURE_RELOAD; + gFlagResetVfos = true; + break; + #endif + #ifdef ENABLE_NOAA case MENU_NOAA_S: gEeprom.NOAA_AUTO_SCAN = gSubMenuSelection; @@ -976,6 +987,12 @@ void MENU_ShowCurrentSetting(void) gSubMenuSelection = gTxVfo->AM_CHANNEL_MODE; break; + #ifdef ENABLE_AM_AGC_GAIN + case MENU_AM_FIX: + gSubMenuSelection = gSetting_AM_fix; + break; + #endif + #ifdef ENABLE_NOAA case MENU_NOAA_S: gSubMenuSelection = gEeprom.NOAA_AUTO_SCAN; diff --git a/board.c b/board.c index b9bab24..ebf1401 100644 --- a/board.c +++ b/board.c @@ -710,6 +710,9 @@ void BOARD_EEPROM_Init(void) #ifdef ENABLE_AUDIO_BAR gSetting_mic_bar = (Data[7] & (1u << 4)) ? true : false; #endif + #ifdef ENABLE_AM_AGC_GAIN + gSetting_AM_fix = (Data[7] & (1u << 5)) ? true : false; + #endif if (!gEeprom.VFO_OPEN) { diff --git a/driver/bk4819.c b/driver/bk4819.c index beff0cf..91ef2d0 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -59,7 +59,7 @@ void BK4819_Init(void) // RX AF level // - // REG_48 <15:12> 11 ??? + // REG_48 <15:12> 11 ??? 0 to 15 // // REG_48 <11:10> 0 AF Rx Gain-1 // 0 = 0dB @@ -76,7 +76,7 @@ void BK4819_Init(void) // 0 = min // BK4819_WriteRegister(BK4819_REG_48, // 0xB3A8); // 1011 00 111010 1000 - (11u << 12) | // ??? + (11u << 12) | // ??? 0..15 ( 0u << 10) | // AF Rx Gain-1 (58u << 4) | // AF Rx Gain-2 ( 8u << 0)); // AF DAC Gain (after Gain-1 and Gain-2) diff --git a/firmware b/firmware index 0b6edca1646fdcdef7c9cf0c2045e9866223044c..b68641cc2b0a49243057cdf77d17a74854f00b4c 100644 GIT binary patch delta 34601 zcmcaHk?X}2t_ccE8#*Q`DcQ*!XJ7zfRt6AYWMBkQ3``(W0VJ-$%)s!4hk=0|B*FlZ z2l2n~Fetd3+Ss(~KhxTdsdkLF*f{@keW?07U5=4aj8%h~LE+1EOGZXzHV{+h`1B-3 z#t6m@+jlcERx>iC{Ml~7%-F`rH1E&$11yYZ*qD@mPVeJpl;d2&&7i=*!RDZ`eJeNP zUnVA>pVPPSF-Gv-Il{mY62ib>zJP&2Yq}&qqc)?~bXR`HcqY^T)0goxYB97GiA;f$NMFH~ZbW@I#(zE_!1pV4IcTV+Od#=p}=RTzsI zEv9#>FecYe;bu@!;bKsD&%>ag#>}7~uvO5Tg+aQ4SzGi1>j#Pd39wki$2qG1F)FZr zSoUwaj~b%})5L$%%hVW^{3ie2e)hu0uM8m58#x#hw7D1*4sbFkIC4O2aN=N402wCA z#h}0-z~*p}lR*LGicK603UbU03R^fB6d08Rw(@v(S27w;f2PK$pzQIF&0DI2&0DHL zVDAApknSFCguCkwFfe#b*HmY;WV|;$S)Ear^h@fDdb&q{ z{nxmCL8D;%bHRe^&mrb;a4{&baxo~da4{%+1tjC#ZAeN={1^+ zHIbd%5T6@DeeS>o@j1vokkKGNHIzm&{@={N@Qo7^5+L`0tcqi1U;w$V1c` zwHS3pPy7`2^l)aFpuoWK!Q&SPgCzsUhkes0YcZ&`J2d*M#Bs^8;=c2N)O} znHd<4a56A39AIEzP!!n8**Ab)({8tKib3QC&{7nVNwzL!CfN#WmgOKnC;CgDHR zL$n#yn5=$JuhC{yP`mw`iGg2(^`^U=i>Cnt#|OpVRt$`@H-|7NZ;}WuaPXEbVEkbD zXZj&+Ml*Y@t6WMZ-m(QI-ck)F-nVKPv=lF>c?ngpYH?mP^b)FI&|$UvO|BmsScxdy}CD}BAbG2!N2d3Kb6^8uQDhqd9x`<7X14j z_>)KB@AqT>HJlhOggg&=4obT+Tnq{`4lppx=3r0=i$Ou0i$Otv3lifx%nS+@0S6cu9&j=!ctcZ5 z12igO*-s3lVJqv0+P@s$(izd2(v=L_tQXk4Z`U$tGhSf*;QyCFf%SvMZ&1)r041gA zy1I<2PEr3@6j(o${$c-+`)@Y53}Com{>Y+YrXQmQ!^Mh+tQrhAOCNH4u=|n6Si)Gs z$i@)Eki|I3TcUzNgY_cI2eyCHr|2?zF=_ms{y>*8fYEolp&p|y)2v_96Z9Ar7#~h= z)MJch+%)~J9%DD-$?2K;jP~^_e=};dU+jCnMM>2=hyj!)RJ`9jJKzQio41?{3Orm4 z3IQg&2V$s1M3QAZH5c;AFwF=|1S22 zL3yEK7iWSEV7|cgVa_iGW$glx@tPNk>ln1vF3bSSDP5Qd zHeBvvulHmx=?b9=Vdu$SAX4`3!W|6S@fVuGmdRWw1Ir6tYyi`I7eCj5 zwB>u3K&@7)5OyvGThDND?t=<%sg4S7sRoeK%fUJ{E`S`RdNJO�L~M3>W(z{QLgt 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 IixeR&0Ib+KYybcN diff --git a/firmware.bin b/firmware.bin index 67337c047eb8eea92a5089974c3185f7d3ca081e..297d7b250150f4af0a90b29bf3caf4e02f4614c2 100644 GIT binary patch delta 18716 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%0DE7Z`QEUCef4TrpGT@AqSW*yY||`1_sn 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 delta 18218 zcmX>yh55on<_R`TvF#J>Zn35R;rejm&ty49F;)d;28Ab+Eg6;BK&%Z%CnqsRFtTjk z%~;LIwCVR|3+6UPrcb{&A7DAd##H`eav!%G=M-)R1qKc_2ZhaBx&JaTE%-5c3tt3p z*Yj9-hX_}}JB{HK^1l_t*>u4FXYEH2{8 z$khLPbDXFYBh$*?o2$gKn3!g4+Wbtyhfz@KkHB7mt(+g^pfuNJXDL<=My<)7O5u#F zHZN3?W@OZvyjNMDQD^d7Wp&2D$)YO7j0TfCRg&vlxET~gxEK`f^DrpLF*7I#Y!&oo zVUVt1))u|M`k~+-g968g?>~9HWhxkSm@Y7X`20^`FQXy{1LKERe;JiHyk!bFyrl}h zJZI4ObdmYPlYgwk%_{nxmCL8D;%bHRe^&mm^~;ABwv%E_Scg_A+yDJO#h$N>vD z7!>AD*3~d&Vfpa=|Kv0cJ57+=otfgMR_Ad*APQv%S zCJeuyA8>oHkAcCFnStR5Cj-NZeGCi?iUM1Cym@^h!xS?9f8X|BA%pcp=}!=O@CPXT zmj7l{V)K?NVDsiQl4@X3V)d3P0EIp%I6y82xeDY;kT1S(jr3+z1*JxY3rik+-^-xL zr0{RDrM4tf^Y6(a+Ga_o?^`ttS_&7`yo4%PwKy&sdI?o9Xt7)r zQ84i2XfW{PDu}LQ&=$C$=cVs0P$Ai&H`!cAyI#$kQISnSw&36QsGrL0tXCNnmAu&$ zBn$q15BkZY@b~-i{~AsV7eb#0L$d)77lVS$eg=ka4h98B4h97$4h98h4h98K`n2B9 zz);1(pis%dpis>LNiG~*3<}&_3<_La3<{iF3<~U^=;eY$wF)zXpTY%B1_f(q0#Sj+ zA1t4-ae?wM>xb)qIJ~7ZqBEr{8MIk1uzBCEWzc54!1`h39|i^150id@Lc9T#ekL30 zs%q`}%c8*g;rws*4}1U42IqB#3uccjDrWjIYA{@^c*v^3aI^Fw`-dt2CpYMdF(v$+ zJVV!uY1XgFPjmwq{U@91=`wx!IXOj7fzfett6ntYmdOwGx*1PT&egYPTs?WMzIZ*z zvv)Ze6#j5BC@4TZ19B@UwtKlD=@#T!EhNutg31jp1_e;60HyU{4oGIvg8CVrLAV$c zZgVmyfbyLN7lXnbPDlY@#KoWh$`cPb8R``taxy4@LKc*?Kp9|-w{!)AHtWUJV4Cs5 z|L@O!uk=x_VAhtuumUV5ePOw;b_IjB_=RO)zVOAR-qIBo#lrT2eo*Eu)ludx)c|sODOiX41(2guF2?#6`GCTP z;bPB&f8W3S09ns`p|IDW_wRT4{~!-?UI_P=uZZ!Mu8?e+>OzVlV*{fW!-clzR^ZIcaG~+J zbOl4bHp7M5=icB@;Jd(}!196lH=~k=w^RYhZw1d8J32NoXg<0qQSjjT|L@*^jTsD$ zr79S-US8l*4tBQp5-xcDoI#V}V)S!HMacqIEyjy1A0GX(u3*$=xET1HLCL~fs(|%_ z_fJM8V{fSfkLRokEFUiYN`4Lr2~qEQX=ng5UsUzCu3*p>x$y6M)lY42i3au$OMY-E zeXa|3R&HQa)-L$_z5oB;@6Y}-C~`3T{Vw(|=lTEdAAd3`TNiK|D>tM*S7ByQ0OcG| zH3%v*L5cYdH1&h3I8b#0D*ZvZ1C(PxrFw-2H-iEbv>dVGVo-Ps%7*(H7-X0sMG2@# zk>z4g0A)o`dBeiRpl}bGT|rq?my1Cmh=W1l#^hQP?bOr%7?s$)bqZt(*uA9+3ij%A zF(`m)>o5IuQXLv`}LDWsmEKYpv9a2fvC=wi+{g6|L*h# z#pnGC3`&d&QU%N(Ui_T=#nglG@MK%F{`%e@_TW^+a)J3n=}!h_YcJt~Kp*7_25q(r zj30jgVN~|_5-wm+Rxa=Zi!xvM_dV$ci0=*Nb6#N3W4NIEko7~~PX=X1CFKGKZ>a)T zupAp$PWd70hm@Zn9S**Z{@N9eJ`CD|U>T{0x|6-lxtad`njB%Sp?>r?qk?4x%ZG!% zl`H;hGhPH~0VNAiI2aeOd|3P!E%;sQF z0JYCVxgd>2aZtg`%wPg;HG&##Vq6RgMH~zYp!Al{!JtsU!Jq(cm8k!JX3p^U**|qL z9kvS!3=AJ~Cs$iYbBF#6_SRsKE%^KW@8pFR;*OX9a6D(UII!vO_nUv1pL=_^7=sFD zwhJtZE*}5ByZvNTa`u)g`1^hT9~bWyV~L7?`pg%dJpX?0{P*UWCBwh(vnT(wP}Q#b zX~%HonGu5~g8~E7hs!_C!P&LHPdsDRX1xHB`}ck3WKYZFdguQP%Hm$a1>)dhf%O8@ zhfRN&m6gFof-qQ&`2x!agMXkRLZO2F1OJcz%E|>jPeF}KP`v`GKZ`(hC^v(`H8uut z!xR)9pkM|CHz=qDxEK`Xa4;wcaWN?T*c#w1SHYlXanawGRZ)AgwiP#H_hfS`UBT+L90p}|A3yc;AHc1pPXfR!5{?PMJwIJRb z)TWcW7zZx%#V#;fM|%kuh&}lC{po*Dp}PB`a>e8<8?M}~|3EI<2X;~M-(AlG!5Ww@ z{QrLD-}k-#zB&~QIk)ThAF+{QWNRmqFv|1^dYlZG`Ksy=5vGO`dGB z^p+|3``zQOIoR9GH~xP2{L7@g@VQ0C-|xPE|10ZyF{%g`=z1|LfC>gZFP#G60xd7$ z0v#{m0=5rn|4a&=KWEgJxtQ%1(ZT#-(x3ktViy#ARJ@cc6#Sc=q%K-kFlvfl6s}-2 zzP(AffKi*}CX=#ufmFS>VS!`;qq0JQb%AyTqxO;;V%`!Nf4__T75A2|NP5noEL`yZ z`9Dzc%>`*ff_hh=j1H<7U|k289`*?h*%s z!dwmpg?Std3I_W@$!795Tb+8d-+bV3R=mLL%jW~hPI>=-DQk5^Gt6>gy}{*ut3$bC zmJ`F})Q9XJ7XCWm1}aTJjsVpJpyu5fP6mZ*oD2$kI2jan`0wz3}(@uiwkOB^ua1sQd;s)flv^E-vu{ zB_QDoN)=36%oi7V2~~(_@myfEzP-t~fI*x6;yiEZdRA@b8*GYmJ^p@|{x`>4y26n` zJMN-l1+yme#aZB%T=>nYUcwA|;6h2@!ZZ)&3I=VS3se2=D;V@SE`khWE?`t(&}O(e zp`_JYqM(0rqP=u|vj>Zzalzm3&;GXixA=i7eb$R0$1q(~u3*w;y2zx!^g;43s7c6k z@$YxhKTL`Y3d|q2{AW~PQe^(H;XkOHKlu~XXRYwID3B<~^foAvDk$@ofMd1~qJJT| zS^7eWAEUZKN3l1fLBl2{27?BxdWQp>qzYI*SpCaJTb2VH%-jVG+RPV)3mBCGy`>6* z!NscZg`mmP9c1hK|A2}ZhKt$-o?t_GE_i^oqU*HrmMU=amaJgVu4Uc{}Kj zvA1-61%o!jh2rN%-mD7p1?Jk zw{S8joZ@6qDBy-vls7mT6hM_HctD5;(oF-6_kb!@P<{hd$e_lN3>Sj}sDT8kU_nC` z4|(Dl6dv&~D4gSDQ252kpl}76NkN%$GPExUs!%}{E2yTIDBZ0;yK(70SH1GgwHG*1?pkDU} z&dKwfiWpx{7IY3~)SR5^tSWHi-+u)G9flhkvFsZR_O>6MJj>aN71aDNn0(V&opH)! zMi)tOmH%ob$rVvDNd-(MPeT|V@acWO`D3raWJ8y5CedG$yIfQluS{O=qAmI6C!;c_ zk_H3w%KzV^{xfKBUI_M@%vna}X{Qa)?i$TGl;LrE#lLg%!t)+f3DjOGA zcSy)sYct%iQE1q-_4xrekgGthfVl|NbO1FWK&}8aA?6=uV0b#Y*F9c#2@hmM3zXbI z$pqwP&?py3xA0_64{hoBKNys~yp#)s3qWPXtA7mOK8*N-f8SqB_VLHu+?_8B{Q?QqB1Py#thQFRq)c7${nAtr2pA^@Hm_8wO{F5Qb=m5{5{I zB8Dc0c80GEjEp@DlNhEm%wagqxRQaJ@e;!ghSv-q7=AIZF$yqBGioy$GFmX&GP*G) zGiERbGr(XTV<}@5V?AR#<3z@VjMEtRFdk$KX6R)+#(16aDdS7V`;6}yzcMl~u`}^b z-X3TyTjRxHER^x-xoQT7X{EPx254+YtCGozQA_-0#bov%cgEz&{z2lpv0hrnLK#1v zD`!M|85#>^e16WP7~w6Ip`3AP)2#AHZ^?o%@0*p;5>kaLpNCDJ9Hdx(>%T$rI&C4sFr&5+|XMp!_Zr*{ONOjZ>bD@ z@2Il(&vm?|GIYFWmA%qbD5@2HaV&sDsoGE}^y%1=F4 z^p?s{oE#l2T`%dam?4$H&7fl}RnSq-sKoqX*&jw_F)!f)886`i_2+_6d0pdo&-tL{ z@_Jn^o%@{ITPlOw+tB#-a}IB*3=VHIW2pkh56k~^dH;H*oWbm6Vl0&5@_Yjiq(ImL zt?57+6O>l>@PLQ!>%sj*P{IRMd!SsI=q;6z=xt%V;d#7wyq9zaqxIzS^ye|&QW?Q= zvmB$nTZ|V!2Zeuxce(Mr=V9Jb8DZWP#xtJ>drM_-DMvX6c~==rHTXUE_fpOf$}ljN zD!BU0$6G4H*Sr0>a)y_ezOhiom*=2TQMka%t6sRk73wPwFZbt8-X35pg$vvv)&Iri z&p_j!M}L8OlrEl91uou9Mp6aN9*jn;AKL!?S90>6^vu*-D#O%U-#Glak+)Qak+*?y z&~xPseJ>+pp^PKX7?gCq1sNnVK#~9RHQ;D4{T!m@c)1D zGi9hl47`}1D}duw|G6AgOxNq@GifMW+w1c)2`F3BOSphZNy%HPK*`(TnJ`pT)l0a* z<~cuX0>Kl@AP*#S3LoPk;{utq~6H-kbk2ZKTd2V@ARgaa~!11f7kdI!(refPTm`4$|y7Wb67Rw>dE=x zs*GPIPYqXRJTZB1xH_Zmc2UI7FoQ$#z$QforVp!s{nz+- zaVj|7ZscK5*ule~u=X$m11PyH0$ZnhOH^2EMBZTiu>O|~g9C$WJ%cAh3_}`25knP2EyEgyO$?0;Z46xu zeGGhzeGEGoCNoT9n9Hz|VLiiEhTRPN7!ENUV>rohn&BM7C5EdEHyG|SM1bKFhUW~g z7~V2`XZXv&$jHLT#>l}K!SI`bi!qQvf>DZ5j8TSBj!}V8iBW~I+*_)q+*{~DxwmwN zH@oqz`XA3ryrnZZjDJ2a@-74wJC#hDtQVLy*)K3C<$6mcFg=K_WHc5|5ZD`CnQ8p% zd8W5i27|I-C8H+e#o$Ut;}owC&r`gUCi_Q<*2h8Qsu?w3Ukt8(@jS{~I^*c`2yf|( zS($sDhj~k9Xd6paY=0i&EuEod{PTH`w{(V~@z>{m-nS}eOGs6&dhYFgt8V#o24zpL zi#0QyPFxVKJ^I|un@v%w-p$+HLn?tm$=zG3;LrD$Kh`~W@Q$jR_}t!mR$bq7Tkoja z?)v98-cdCj&#k

RX>%de5qDdT#EmXMFUzg|~Euj`6|gX5P{ny2g8-8+qTVEqQL> zec-vix0&(Q=LX)=879UXpX+#A7_WP-p5shPJ%&@f$78CpCS(!l^GPI7$h0K zKUel{F`n~W(YxGu=5qz_3gcRCS=``NHb##gh|jP&%+lkRhRSI1XD}+kI!fDlmTN z`Y-0qs3cV&{Xo=5%v&KtI)gcZ@q_zcg$%|IlmEPZF5sh((OiFAo98Cu2OF?x#~)5_ zrHq-C6Y3e2nLZT#5!lQ0;qWgG@7vE0xPiL8AeVr;!XS@>dWWDMgmBscIsBzI*=ozL!xs+KIX0>vM5t28CstCdZ{p zFy5J5o@&aQd6nj%?9OY1_s4hQY;^?{8eILP_$rR`EY*n%QRKS2b1~JJ>^z# zFeoqxGB_BpGbn7}U{DZYWnci=&y>l)ux!)hvUDp(!O0ubrJ4T!oqR4`f-zw7^K?z7 z+Mkn!GCG)oe@>p0AtC4gE8Fb=>jB;w4XFyhzI*(tSC(+dcAHU{tnll*1cP&;120c~=2GHEo77hl51a1Zep8b#>xe5=1f({RZ!p6z0S(^2e zezGXCF<5x~{=VV|cqs3p8MwK|c;VOg8^1*q7;S!kSNQvQ(;Wp?ZKfLrUeOFQq8Jr_ zeV_4%N#XZ*;lElQEQ-Is&;DVf@cTQ@UsfHb8ww08ALjn#Wp-e;vHA6V-5-$5|3AOJ zm;Vt_`2GFYpI_gXfW^N4`Sm@w9xV9b4~wFN$M5gyKLV5_y;&8c8h(F&_UG64#eY~8 zet&=X$B>~=;n(-0KZU_gW4^$m$m8+*dm_}qTwqa<$wJCuK45k_sxG;yji^%6{Hdj zKz-wc-`|CPZ1&6kz*yh%@8|cZe?Pw`{bS$2u(x0u z8Ez~e%6>gp;84nRV_^LCebc{eH|dJw+6*@tlyCSbF<2N07i7CdPu`mw%vAetvQSdvi~Mu%BvH-`RNR)pY-O5BG;GRMpoXAd|#=87@A6 zs;c-Qpp@w*$tl;2w_hM882X+Ocb(B-Eql*`aHyg@x1oLh~d7x?OY&Ypj zh)Nrvn{~lw=2!PBp5gx1PY=!xExG9rP;X(X7e*^GhAe>w>I_? zE>Nyx&}O{2xI?+&n!3;e^NtnDRSFq0uMg3(a#0;95U z0qX{Xz0;JV84f?wU||06@4p6viYLnlzaOm6LHuw3H5e2H{nucS^JMv8 z_d^QIfA(L4LE5vP<%8J|JFvjL{~8Puo-7~qet0}*G-lC0dGXxy18yAr3=H4785AV= z85oMW85BUxAkc6hw!R3cnFQ+J*l-)aRvx`-AR{u8gR;XoCIv`=_>A>*o`{Liq3}(hs z70L{Hp613~F}fa71(|LfO258O`#t$haYDV|U*WwD+zbj9+zbi^+zbjDptQuzpm0Kt zfkA?sK|z5VGM&;c%)pSt&cN`815%W(;Addi!_A+lcRNQhi zD6ns3U~Jd~$~eEi8~28#63$r~$#8OtUgt%zpaIa#sN z*tdflvStC)mIJv6)S5sZ8|Q#7Cju=k0m{QmPjWAg1vX{O9SlYdm^ zMVJ5i`Tg7<1qMZipWpxe67p7HkS$>P@bdqy=Rdzo{JHh~fE%dP2bK7spv80!<_oY-Lpx_W1ez(|=Hz%b)XCg644?s3 z$T}2p1_nh3B{>G>54R`Zt*d4O$*kBnIj;T*Q`X^EYkVM zl0nZ~1Dqc?3>!B6{NC_qvP4sh9LNUH5D3UeATws{V_^9I;47eUo=J)iF+) zY}p(RUZMd?m>;$>sI+fjQDmNw;qmkP_uuK>Yzm4DG6g@r$NftM_ogK(7&RDfDlq)` ze)k`PBCEoW?}7h7Yk+=yfBTO?kx}8tch7%}Dm)55zVH3R#-Qe);KY6bv>x)uciX=T z48Ohy{rK?QkilNz$9L1eLB6#L+6?B#l2R4&%90NL-jdEgzH9yU_EFA|&XmuvVEFO< z=48zlO^G-EKx~o!1`LdfKfbg7^H8wy{PCUn@8ql&1IB-oXSYa8asGc@!=P<{Avwbs zJOOHTF|${r_s4gWf0Hk?$O&@)|MA`Fe}f_?qrHNm^N;U4CjW1dtiSzN#N)^JUw?)D z_Bdl1pvfRx z@Z)>lUoD?x$qa2{NO)>6{P_O%Z*oR-rbNb%?_&QZZ)laPpZ)L0_oDw?3O~Om|A$HW z{{t;+{_)-EFRQ}O@8SQGGomszj3p`rGk$!(@fW1l7oxV3QG@$JlN_TK>y60Df8YQ7 z|MA`CZ^7Ol-vj^uejZ)P25z1H`0n@j%ku+n$bJL4o5!0$gLSfRn?5JVx1dZrWpZoV z<<$6}1$!A4zCLGC`23u?K(OE*bSW`Nl^)V^N6=y}*iuhWK>`|n0~Ii!q5w2k11eNN zi*GFVGcbVW2~D^d6ky9Pbtms_mvm_Re?sBs_r!k!dw+cI`Tyhj0XL8xpcbMxSSIA( z|L>3fGb;T5e)_M#Uh}QWKFSOR#-R0#))#+%Z~ie^tV2U=&re2W8wKrxpWn6rDT8Om zetggSH#ww3!R+Wi7DXQ9d?ZM6Sx@^9&s`#XvXv(3fv*bYR1K&0P_K8Q732(C#bXr`53fv4OCo$=5|0S z1(b3upo?Nbr8}sU2d!WOt(Jimso=pxW(Eb}tuItm7&F}z7&w%EevkQ)>Bix$z#ug_ zy-S?;=l8T9!h1ocec0MFxx33;@8@@yAK7kMZn6c7Yct(~3l`T^c}y;NTz9!3xlXuH zxjwk?aqZ+n<+{s-Kfmk$nEav3!S?5O-X9!FnhZ=Um_Drj{Wv4jEy06n^3U%~KeFBA z3X~bL+(1DJGEAAl&{(=65@cYdn(XC*AKyPr&h0j>H~N|F7E!3oP-867!KKLbLF*@| zkEYB}2jwgM%yzp`_*MbbVE^%b-+z#88E#A;Vty+#G(gn|{LFTfC{Si-g7P^)W`b>R zHI}Z(bemjY;PK=8g8x}=i|aGpgbNv{wi{H~u|@VUPJazV1p?RsVt;ljuD!G#*$ zx9hJKPA>fMy%TPg`tK|^WpC*U;Q|mDT%hDFT`?I?-SA=Wl*wm%#5HF^N2Ea&PX&&VX>ex-rw(O`16M%1DiL8A-j?V!$}FI4Zxd;-Mex=8R@kQp6c~67nLddq9z;2uxHyR_f0fn zl%0HVqNV`H4@T21PM<{INC>f;!M)2YScJ1#s3-&IV+&D>Gko|`rcy;HW3k>S=1wX$3pS*IC zzTy0zkX3JgzeoK_+6G#!eC z&!q78yZLXOg0|-h3_qWXH*goUJO@P=sDuZVXt4EqptX9Sb$p=px2xC~6hMA`dzgU% zln6j&&I6?nTPHCvDDL){zJc+B&;MQCvnC5q(Pe7?KiO$Yf#k1$$`y>-F&F1}&+(M5 zVA5u|Fx!)R1>*;&$)~3%n%@1_1zsd0dQm`$e+A=*tN+@)^%y`!cfiGNUkwKSmA}60 z{^wr>8mQG`Fkoo%{Qmv*WW}lRf?xkZM3orwJ-JtW|Gs(h#Hsd-qLVL94P*?NtUPTs z=J_$xYLfa=HI9>M~q> z^T2?CS?Pdhs{!K&roT+O3>P1RMfQ4j7%+bL`G;AT;o>c@$WG601I7;@{;=pWT)YSt z+2+}2!1&?$A68w4izmP$n>;5PFn+lAhfSB^;(oBmde12aj32H}4xC{tyzLL?>}WRD ztE@BFl;(R@7%+ZVJ9*&@VcErhy1ZxCGHUx=FuloS&8W?Av-~;BZ0;436@S0~nS61E zaO(H(96xHkXV)@m>s-)gU{K;-p`!Tz`;6ZP44s~gAB27zFz_<8c`|-z|E0~q#L()= zz2e*V_y0jLpaPD8=HKqmZ&%KHZop9M2^uOkU|^kC<;nOV{}=0QCWcC|`sY{kW_vPz2>iu4n~5O{tZL`v)|uLjs*^X)^k-Z?nQ_+bdRT%4 z1udwm1|`&gn-~~=Z(?Bhv5A4<>m~+m zl~oJc7#Z4*Ffb@`F(^zp!oUEEHXmOP1_o_i2JIsZ44{&G@)1ZQZ^jV@22ciQ_F>Rh zRA896VG;x5hlRfxR2%&AWeh49G?*_k=rUfkW%%~I7PKzUy4i{0LgND_-TI4@duChJ z=XzNeEDp)_%Jp0vlID}{tyCdh!Dz&>;@kJ0e{9MON*szDEB=31_?27%T6WH%WWkW) z$@qccH)sfqV+G@fz~2fL)*1{qJ0CE9`2EA5A(o+lp^RZ77%yeG&cMpd&HRgzfk~c8 zg-L~JB9k~X12Y2?D-$cTJd+@^kQ^D`WS++i(FY+HPwt%~?b`g)mVsHH;X=&w+~-Ld=AK3m zk~7S_%snr~Fe(c>1aW{oCH_zAL2`z%S2V-CC{QUR{wqb1@dMv40|p)j5Nqb-w{sL3 zl_vAg73F;WmqVFhGMn{@$+~mp>)-z{VCdPzrO5ap<%cqZq-WEn&CdlrlQZ}YXEU6H zW@=EM4%ENXVqs7)WMW|0$i%>4$jrd7ODsi{F^}Rbf-zrczz5fHVm<1e8jz5$uZpkrgG2YbC7P!c<&X6G?8)CTBz$20Mp5GxAK%C^DSQ;Qx$4DLF%s zVaBGv-_!qbs3m7GGThq4&cLza-}l`AkQii`2I5Wm&!EpxfAPpOP-7Dm%ln^!{LBA~ z+mnTX;e+#k1qOZw4o`*;JN{WSFfqu3)0V;?7G;KMpp?Y1V(Bwbi3cjJZXaP_czgsh zr~ztefoeBq1}TQ;M<88N{iBd^-nZNg3ZPNR|J;z(6D1t=3<@Sk85ltGh%1gTFsy^t zOrRVw=LiD>sQ3frjKxP780?QSFd+Q)>u+)f$2y4L3>f}>XZQ~bYX)TyUk&8Di(z0d zE&G{V!Oj3$rN20XLEHEiB$Y1tXP0FbBjDK3`8T7Q$GvH~Zr{7aHrNoRvZ!c#bVZ12R36k{*vkIyqblQSv|Z!;J?O;E_-S;=Ve>$~rdT<=^@(0&4ji`q{) zlz3KhtYG-C=)dvgi;I*^RsUHq^leH}WcV=auQ3CMTGOUDaBMUFW`t&WhH3x4hx}ty zHd5qRQLhBz`A*hcEMNcsZ-8ghCQxp=_X|`+uv+ha=H{84VP-g+;p!7m;uu}#L;|$;<@8@r zDzx%s_~7stlnO1tdRF{m0=tW$9-NYY{{XQWHEVEe_V^cW+f%h1X+d;-T#<$RWB$oFe}M>au_gtX#U5n%X$;U zm+|B_VE9n|j|Iw?^yD*O_)z?h70MU$6f|J?ko}Jh$`|$&F<|(R{7;!dT*;7uLE-!N zss9T0GOO{``|NtI!|)k8!~$x$f?AlMMFm=H3<~&KIiSk0V5_+ItV(h3K!y`RVxH$Z zcssm1dOFw@H#kXLGLtOhV6@!eBz%d{a)Fb;B^k*S4iJm`5~Jk|Cyq<6C89YPE!}50 zF<)X(T;b&DcybfF_nep>C*}(?Lk?{E|2^`50eI{|1+?>u8?uS&fl|R%2F11wlNcgB z7(N9312tEeRxo_m0$ByTW+5#6f!1@#?^DbAf=l!SPt*0ne!LBUjz-Yw0g5kr4 zzi*y1>9Agu2CMq}mqBUqb4f7!```QE9xZ4o@FeJd7Epq=I?BKR+TRj-lz{;>)n9&; zfx-PK1H&xn-WSkNT*6UEBPHi314Hdm28M|o3<{4q8G;l*1w3dCe)CZVhTfx~mEjC3 zC4QyetPBlGiVOw}ts7(t7(S%^Ed=jYWW2D{iS+`95~z92@PYL&hYDz;6oYoc1umuk zirF3v9|9+{u22UspYPvm|4!buLVo-GM-kaDU z`xQV#iu>3Y6!EYkg{RMQ3eLSqYUyW1w{5{28No=3=F-S85ltO z9_DSHY_&>_@&4q*RsQuLQ$V#bXmO4lbPY799|>9q4ce9nG9Ba-Q0Mx?R#2CI;s#p} zh7b3DgF5v#9+MatKHU6m?W1o3+FZkO@xQ|N@2`J@n=0BrE`Txu%L;}MC!p$ z>!%e1!vyBpvYs3(zJA|6xpTFC{omi;zn}cQ==o~}mX!iZ42<8tZ}|U4K|qOPC5XN1 zKj@SQP+Wj|RG_v6sN4jVp`fyJ)=>tAMMoJJKubv2w}M9a*o_$#B^bVc|M7=?Z=`pm zSHV`Pgzw+e|NQyB>&N%+GyjD7fNGYRzZn@67`}gh`lq8_i9sdEmq9UzL4$$egW>N0 zKYk@$MFR$g58A)C6o31^?x&BRuZJPSpYN?d{(N8Z4R zr3!w0zxu<-2Q<{fbm7PM_W!B{`e5Ft3qQXv`Jr0y?ztiZXp>x|v!lexNc4yZSMYw7!NM@hiR}iXvYfAW!N2cw zz}xQ?82)_E{?DT*j(pb&=Cd(i6aaQAUUNY z3=FDA7#K8c_zN-y+yK2*R=qi2yMe82?+j={h_5crq~lx1K!Xh^|#5c diff --git a/firmware.packed.bin b/firmware.packed.bin index e77e679936914870306b5542b430eb8c3f013d7f..73cee221c38175877cad1404a81000a595dbdf79 100644 GIT binary patch delta 41846 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 delta 41471 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 diff --git a/functions.c b/functions.c index 250a2fc..9f0406c 100644 --- a/functions.c +++ b/functions.c @@ -130,9 +130,8 @@ void FUNCTION_Select(FUNCTION_Type_t Function) break; case FUNCTION_POWER_SAVE: - gBatterySave_10ms = gEeprom.BATTERY_SAVE * 10; - - gBatterySaveCountdownExpired = false; + gPowerSave_10ms = gEeprom.BATTERY_SAVE * 10; + gPowerSaveCountdownExpired = false; gRxIdleMode = true; @@ -199,7 +198,7 @@ void FUNCTION_Select(FUNCTION_Type_t Function) } gBatterySaveCountdown_10ms = battery_save_count_10ms; - gSchedulePowerSave = false; + gSchedulePowerSave = false; #if defined(ENABLE_FMRADIO) gFM_RestoreCountdown = 0; diff --git a/functions.h b/functions.h index cc63dd8..4194d86 100644 --- a/functions.h +++ b/functions.h @@ -21,13 +21,13 @@ enum FUNCTION_Type_t { - FUNCTION_FOREGROUND = 0, - FUNCTION_TRANSMIT, - FUNCTION_MONITOR, - FUNCTION_INCOMING, - FUNCTION_RECEIVE, - FUNCTION_POWER_SAVE, - FUNCTION_BAND_SCOPE + FUNCTION_FOREGROUND = 0, // ??? + FUNCTION_TRANSMIT, // transmitting + FUNCTION_MONITOR, // receiving with squelch forced open + FUNCTION_INCOMING, // receiving a signal (squelch is open) + FUNCTION_RECEIVE, // RX mode, squelch closed + FUNCTION_POWER_SAVE, // sleeping + FUNCTION_BAND_SCOPE // bandscope mode (panadpter/spectrum) .. not yet implemented }; typedef enum FUNCTION_Type_t FUNCTION_Type_t; diff --git a/helper/battery.c b/helper/battery.c index ca4285f..b6f7754 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -32,7 +32,7 @@ bool gLowBattery; bool gLowBatteryBlink; uint16_t gBatteryCheckCounter; -volatile uint16_t gBatterySave_10ms; +volatile uint16_t gPowerSave_10ms; void BATTERY_GetReadings(bool bDisplayBatteryLevel) { diff --git a/helper/battery.h b/helper/battery.h index 26a4b90..ea0d1b0 100644 --- a/helper/battery.h +++ b/helper/battery.h @@ -31,7 +31,7 @@ extern bool gLowBattery; extern bool gLowBatteryBlink; extern uint16_t gBatteryCheckCounter; -extern volatile uint16_t gBatterySave_10ms; +extern volatile uint16_t gPowerSave_10ms; void BATTERY_GetReadings(bool bDisplayBatteryLevel); diff --git a/main.c b/main.c index d5c2c70..5da17fa 100644 --- a/main.c +++ b/main.c @@ -67,6 +67,8 @@ void Main(void) BOARD_Init(); UART_Init(); + boot_counter_10ms = 250; // 2.5 sec + UART_Send(UART_Version, strlen(UART_Version)); // Not implementing authentic device checks @@ -99,19 +101,14 @@ void Main(void) { // count the number of menu list items unsigned int hidden = 0; gMenuListCount = 0; -// while (MenuList[gMenuListCount].name != NULL) while (MenuList[gMenuListCount].name[0] != '\0') - { if (MenuList[++gMenuListCount].hidden != 0) hidden++; - } // disable the items marked hidden - //gMenuListCount -= 8; - gMenuListCount -= hidden; + gMenuListCount -= 8; + //gMenuListCount -= hidden; } - boot_counter_10ms = 250; // 2.5 sec - if (!gChargingWithTypeC && !gBatteryDisplayLevel) { FUNCTION_Select(FUNCTION_POWER_SAVE); diff --git a/misc.c b/misc.c index b2b2572..1ce5a83 100644 --- a/misc.c +++ b/misc.c @@ -49,6 +49,9 @@ const uint16_t dual_watch_count_toggle_10ms = 100 / 10; // 100ms betw const uint16_t battery_save_count_10ms = 10000 / 10; // 10 seconds +const uint16_t power_save1_10ms = 100 / 10; // 100ms +const uint16_t power_save2_10ms = 200 / 10; // 200ms + const uint16_t gMax_bat_v = 843; // 8.43V const uint16_t gMin_bat_v = 660; // 6.6V //const uint16_t gMin_bat_v = 690; // 6.9V @@ -66,6 +69,9 @@ bool gSetting_TX_EN; uint8_t gSetting_F_LOCK; bool gSetting_ScrambleEnable; +#ifdef ENABLE_AM_AGC_GAIN + bool gSetting_AM_fix; +#endif #ifdef ENABLE_AUDIO_BAR bool gSetting_mic_bar; #endif @@ -90,7 +96,8 @@ uint16_t gEEPROM_1F8C; uint8_t gMR_ChannelAttributes[FREQ_CHANNEL_LAST + 1]; volatile uint16_t gBatterySaveCountdown_10ms = battery_save_count_10ms; -volatile bool gBatterySaveCountdownExpired; + +volatile bool gPowerSaveCountdownExpired; volatile bool gSchedulePowerSave; volatile bool gScheduleDualWatch = true; diff --git a/misc.h b/misc.h index 1161f58..9ceff3d 100644 --- a/misc.h +++ b/misc.h @@ -67,9 +67,9 @@ enum AlarmState_t { typedef enum AlarmState_t AlarmState_t; enum ReceptionMode_t { - RX_MODE_NONE = 0, - RX_MODE_DETECTED, - RX_MODE_LISTENING + RX_MODE_NONE = 0, // squelch close ? + RX_MODE_DETECTED, // signal detected + RX_MODE_LISTENING // }; typedef enum ReceptionMode_t ReceptionMode_t; @@ -105,6 +105,9 @@ extern const uint8_t scan_delay_10ms; extern const uint16_t battery_save_count_10ms; +extern const uint16_t power_save1_10ms; +extern const uint16_t power_save2_10ms; + extern const uint16_t dual_watch_count_after_tx_10ms; extern const uint16_t dual_watch_count_after_rx_10ms; extern const uint16_t dual_watch_count_after_1_10ms; @@ -127,6 +130,9 @@ extern bool gSetting_TX_EN; extern uint8_t gSetting_F_LOCK; extern bool gSetting_ScrambleEnable; +#ifdef ENABLE_AM_AGC_GAIN + extern bool gSetting_AM_fix; +#endif #ifdef ENABLE_AUDIO_BAR extern bool gSetting_mic_bar; #endif @@ -152,8 +158,9 @@ extern uint16_t gEEPROM_1F8C; extern uint8_t gMR_ChannelAttributes[207]; extern volatile uint16_t gBatterySaveCountdown_10ms; + +extern volatile bool gPowerSaveCountdownExpired; extern volatile bool gSchedulePowerSave; -extern volatile bool gBatterySaveCountdownExpired; extern volatile bool gScheduleDualWatch; diff --git a/radio.c b/radio.c index b7e3750..978ea81 100644 --- a/radio.c +++ b/radio.c @@ -443,6 +443,7 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) pInfo->SquelchOpenRSSIThresh = 0x00; pInfo->SquelchOpenNoiseThresh = 0x7F; pInfo->SquelchCloseGlitchThresh = 0xFF; + pInfo->SquelchCloseRSSIThresh = 0x00; pInfo->SquelchCloseNoiseThresh = 0x7F; pInfo->SquelchOpenGlitchThresh = 0xFF; @@ -450,10 +451,13 @@ void RADIO_ConfigureSquelchAndOutputPower(VFO_Info_t *pInfo) else { Base += gEeprom.SQUELCH_LEVEL; + EEPROM_ReadBuffer(Base + 0x00, &pInfo->SquelchOpenRSSIThresh, 1); EEPROM_ReadBuffer(Base + 0x10, &pInfo->SquelchCloseRSSIThresh, 1); + EEPROM_ReadBuffer(Base + 0x20, &pInfo->SquelchOpenNoiseThresh, 1); EEPROM_ReadBuffer(Base + 0x30, &pInfo->SquelchCloseNoiseThresh, 1); + EEPROM_ReadBuffer(Base + 0x40, &pInfo->SquelchCloseGlitchThresh, 1); EEPROM_ReadBuffer(Base + 0x50, &pInfo->SquelchOpenGlitchThresh, 1); diff --git a/scheduler.c b/scheduler.c index 6444851..780c246 100644 --- a/scheduler.c +++ b/scheduler.c @@ -73,7 +73,7 @@ void SystickHandler(void) DECREMENT_AND_TRIGGER(gBatterySaveCountdown_10ms, gSchedulePowerSave); if (gCurrentFunction == FUNCTION_POWER_SAVE) - DECREMENT_AND_TRIGGER(gBatterySave_10ms, gBatterySaveCountdownExpired); + DECREMENT_AND_TRIGGER(gPowerSave_10ms, gPowerSaveCountdownExpired); if (gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF && gEeprom.DUAL_WATCH != DUAL_WATCH_OFF) if (gCurrentFunction != FUNCTION_MONITOR && gCurrentFunction != FUNCTION_TRANSMIT && gCurrentFunction != FUNCTION_RECEIVE) diff --git a/settings.c b/settings.c index 9866f60..8516af4 100644 --- a/settings.c +++ b/settings.c @@ -171,6 +171,9 @@ void SETTINGS_SaveSettings(void) #ifdef ENABLE_AUDIO_BAR if (!gSetting_mic_bar) State[7] &= ~(1u << 4); #endif + #ifdef ENABLE_AM_AGC_GAIN + if (!gSetting_AM_fix) State[7] &= ~(1u << 5); + #endif EEPROM_WriteBuffer(0x0F40, State); } diff --git a/ui/menu.c b/ui/menu.c index c65b42b..b9e0d39 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -101,6 +101,9 @@ const t_menu_item MenuList[] = {"BATVOL", 0, VOICE_ID_INVALID, MENU_VOL }, // was "VOL" {"BATTXT", 0, VOICE_ID_INVALID, MENU_BAT_TXT }, {"MODE", 0, VOICE_ID_INVALID, MENU_AM }, // was "AM" +#ifdef ENABLE_AM_AGC_GAIN + {"AM-FIX", 0, VOICE_ID_INVALID, MENU_AM_FIX }, +#endif #ifdef ENABLE_NOAA {"NOAA-S", 0, VOICE_ID_INVALID, MENU_NOAA_S }, #endif @@ -416,6 +419,12 @@ void UI_DisplayMenu(void) strcpy(String, (gSubMenuSelection == 0) ? "FM" : "AM"); break; + #ifdef ENABLE_AM_AGC_GAIN + case MENU_AM_FIX: + strcpy(String, (gSubMenuSelection == 0) ? "OFF" : "FIXED"); + break; + #endif + case MENU_AUTOLK: strcpy(String, (gSubMenuSelection == 0) ? "OFF" : "AUTO"); break; diff --git a/ui/menu.h b/ui/menu.h index bb194ac..e6859be 100644 --- a/ui/menu.h +++ b/ui/menu.h @@ -93,6 +93,9 @@ enum MENU_VOL, MENU_BAT_TXT, MENU_AM, + #ifdef ENABLE_AM_AGC_GAIN + MENU_AM_FIX, + #endif #ifdef ENABLE_NOAA MENU_NOAA_S, #endif diff --git a/ui/rssi.c b/ui/rssi.c index cb7e015..762650e 100644 --- a/ui/rssi.c +++ b/ui/rssi.c @@ -111,13 +111,19 @@ void UI_UpdateRSSI(uint16_t RSSI) //const int16_t dBm = (int16_t)(RSSI / 2) - 160; - //const unsigned int band = gRxVfo->Band; - const unsigned int band = 0; - - const uint16_t level0 = gEEPROM_RSSI_CALIB[band][0]; - const uint16_t level1 = gEEPROM_RSSI_CALIB[band][1]; - const uint16_t level2 = gEEPROM_RSSI_CALIB[band][2]; - const uint16_t level3 = gEEPROM_RSSI_CALIB[band][3]; + #if 0 + //const unsigned int band = gRxVfo->Band; + const unsigned int band = 0; + const uint16_t level0 = gEEPROM_RSSI_CALIB[band][0]; + const uint16_t level1 = gEEPROM_RSSI_CALIB[band][1]; + const uint16_t level2 = gEEPROM_RSSI_CALIB[band][2]; + const uint16_t level3 = gEEPROM_RSSI_CALIB[band][3]; + #else + const uint16_t level0 = (-115 + 160) * 2; // dB + const uint16_t level1 = ( -89 + 160) * 2; // dB + const uint16_t level2 = ( -64 + 160) * 2; // dB + const uint16_t level3 = ( -39 + 160) * 2; // dB + #endif const uint16_t level01 = (level0 + level1) / 2; const uint16_t level12 = (level1 + level2) / 2; const uint16_t level23 = (level2 + level3) / 2; diff --git a/win_make.bat b/win_make.bat index 17a4a04..51c48c0 100644 --- a/win_make.bat +++ b/win_make.bat @@ -1,32 +1,45 @@ -:: download "gcc-arm-none-eabi-10.3-2021.10-win32.exe" for windows .. -:: https://developer.arm.com/downloads/-/gnu-rm +:: Cmpile directly in windows without the need of a linux virtual machine: +:: +:: 1. Download and install "gcc-arm-none-eabi-10.3-2021.10-win32.exe" from https://developer.arm.com/downloads/-/gnu-rm +:: 2. Download and install "gnu_make-3.81.exe" from https://gnuwin32.sourceforge.net/packages/make.htm +:: 3. You may (or not) need to manualy add gcc path to you OS environment PATH, ie .. +:: C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin +:: 4. You may (or not) need to reboot your PC after installing the above +:: +:: Then you can run this bat from the directory you saved this source code too. :: -:: download "gnu_make-3.81.exe" for windows .. -:: https://gnuwin32.sourceforge.net/packages/make.htm +:: You will need to edit the line below that runs the make.exe file to point to it's actual location if +:: it's different from mine. +:: delete any left over files from any previous compile del /S /Q *.o >nul 2>nul del /S /Q *.d >nul 2>nul del /S /Q *.bin >nul 2>nul + +:: do the compile ! "C:\Program Files (x86)\GnuWin32\bin\make" + +:: delete the unused created when compiling files del /S /Q *.o >nul 2>nul del /S /Q *.d >nul 2>nul :: If you have python installed, you can create a 'packed' .bin from the compiled firmware.bin file. :: The Quansheng windows upload-to-radio program requires a 'packed' .bin file. :: -:: if you don't have python installed, then comment out the python line(s) below, in which case you'll need -:: to upload the standard unpacked firmware.bin file another way. +:: if you don't have python installed, then you can still upload the standard unpacked firmware.bin +:: file another way ... :: -:: I wrote a windows version of k5prog to do this easily in windows .. +:: I wrote a GUI version of k5prog to do this easily in windows .. :: https://github.com/OneOfEleven/k5prog-win +:: these just install the required initial python module if you want to create the packed firmware bin file, either +:: only needs running once, ever. +:: ::python -m pip install --upgrade pip crcmod ::python3 -m pip install --upgrade pip crcmod -::python fw-pack.py firmware.bin 230921 firmware.packed.bin -::python3 fw-pack.py firmware.bin 230921 firmware.packed.bin - +:: show the compiled .bin file size ::arm-none-eabi-size firmware pause