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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�FrWsR?!gqsQ388dF3iFjh&z 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 d>w4hp diff --git a/firmware.bin b/firmware.bin index bffad23d9406a770facccf6194fb3fd68c50ad14..beafc4399f0fc1633675359f08866c7ac92aa586 100644 GIT binary patch delta 11316 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 delta 11228 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 z z@q9y_kp`nB(lTgJigRed*kF~et`jaxj!%Or;4iJ~ceq#b4#WfESd5D?rJ*&&DEtTm z#|9z_tFHVQ8D(owuWIP(h9;u`fF>t?5r2qZL~V@nw1MoLTdbb!&=GfSuE=DUrie6{ zsQnx%O-9S6!7iXoff+?@LK2 z8ykjuBog0Xl&d5Mx>?kwNSy z)>CKNjxGSPl(<5+j%=LDDc6YEi@7!|5AeH=%!%jffYgX+p$6);GCB|sXx+4aTI2t7 zZLTYGt(pl$7tug;5ls|3<3OX*MsyL)BnC0MV!KAd7>m&_Bd;!AESa~2Zxnx@cWyL| zNp;kp#-Vv=Tv{8A7gNF58foo+q~U3CdH%E%wI@a*i>*P6T-TJwH>J^3qzPycYC;3j z=VcOOFJsL_WK51ptVkYXd+l!v$y-JJ9TVdAN9Q+% z5oolZPccRT8QDy_Zn6S@ysFC;S&JN5WUHwc*>BnxvYKRBlaboQ+lz)K{0RpLBMZsT zh|r?^9-9=ootx)YYn<1-*;vP`ZDPos6T1$CY&?i=4d`}{*m0*Zvm$7nT{>If)T|wp zTl(5<_x@Uy;9$FfVlauFQIxv@a$ik`0)wAMzJa=k_T|(-lRbWfY)p0MLXs zpW~Yo>1ptkxHJYk*8q6L*LUSRPW!b+J*%h-%0D11LMZ7OqIy>D4$A4Fo(4WVB+n23 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 w{n+*C2VPCDvO5)0Jy=7!YW?2kwzMP!eN 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 H9!?%w0XdD= delta 19293 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 diff --git a/functions.c b/functions.c index 9f0406c..ffb445c 100644 --- a/functions.c +++ b/functions.c @@ -107,8 +107,8 @@ void FUNCTION_Select(FUNCTION_Type_t Function) if (PreviousFunction == FUNCTION_TRANSMIT) { - gVFO_RSSI_Level[0] = 0; - gVFO_RSSI_Level[1] = 0; + gVFO_RSSI_bar_level[0] = 0; + gVFO_RSSI_bar_level[1] = 0; } else if (PreviousFunction != FUNCTION_RECEIVE) diff --git a/misc.c b/misc.c index a272073..766d2a8 100644 --- a/misc.c +++ b/misc.c @@ -123,8 +123,8 @@ uint8_t gFoundCTCSS; uint8_t gFoundCDCSS; bool gEndOfRxDetectedMaybe; -uint16_t gVFO_RSSI[2]; -uint8_t gVFO_RSSI_Level[2]; +int16_t gVFO_RSSI[2]; +uint8_t gVFO_RSSI_bar_level[2]; uint8_t gReducedService; uint8_t gBatteryVoltageIndex; @@ -218,7 +218,7 @@ volatile bool gFlagTailNoteEliminationComplete; volatile uint8_t boot_counter_10ms; -uint16_t gCurrentRSSI; +int16_t gCurrentRSSI = 0; uint8_t gIsLocked = 0xFF; diff --git a/misc.h b/misc.h index 0ce38b7..0d64250 100644 --- a/misc.h +++ b/misc.h @@ -187,8 +187,8 @@ extern uint8_t gFoundCTCSS; extern uint8_t gFoundCDCSS; extern bool gEndOfRxDetectedMaybe; -extern uint16_t gVFO_RSSI[2]; -extern uint8_t gVFO_RSSI_Level[2]; +extern int16_t gVFO_RSSI[2]; +extern uint8_t gVFO_RSSI_bar_level[2]; extern uint8_t gReducedService; extern uint8_t gBatteryVoltageIndex; @@ -275,7 +275,7 @@ extern volatile bool gFlagTailNoteEliminationComplete; #ifdef ENABLE_FMRADIO extern volatile bool gScheduleFM; #endif -extern uint16_t gCurrentRSSI; +extern int16_t gCurrentRSSI; extern uint8_t gIsLocked; extern volatile uint8_t boot_counter_10ms; diff --git a/ui/main.c b/ui/main.c index 307cc6d..0847a13 100644 --- a/ui/main.c +++ b/ui/main.c @@ -393,17 +393,17 @@ void UI_DisplayMain(void) // dBm // // this doesn't yet quite fit into the available screen space - const uint16_t rssi = gVFO_RSSI[vfo_num]; + const int16_t rssi = gVFO_RSSI[vfo_num]; if (rssi > 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