From d874893a507abd13e96af8b088ee4e51029fc86a Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sat, 23 Sep 2023 03:28:21 +0100 Subject: [PATCH] AM fix update, RSSI bar graphs now include gain compensation --- app/app.c | 114 +++++++++++++++++++++++++++----------------- firmware | Bin 166696 -> 166724 bytes firmware.bin | Bin 52132 -> 52272 bytes firmware.packed.bin | Bin 52150 -> 52290 bytes functions.c | 4 +- misc.c | 6 +-- misc.h | 6 +-- ui/main.c | 8 ++-- ui/rssi.c | 17 ++++--- ui/rssi.h | 2 +- 10 files changed, 90 insertions(+), 67 deletions(-) diff --git a/app/app.c b/app/app.c index 54caaaa..8d609bb 100644 --- a/app/app.c +++ b/app/app.c @@ -62,19 +62,21 @@ #include "ui/status.h" #include "ui/ui.h" -// original QS front end gains -const uint16_t orig_lna_short = 3; // 0dB -const uint16_t orig_lna = 2; // -14dB -const uint16_t orig_mixer = 3; // 0dB -const uint16_t orig_pga = 6; // -3dB +// original QS front end gain settings +static const uint8_t orig_lna_short = 3; // 0dB +static const uint8_t orig_lna = 2; // -14dB +static const uint8_t orig_mixer = 3; // 0dB +static const uint8_t orig_pga = 6; // -3dB #ifdef ENABLE_AM_FIX // stuff to overcome the AM demodulator saturation problem - static uint16_t am_lna_short = orig_lna_short; - static uint16_t am_lna = orig_lna; - static uint16_t am_mixer = orig_mixer; - static uint16_t am_pga = orig_pga; + int16_t rssi_db_gain_diff = 0; // holds the compensation value to correct the RSSI reading + + static uint8_t am_lna_short = orig_lna_short; + static uint8_t am_lna = orig_lna; + static uint8_t am_mixer = orig_mixer; + static uint8_t am_pga = orig_pga; // moving average RSSI buffer struct { @@ -82,7 +84,7 @@ const uint16_t orig_pga = 6; // -3dB unsigned int index; uint16_t samples[4]; // 40ms long buffer (10ms RSSI sample rate) uint16_t sum; // sum of all samples in the buffer - } moving_avg_rssi; + } moving_avg_rssi = {0}; unsigned int am_gain_hold_counter = 0; @@ -92,8 +94,9 @@ const uint16_t orig_pga = 6; // -3dB memset(&moving_avg_rssi, 0, sizeof(moving_avg_rssi)); am_gain_hold_counter = 0; - } + rssi_db_gain_diff = 0; + } #endif static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); @@ -452,7 +455,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) APP_reset_AM_fix(); // TODO: only reset it when moving channel/frequency #endif - gVFO_RSSI_Level[gEeprom.RX_CHANNEL == 0] = 0; + gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL == 0] = 0; GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); @@ -512,10 +515,10 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) } // original setting - uint16_t lna_short = orig_lna_short; - uint16_t lna = orig_lna; - uint16_t mixer = orig_mixer; - uint16_t pga = orig_pga; + uint8_t lna_short = orig_lna_short; + uint8_t lna = orig_lna; + uint8_t mixer = orig_mixer; + uint8_t pga = orig_pga; if (gRxVfo->IsAM) { // AM @@ -551,7 +554,7 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) } // apply the front end gain settings - BK4819_WriteRegister(BK4819_REG_13, (lna_short << 8) | (lna << 5) | (mixer << 3) | (pga << 0)); + BK4819_WriteRegister(BK4819_REG_13, ((uint16_t)lna_short << 8) | ((uint16_t)lna << 5) | ((uint16_t)mixer << 3) | ((uint16_t)pga << 0)); // AF gain - original BK4819_WriteRegister(BK4819_REG_48, @@ -1167,7 +1170,13 @@ void APP_Update(void) { // dual watch mode, go back to sleep // sample the RSSI - gCurrentRSSI = BK4819_GetRSSI(); + #ifdef ENABLE_AM_FIX + // with compensation + gCurrentRSSI = (int16_t)BK4819_GetRSSI() - (rssi_db_gain_diff * 2); + #else + gCurrentRSSI = (int16_t)BK4819_GetRSSI(); + #endif + UI_UpdateRSSI(gCurrentRSSI); // go back to sleep @@ -1343,7 +1352,14 @@ void APP_CheckKeys(void) } #ifdef ENABLE_AM_FIX - void adjustAMFrontEnd10ms(void) + + // front end register dB values + static const int8_t lna_short_dB[] = {-19, -16, -11, 0}; + static const int8_t lna_dB[] = {-24, -19, -14, -9, -6, -4, -2, 0}; + static const int8_t mixer_dB[] = { -8, -6, -3, 0}; + static const int8_t pga_dB[] = {-33, -27, -21, -15, -9, -6, -3, 0}; + + void adjust_AM_frontEnd_10ms(void) { // we don't play with the front end gains if in FM mode if (!gRxVfo->IsAM) @@ -1358,7 +1374,7 @@ void APP_CheckKeys(void) case FUNCTION_POWER_SAVE: return; - // only adjust the front end gains if in one of these modes + // only adjust the front end if in one of these modes case FUNCTION_FOREGROUND: case FUNCTION_RECEIVE: case FUNCTION_MONITOR: @@ -1366,7 +1382,7 @@ void APP_CheckKeys(void) break; } - // REG_10 <15:0> 0x0038 Rx AGC Gain Table[0]. (Index Max->Min is 3,2,1,0,-1) + // REG_10 <15:0> 0x0038 Rx AGC Gain Table // // <9:8> = LNA Gain Short // 3 = 0dB < original value @@ -1404,26 +1420,26 @@ void APP_CheckKeys(void) const uint16_t desired_rssi = (-87 + 160) * 2; // dBm to ADC sample // start with the current gain settings - register uint16_t new_lna_short = am_lna_short; - register uint16_t new_lna = am_lna; - register uint16_t new_mixer = am_mixer; - register uint16_t new_pga = am_pga; + uint8_t new_lna_short = am_lna_short; + uint8_t new_lna = am_lna; + uint8_t new_mixer = am_mixer; + uint8_t new_pga = am_pga; // current RX frequency const uint32_t rx_frequency = gRxVfo->pRX->Frequency; // max gains to use -// uint16_t max_lna_short = orig_lna_short; // we're not altering this one - uint16_t max_lna = orig_lna; - uint16_t max_mixer = orig_mixer; - uint16_t max_pga = orig_pga; +// uint8_t max_lna_short = orig_lna_short; // we're not altering this one + uint8_t max_lna = orig_lna; + uint8_t max_mixer = orig_mixer; + uint8_t max_pga = orig_pga; - if (rx_frequency <= 22640000) // the RX gain abrutly reduces above this frequency + if (rx_frequency <= 22640000) // the RX sensitivity abrutly drops above this frequency { max_pga = 7; } else - { // allow a bit more gain + { // allow a bit more adjustment gain // max_lna = 4; max_lna = 7; max_pga = 7; @@ -1431,7 +1447,7 @@ void APP_CheckKeys(void) // sample the current RSSI level uint16_t rssi = BK4819_GetRSSI(); // 9-bit value (0 .. 511) - //gCurrentRSSI = rssi; + //gCurrentRSSI = rssi - (rssi_db_gain_diff * 2); // compute the moving average RSSI if (moving_avg_rssi.count < ARRAY_SIZE(moving_avg_rssi.samples)) @@ -1439,11 +1455,11 @@ void APP_CheckKeys(void) moving_avg_rssi.sum -= moving_avg_rssi.samples[moving_avg_rssi.index]; // subtract the oldest sample moving_avg_rssi.sum += rssi; // add the newest sample moving_avg_rssi.samples[moving_avg_rssi.index] = rssi; // save the newest sample - if (++moving_avg_rssi.index >= ARRAY_SIZE(moving_avg_rssi.samples)) // next buffer slot - moving_avg_rssi.index = 0; // wrap-a-round + if (++moving_avg_rssi.index >= ARRAY_SIZE(moving_avg_rssi.samples)) // + moving_avg_rssi.index = 0; // rssi = moving_avg_rssi.sum / moving_avg_rssi.count; // compute the average of the past 'n' samples - // the register adjustments below need to be more intelligent + // the register adjustments below need to be a bit more intelligent // in order to maintain a good stable setting if (rssi > desired_rssi) @@ -1479,7 +1495,7 @@ void APP_CheckKeys(void) if (am_gain_hold_counter == 0) { // hold has been released, we're now free to increase gain - if (rssi < (desired_rssi - 10)) // 5dB hysterisis - to help prevent gain hunting + if (rssi < (desired_rssi - 10)) // 5dB hysterisis (helps prevent gain hunting) { // increase gain if (new_pga < max_pga) @@ -1519,12 +1535,14 @@ void APP_CheckKeys(void) am_mixer = new_mixer; am_pga = new_pga; - BK4819_WriteRegister(BK4819_REG_13, (am_lna_short << 8) | (am_lna << 5) | (am_mixer << 3) | (am_pga << 0)); - - - // TODO: offset the RSSI reading to the rest of the firmware to cancel out the gain adjustments we've made here + BK4819_WriteRegister(BK4819_REG_13, ((uint16_t)am_lna_short << 8) | ((uint16_t)am_lna << 5) | ((uint16_t)am_mixer << 3) | ((uint16_t)am_pga << 0)); + { // offset the RSSI reading to the rest of the firmware to cancel out the gain adjustments we've made here + static const int16_t orig_dB_gain = lna_short_dB[orig_lna_short & 3u] + lna_dB[orig_lna & 7u] + mixer_dB[orig_mixer & 3u] + pga_dB[orig_pga & 7u]; + const int16_t am_dB_gain = lna_short_dB[am_lna_short & 3u] + lna_dB[am_lna & 7u] + mixer_dB[am_mixer & 3u] + pga_dB[am_pga & 7u]; + rssi_db_gain_diff = am_dB_gain - orig_dB_gain; + } } #endif @@ -1540,7 +1558,7 @@ void APP_TimeSlice10ms(void) #ifdef ENABLE_AM_FIX if (gSetting_AM_fix) - adjustAMFrontEnd10ms(); + adjust_AM_frontEnd_10ms(); #endif if (UART_IsCommandAvailable()) @@ -1873,7 +1891,13 @@ void APP_TimeSlice500ms(void) if (gCurrentFunction != FUNCTION_POWER_SAVE) { - gCurrentRSSI = BK4819_GetRSSI(); + #ifdef ENABLE_AM_FIX + // with compensation + gCurrentRSSI = (int16_t)BK4819_GetRSSI() - (rssi_db_gain_diff * 2); + #else + gCurrentRSSI = (int16_t)BK4819_GetRSSI(); + #endif + UI_UpdateRSSI(gCurrentRSSI); } @@ -2538,10 +2562,10 @@ Skip: gDTMF_TxStopCountdown_500ms = 0; gDTMF_IsTx = false; - gVFO_RSSI_Level[0] = 0; - gVFO_RSSI_Level[1] = 0; + gVFO_RSSI_bar_level[0] = 0; + gVFO_RSSI_bar_level[1] = 0; - gFlagReconfigureVfos = false; + gFlagReconfigureVfos = false; } if (gFlagRefreshSetting) diff --git a/firmware b/firmware index 03ad3737fa47218e7675c626d428141a5af80974..caa7720f186ea11a8a6a6a0315f13c0cd5a5dea2 100644 GIT binary patch delta 27648 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 G5(fbK5jJuF delta 27580 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 r?P5~r%ov$2RPBa{8# z%~hgOjEs?+r;24WF-dIO%p~cP(FPCL5^~F`7(Xs*;?!fSWz*a$T76$1G zW^K_6tRJrZXHekyu=Y2vw@d|t4$}qZ51;=F>}6EsU|{@k;~%3Ehqp`thqqM0m*)%` zpDr?gc=DgsTc+Uc^8;=m^LBGECMafJ{{6Vo+cZU~@Rj$)EtTa~}tTf)q1@!hy*@)pV6v{Yb+CC$H3;lI;097Z zgB#(lyh98OA(K7TEt#x-Pi|4yVPE_Q*jq z$#~)a_ZR

GUgS2C(cIR!gfd9f&73$gO}|9#mHOK~yfC?1 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 DvFTZQ delta 11228 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index f74f31081b9f5824adadbfee75a87fe63d34c0e4..fc343b1fbcd357cd39b0a0bb58fcbc9157c4a6f7 100644 GIT binary patch delta 19434 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 WpW~L4NWSSDCv00jtIGMwMF9W-IgQr< delta 19293 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 0) { - const int16_t dBm = (int16_t)(rssi / 2) - 160; + const int16_t dBm = (rssi / 2) - 160; sprintf(String, "%-3d", dBm); UI_PrintStringSmall(String, 2, 0, Line + 2); } #else // bar graph - if (gVFO_RSSI_Level[vfo_num] > 0) - Level = gVFO_RSSI_Level[vfo_num]; + if (gVFO_RSSI_bar_level[vfo_num] > 0) + Level = gVFO_RSSI_bar_level[vfo_num]; #endif } diff --git a/ui/rssi.c b/ui/rssi.c index 762650e..880f6b2 100644 --- a/ui/rssi.c +++ b/ui/rssi.c @@ -28,7 +28,7 @@ #ifdef ENABLE_DBM -void UI_UpdateRSSI(uint16_t RSSI) +void UI_UpdateRSSI(const int16_t RSSI) { // dBm // // this doesn't yet quite fit into the available screen space @@ -39,12 +39,11 @@ void UI_UpdateRSSI(uint16_t RSSI) if (gEeprom.KEY_LOCK && gKeypadLocked > 0) return; // the screen is currently in use - gVFO_RSSI[gEeprom.RX_CHANNEL] = RSSI; - gVFO_RSSI_Level[gEeprom.RX_CHANNEL] = 0; + gVFO_RSSI[gEeprom.RX_CHANNEL] = RSSI; + gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL] = 0; - if (RSSI > 0) { // drop the '.5' - const int16_t dBm = (int16_t)(RSSI / 2) - 160; + const int16_t dBm = (RSSI / 2) - 160; sprintf(s, "%-3d", dBm); } else @@ -105,11 +104,11 @@ void Render(const uint8_t rssi, const uint8_t RssiLevel, const uint8_t VFO) ST7565_DrawLine(0, Line, 23, pLine); } -void UI_UpdateRSSI(uint16_t RSSI) +void UI_UpdateRSSI(const int16_t RSSI) { gVFO_RSSI[gEeprom.RX_CHANNEL] = RSSI; - //const int16_t dBm = (int16_t)(RSSI / 2) - 160; + //const int16_t dBm = (RSSI / 2) - 160; #if 0 //const unsigned int band = gRxVfo->Band; @@ -144,9 +143,9 @@ void UI_UpdateRSSI(uint16_t RSSI) else if (RSSI >= level0) Level = 1; - if (gVFO_RSSI_Level[gEeprom.RX_CHANNEL] != Level) + if (gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL] != Level) { - gVFO_RSSI_Level[gEeprom.RX_CHANNEL] = Level; + gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL] = Level; Render(RSSI, Level, gEeprom.RX_CHANNEL); } } diff --git a/ui/rssi.h b/ui/rssi.h index 66a38ea..31b7257 100644 --- a/ui/rssi.h +++ b/ui/rssi.h @@ -17,7 +17,7 @@ #ifndef UI_RSSI_H #define UI_RSSI_H -void UI_UpdateRSSI(uint16_t RSSI); +void UI_UpdateRSSI(const int16_t RSSI); #endif