From ed321778c0b3fe6dfa5bc3585e30cc846260369e Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Mon, 25 Sep 2023 07:12:08 +0100 Subject: [PATCH] Disable scan timeout compile option, updated win_make.bat to help path problems --- Makefile | 4 + README.md | 5 +- am_fix.c | 58 +++++++-------- app/action.c | 3 + app/app.c | 70 +++++++++--------- bitmaps.c | 174 ++------------------------------------------ bitmaps.h | 1 + driver/bk4819.c | 6 +- firmware.bin | Bin 53104 -> 53092 bytes firmware.packed.bin | Bin 53122 -> 53110 bytes helper/battery.c | 41 ++++++++--- misc.c | 3 +- radio.c | 3 +- ui/battery.c | 73 +++++++++++++++---- ui/battery.h | 2 +- ui/main.c | 3 + ui/menu.c | 9 +-- ui/status.c | 59 ++++++++++++--- version.c | 2 +- win_make.bat | 20 ++++- 20 files changed, 247 insertions(+), 289 deletions(-) diff --git a/Makefile b/Makefile index 5ea9b79..d557657 100644 --- a/Makefile +++ b/Makefile @@ -22,6 +22,7 @@ ENABLE_BOOT_BEEPS := 0 ENABLE_COMPANDER := 1 ENABLE_SHOW_CHARGE_LEVEL := 0 ENABLE_REVERSE_BAT_SYMBOL := 1 +ENABLE_NO_SCAN_TIMEOUT := 1 ENABLE_AM_FIX := 1 ENABLE_AM_FIX_SHOW_DATA := 1 ENABLE_SQUELCH1_LOWER := 0 @@ -204,6 +205,9 @@ endif ifeq ($(ENABLE_REVERSE_BAT_SYMBOL),1) CFLAGS += -DENABLE_REVERSE_BAT_SYMBOL endif +ifeq ($(ENABLE_NO_SCAN_TIMEOUT),1) + CFLAGS += -DENABLE_NO_SCAN_TIMEOUT +endif ifeq ($(ENABLE_AM_FIX),1) CFLAGS += -DENABLE_AM_FIX endif diff --git a/README.md b/README.md index b9bf074..c4d04a4 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,10 @@ To compile 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 + +3. You may (or not) need to manualy add gcc path to you OS environment PATH. + ie add 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 ``` diff --git a/am_fix.c b/am_fix.c index b1e54dd..416bdbb 100644 --- a/am_fix.c +++ b/am_fix.c @@ -297,14 +297,11 @@ const uint8_t orig_pga = 6; // -3dB // used to simply detect we've changed our table index/register settings unsigned int am_fix_gain_table_index_prev[2] = {0, 0}; - // moving average RSSI buffer - // helps smooth out any spikey RSSI readings - struct { - unsigned int count; // - unsigned int index; // read/write buffer 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[2] = {0}; + struct + { + unsigned int count; + uint16_t level; + } rssi[2]; // to help reduce gain hunting, provides a peak hold time delay unsigned int am_gain_hold_counter[2] = {0, 0}; @@ -315,8 +312,8 @@ const uint8_t orig_pga = 6; // -3dB void AM_fix_reset(const int vfo) { // reset the AM fixer - // reset the moving average filter - memset(&moving_avg_rssi[vfo], 0, sizeof(moving_avg_rssi[vfo])); + rssi[vfo].count = 0; + rssi[vfo].level = 0; am_gain_hold_counter[vfo] = 0; @@ -352,6 +349,8 @@ const uint8_t orig_pga = 6; // -3dB case FUNCTION_TRANSMIT: case FUNCTION_BAND_SCOPE: case FUNCTION_POWER_SAVE: + return; + case FUNCTION_FOREGROUND: return; @@ -362,21 +361,16 @@ const uint8_t orig_pga = 6; // -3dB break; } - // sample the current RSSI level - uint16_t rssi = BK4819_GetRSSI(); // supposed 9-bit value (0 .. 511) - never seen that though - -#if 1 - // compute moving average RSSI - helps smooth any sharp spikes/troughs - // but can cause gain hunting/oscillation if too long a buffer (.samples) - if (moving_avg_rssi[vfo].count < ARRAY_SIZE(moving_avg_rssi[vfo].samples)) - moving_avg_rssi[vfo].count++; - moving_avg_rssi[vfo].sum -= moving_avg_rssi[vfo].samples[moving_avg_rssi[vfo].index]; // subtract the oldest sample - moving_avg_rssi[vfo].sum += rssi; // add the newest sample - moving_avg_rssi[vfo].samples[moving_avg_rssi[vfo].index] = rssi; // save the newest sample - if (++moving_avg_rssi[vfo].index >= ARRAY_SIZE(moving_avg_rssi[vfo].samples)) // - moving_avg_rssi[vfo].index = 0; // - rssi = moving_avg_rssi[vfo].sum / moving_avg_rssi[vfo].count; // compute the average of the past 'n' samples -#endif + // sample the current RSSI level, average it with the previous rssi + if (rssi[vfo].count < 1) + { + rssi[vfo].level = BK4819_GetRSSI(); + rssi[vfo].count++; + } + else + { + rssi[vfo].level = (rssi[vfo].level + BK4819_GetRSSI()) >> 1; + } #ifdef ENABLE_AM_FIX_TEST1 @@ -388,18 +382,18 @@ const uint8_t orig_pga = 6; // -3dB { if (--am_gain_hold_counter[vfo] > 0) { - gCurrentRSSI[vfo] = rssi - (rssi_db_gain_diff[vfo] * 2); + gCurrentRSSI[vfo] = (int16_t)rssi[vfo].level - (rssi_db_gain_diff[vfo] * 2); return; } } - + am_gain_hold_counter[vfo] = 250; // 250ms hold #else // automatically choose a front end gain setting by monitoring the RSSI - if (rssi > desired_rssi) + if (rssi[vfo].level > desired_rssi) { // decrease gain if (am_fix_gain_table_index[vfo] > 1) @@ -413,14 +407,14 @@ const uint8_t orig_pga = 6; // -3dB if (am_gain_hold_counter[vfo] == 0) // hold has been released, we're free to increase gain - if (rssi < (desired_rssi - 10)) // 5dB hysterisis (helps reduce gain hunting) + if (rssi[vfo].level < (desired_rssi - 10)) // 5dB hysterisis (helps reduce gain hunting) // increase gain if (am_fix_gain_table_index[vfo] < (ARRAY_SIZE(am_fix_gain_table) - 1)) am_fix_gain_table_index[vfo]++; if (am_fix_gain_table_index[vfo] == am_fix_gain_table_index_prev[vfo]) { // no gain changes have been made - gCurrentRSSI[vfo] = rssi - (rssi_db_gain_diff[vfo] * 2); + gCurrentRSSI[vfo] = (int16_t)rssi[vfo].level - (rssi_db_gain_diff[vfo] * 2); return; } @@ -442,7 +436,7 @@ const uint8_t orig_pga = 6; // -3dB rssi_db_gain_diff[vfo] = am_dB_gain - orig_dB_gain; // shall we or sharn't we ? - gCurrentRSSI[vfo] = rssi - (rssi_db_gain_diff[vfo] * 2); + gCurrentRSSI[vfo] = (int16_t)rssi[vfo].level - (rssi_db_gain_diff[vfo] * 2); } // remember the new table index @@ -470,7 +464,7 @@ const uint8_t orig_pga = 6; // -3dB // compute the current front end gain const int16_t dB_gain = lna_short_dB[lna_short] + lna_dB[lna] + mixer_dB[mixer] + pga_dB[pga]; - sprintf(s, "idx %2d %4ddB %3u", am_fix_gain_table_index[vfo], dB_gain, BK4819_GetRSSI()); + sprintf(s, "idx %2d %4ddB %3u", am_fix_gain_table_index[vfo], dB_gain, rssi[vfo].level); } #endif diff --git a/app/action.c b/app/action.c index 2f67cec..724d46c 100644 --- a/app/action.c +++ b/app/action.c @@ -187,6 +187,9 @@ void ACTION_Scan(bool bRestart) AUDIO_PlaySingleVoice(true); #endif + // clear the other vfo's rssi level (to hide the antenna symbol) + gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL == 0] = 0; + // let the user see DW is not active gDualWatchActive = false; gUpdateStatus = true; diff --git a/app/app.c b/app/app.c index 649bf47..b57a13d 100644 --- a/app/app.c +++ b/app/app.c @@ -65,6 +65,19 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld); +static void updateRSSI(const int vfo) +{ + int16_t rssi = BK4819_GetRSSI(); + #ifdef ENABLE_AM_FIX + // with compensation + if (gEeprom.VfoInfo[vfo].IsAM && gSetting_AM_fix) + rssi -= rssi_db_gain_diff[vfo] * 2; + #endif + gCurrentRSSI[vfo] = rssi; + + UI_UpdateRSSI(rssi, vfo); +} + static void APP_CheckForIncoming(void) { if (!g_SquelchLost) @@ -415,10 +428,11 @@ void APP_StartListening(FUNCTION_Type_t Function, const bool reset_am_fix) #endif #ifdef ENABLE_AM_FIX - if (reset_am_fix) + if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].IsAM && reset_am_fix) AM_fix_reset(gEeprom.RX_CHANNEL); // TODO: only reset it when moving channel/frequency #endif + // clear the other vfo's rssi level (to hide the antenna symbol) gVFO_RSSI_bar_level[gEeprom.RX_CHANNEL == 0] = 0; GPIO_SetBit(&GPIOC->DATA, GPIOC_PIN_AUDIO_PATH); @@ -1119,8 +1133,8 @@ void APP_Update(void) if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && gScanState == SCAN_OFF && gCssScanMode == CSS_SCAN_MODE_OFF) { // dual watch mode, toggle between the two VFO's - DUALWATCH_Alternate(); + gUpdateRSSI = false; } @@ -1133,15 +1147,7 @@ void APP_Update(void) 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[gEeprom.RX_CHANNEL] = BK4819_GetRSSI(); - #ifdef ENABLE_AM_FIX - // with compensation - if (gRxVfo->IsAM && gSetting_AM_fix) - gCurrentRSSI[gEeprom.RX_CHANNEL] -= rssi_db_gain_diff[gEeprom.RX_CHANNEL] * 2; - #endif - - UI_UpdateRSSI(gCurrentRSSI[gEeprom.RX_CHANNEL], gEeprom.RX_CHANNEL); + updateRSSI(gEeprom.RX_CHANNEL); // go back to sleep @@ -1156,8 +1162,7 @@ void APP_Update(void) } else - { // no yet in power save mode - + { // toggle between the two VFO's DUALWATCH_Alternate(); @@ -1326,7 +1331,7 @@ void APP_TimeSlice10ms(void) #endif #ifdef ENABLE_AM_FIX - if (gRxVfo->IsAM && gSetting_AM_fix) + if (gEeprom.VfoInfo[gEeprom.RX_CHANNEL].IsAM && gSetting_AM_fix) AM_fix_adjust_frontEnd_10ms(gEeprom.RX_CHANNEL); #endif @@ -1659,16 +1664,7 @@ void APP_TimeSlice500ms(void) gUpdateStatus = true; if (gCurrentFunction != FUNCTION_POWER_SAVE) - { - gCurrentRSSI[gEeprom.RX_CHANNEL] = (int16_t)BK4819_GetRSSI(); - #ifdef ENABLE_AM_FIX - // with compensation - if (gRxVfo->IsAM && gSetting_AM_fix) - gCurrentRSSI[gEeprom.RX_CHANNEL] -= rssi_db_gain_diff[gEeprom.RX_CHANNEL] * 2; - #endif - - UI_UpdateRSSI(gCurrentRSSI[gEeprom.RX_CHANNEL], gEeprom.RX_CHANNEL); - } + updateRSSI(gEeprom.RX_CHANNEL); #ifdef ENABLE_FMRADIO if ((gFM_ScanState == FM_SCAN_OFF || gAskToSave) && gCssScanMode == CSS_SCAN_MODE_OFF) @@ -1759,7 +1755,7 @@ void APP_TimeSlice500ms(void) { gLowBatteryBlink = ++gLowBatteryCountdown & 1; - UI_DisplayBattery(gLowBatteryCountdown); + UI_DisplayBattery(0, gLowBatteryBlink); if (gCurrentFunction != FUNCTION_TRANSMIT) { // not transmitting @@ -1808,16 +1804,20 @@ void APP_TimeSlice500ms(void) if (gScreenToDisplay == DISPLAY_SCANNER && gScannerEditState == 0 && gScanCssState < SCAN_CSS_STATE_FOUND) { - if (++gScanProgressIndicator > 32) - { - if (gScanCssState == SCAN_CSS_STATE_SCANNING && !gScanSingleFrequency) - gScanCssState = SCAN_CSS_STATE_FOUND; - else - gScanCssState = SCAN_CSS_STATE_FAILED; - - gUpdateStatus = true; - } - + gScanProgressIndicator++; + + #ifndef ENABLE_NO_SCAN_TIMEOUT + if (gScanProgressIndicator > 32) + { + if (gScanCssState == SCAN_CSS_STATE_SCANNING && !gScanSingleFrequency) + gScanCssState = SCAN_CSS_STATE_FOUND; + else + gScanCssState = SCAN_CSS_STATE_FAILED; + + gUpdateStatus = true; + } + #endif + gUpdateDisplay = true; } diff --git a/bitmaps.c b/bitmaps.c index 57f878e..0e20602 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -29,6 +29,12 @@ const uint8_t BITMAP_PowerSave[8] = #endif }; +const uint8_t BITMAP_BatteryLevel[2] = +{ + 0b01011101, + 0b01011101 +}; + #ifndef ENABLE_REVERSE_BAT_SYMBOL // Quansheng way (+ pole to the left) const uint8_t BITMAP_BatteryLevel1[17] = @@ -51,90 +57,6 @@ const uint8_t BITMAP_PowerSave[8] = 0b01000001, 0b01111111 }; - - const uint8_t BITMAP_BatteryLevel2[17] = - { - 0b00000000, - 0b00111110, - 0b00100010, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01111111 - }; - - const uint8_t BITMAP_BatteryLevel3[17] = - { - 0b00000000, - 0b00111110, - 0b00100010, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01111111 - }; - - const uint8_t BITMAP_BatteryLevel4[17] = - { - 0b00000000, - 0b00111110, - 0b00100010, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01111111 - }; - - const uint8_t BITMAP_BatteryLevel5[17] = - { - 0b00000000, - 0b00111110, - 0b00100010, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01111111 - }; #else // reversed (+ pole to the right) const uint8_t BITMAP_BatteryLevel1[17] = @@ -157,90 +79,6 @@ const uint8_t BITMAP_PowerSave[8] = 0b00100010, 0b00111110 }; - - const uint8_t BITMAP_BatteryLevel2[17] = - { - 0b00000000, - 0b01111111, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00100010, - 0b00111110 - }; - - const uint8_t BITMAP_BatteryLevel3[17] = - { - 0b00000000, - 0b01111111, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00100010, - 0b00111110 - }; - - const uint8_t BITMAP_BatteryLevel4[17] = - { - 0b00000000, - 0b01111111, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00100010, - 0b00111110 - }; - - const uint8_t BITMAP_BatteryLevel5[17] = - { - 0b00000000, - 0b01111111, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b01011101, - 0b01011101, - 0b01000001, - 0b00100010, - 0b00111110 - }; #endif const uint8_t BITMAP_USB_C[9] = diff --git a/bitmaps.h b/bitmaps.h index bab8788..7e3163e 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -6,6 +6,7 @@ extern const uint8_t BITMAP_PowerSave[8]; +extern const uint8_t BITMAP_BatteryLevel[2]; extern const uint8_t BITMAP_BatteryLevel1[17]; extern const uint8_t BITMAP_BatteryLevel2[17]; extern const uint8_t BITMAP_BatteryLevel3[17]; diff --git a/driver/bk4819.c b/driver/bk4819.c index 28ef6fa..58e8fa5 100644 --- a/driver/bk4819.c +++ b/driver/bk4819.c @@ -574,7 +574,8 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b BK4819_WriteRegister(BK4819_REG_43, (0u << 15) | // 0 (3u << 12) | // 3 RF filter bandwidth - (0u << 9) | // 0 RF filter bandwidth when signal is weak +// (0u << 9) | // 0 RF filter bandwidth when signal is weak + (1u << 9) | // 0 RF filter bandwidth when signal is weak (0u << 6) | // 0 AFTxLPF2 filter Band Width (2u << 4) | // 2 BW Mode Selection (1u << 3) | // 1 @@ -602,7 +603,8 @@ void BK4819_SetFilterBandwidth(const BK4819_FilterBandwidth_t Bandwidth, const b BK4819_WriteRegister(BK4819_REG_43, // 0x4048); // 0 100 000 001 00 1 0 00 (0u << 15) | // 0 (3u << 12) | // 4 RF filter bandwidth - (0u << 9) | // 0 RF filter bandwidth when signal is weak +// (0u << 9) | // 0 RF filter bandwidth when signal is weak + (1u << 9) | // 0 RF filter bandwidth when signal is weak (1u << 6) | // 1 AFTxLPF2 filter Band Width (0u << 4) | // 0 BW Mode Selection (1u << 3) | // 1 diff --git a/firmware.bin b/firmware.bin index ea4fac09bcf0d53c7f6a0710ce64567b2d5b79f8..4b75d9d88d1af066b069eb1e5f6df06887ebace1 100644 GIT binary patch delta 17047 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 IIBmfK0E71uQ~&?~ delta 17008 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 diff --git a/helper/battery.c b/helper/battery.c index b6f7754..1084fe1 100644 --- a/helper/battery.c +++ b/helper/battery.c @@ -36,28 +36,43 @@ volatile uint16_t gPowerSave_10ms; void BATTERY_GetReadings(bool bDisplayBatteryLevel) { - uint8_t PreviousBatteryLevel = gBatteryDisplayLevel; - uint16_t Voltage = (gBatteryVoltages[0] + gBatteryVoltages[1] + gBatteryVoltages[2] + gBatteryVoltages[3]) / 4; + const uint8_t PreviousBatteryLevel = gBatteryDisplayLevel; + const uint16_t Voltage = (gBatteryVoltages[0] + gBatteryVoltages[1] + gBatteryVoltages[2] + gBatteryVoltages[3]) / 4; - if (gBatteryCalibration[5] < Voltage) + gBatteryDisplayLevel = 0; + + if (Voltage >= gBatteryCalibration[5]) + gBatteryDisplayLevel = 11; + else + if (Voltage >= ((gBatteryCalibration[4] + gBatteryCalibration[5]) / 2)) + gBatteryDisplayLevel = 10; + else + if (Voltage >= gBatteryCalibration[4]) + gBatteryDisplayLevel = 9; + else + if (Voltage >= ((gBatteryCalibration[3] + gBatteryCalibration[4]) / 2)) + gBatteryDisplayLevel = 8; + else + if (Voltage >= gBatteryCalibration[3]) + gBatteryDisplayLevel = 7; + else + if (Voltage >= ((gBatteryCalibration[2] + gBatteryCalibration[3]) / 2)) gBatteryDisplayLevel = 6; else - if (gBatteryCalibration[4] < Voltage) + if (Voltage >= gBatteryCalibration[2]) gBatteryDisplayLevel = 5; else - if (gBatteryCalibration[3] < Voltage) + if (Voltage >= ((gBatteryCalibration[1] + gBatteryCalibration[2]) / 2)) gBatteryDisplayLevel = 4; else - if (gBatteryCalibration[2] < Voltage) + if (Voltage >= gBatteryCalibration[1]) gBatteryDisplayLevel = 3; else - if (gBatteryCalibration[1] < Voltage) + if (Voltage >= ((gBatteryCalibration[0] + gBatteryCalibration[1]) / 2)) gBatteryDisplayLevel = 2; else - if (gBatteryCalibration[0] < Voltage) + if (Voltage >= gBatteryCalibration[0]) gBatteryDisplayLevel = 1; - else - gBatteryDisplayLevel = 0; gBatteryVoltageAverage = (Voltage * 760) / gBatteryCalibration[3]; @@ -71,6 +86,7 @@ void BATTERY_GetReadings(bool bDisplayBatteryLevel) gUpdateStatus = true; gUpdateDisplay = true; } + gChargingWithTypeC = false; } else @@ -81,6 +97,7 @@ void BATTERY_GetReadings(bool bDisplayBatteryLevel) gUpdateDisplay = true; BACKLIGHT_TurnOn(); } + gChargingWithTypeC = true; } @@ -93,9 +110,11 @@ void BATTERY_GetReadings(bool bDisplayBatteryLevel) else { gLowBattery = false; + if (bDisplayBatteryLevel) - UI_DisplayBattery(gBatteryDisplayLevel); + UI_DisplayBattery(gBatteryDisplayLevel, gLowBatteryBlink); } + gLowBatteryCountdown = 0; } } diff --git a/misc.c b/misc.c index 227a98c..cfc96a3 100644 --- a/misc.c +++ b/misc.c @@ -52,9 +52,8 @@ 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 gMax_bat_v = 840; // 8.4V const uint16_t gMin_bat_v = 660; // 6.6V -//const uint16_t gMin_bat_v = 690; // 6.9V const uint32_t gDefaultAesKey[4] = {0x4AA5CC60, 0x0312CC5F, 0xFFD2DABB, 0x6BBA7F92}; diff --git a/radio.c b/radio.c index 444e50f..a2efdb8 100644 --- a/radio.c +++ b/radio.c @@ -972,7 +972,8 @@ void RADIO_PrepareTX(void) if (gBatteryDisplayLevel == 0) State = VFO_STATE_BAT_LOW; else - if (gBatteryDisplayLevel >= 6) +// if (gBatteryDisplayLevel >= 6) + if (gBatteryDisplayLevel >= 11) State = VFO_STATE_VOLTAGE_HIGH; else goto Skip; diff --git a/ui/battery.c b/ui/battery.c index f5c93fe..3f89b93 100644 --- a/ui/battery.c +++ b/ui/battery.c @@ -15,28 +15,73 @@ */ #include +#include + #include "bitmaps.h" #include "driver/st7565.h" #include "functions.h" #include "ui/battery.h" -void UI_DisplayBattery(uint8_t Level) +void UI_DisplayBattery(const uint8_t level, const uint8_t blink) { - if (gCurrentFunction != FUNCTION_TRANSMIT) +// if (gCurrentFunction != FUNCTION_TRANSMIT) { - const unsigned int x = LCD_WIDTH - sizeof(BITMAP_BatteryLevel5); - const uint8_t *pBitmap = NULL; - switch (Level) + uint8_t bitmap[sizeof(BITMAP_BatteryLevel1)]; + +#if 1 + + if (level >= 2) { - default: - case 0: break; - case 1: pBitmap = BITMAP_BatteryLevel1; break; - case 2: pBitmap = BITMAP_BatteryLevel2; break; - case 3: pBitmap = BITMAP_BatteryLevel3; break; - case 4: pBitmap = BITMAP_BatteryLevel4; break; - case 5: pBitmap = BITMAP_BatteryLevel5; break; + memmove(bitmap, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); + #ifndef ENABLE_REVERSE_BAT_SYMBOL + uint8_t *pb = bitmap + sizeof(BITMAP_BatteryLevel1); + if (level >= 2) + memmove(pb - 4, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (level >= 5) + memmove(pb - 7, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (level >= 7) + memmove(pb - 10, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (level >= 9) + memmove(pb - 13, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + #else + if (level >= 2) + memmove(bitmap + 3, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (level >= 5) + memmove(bitmap + 6, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (level >= 7) + memmove(bitmap + 9, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (level >= 9) + memmove(bitmap + 12, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + #endif } - // col lne, siz, bm - ST7565_DrawLine(x, 0, 18, pBitmap); + else + if (blink == 1) + memmove(bitmap, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); + else + memset(bitmap, 0, sizeof(bitmap)); + +#else + + if (level > 0) + { + const uint8_t lev = (level <= 11) ? level : 11; + + memmove(bitmap, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); + + #ifdef ENABLE_REVERSE_BAT_SYMBOL + for (uint8_t i = 0; i < lev; i++) + bitmap[3 + i] = (i & 1u) ? 0b01011101 : 0b01011101; + #else + for (uint8_t i = 0; i < lev; i++) + bitmap[sizeof(bitmap) - 3 - i] = (i & 1u) ? 0b01011101 : 0b01011101; + #endif + } + else + memset(bitmap, 0, sizeof(bitmap)); + +#endif + + // col lne, siz, bm + ST7565_DrawLine(LCD_WIDTH - sizeof(bitmap), 0, sizeof(bitmap), bitmap); } } diff --git a/ui/battery.h b/ui/battery.h index 0071870..92e1f47 100644 --- a/ui/battery.h +++ b/ui/battery.h @@ -19,7 +19,7 @@ #include -void UI_DisplayBattery(uint8_t Level); +void UI_DisplayBattery(const uint8_t Level, const uint8_t blink); #endif diff --git a/ui/main.c b/ui/main.c index 8fc07d5..11288d0 100644 --- a/ui/main.c +++ b/ui/main.c @@ -504,8 +504,11 @@ void UI_DisplayMain(void) case FUNCTION_TRANSMIT: case FUNCTION_BAND_SCOPE: case FUNCTION_POWER_SAVE: + break; + case FUNCTION_FOREGROUND: break; + case FUNCTION_RECEIVE: case FUNCTION_MONITOR: case FUNCTION_INCOMING: diff --git a/ui/menu.c b/ui/menu.c index 145133e..39859f6 100644 --- a/ui/menu.c +++ b/ui/menu.c @@ -433,12 +433,6 @@ void UI_DisplayMenu(void) strcpy(String, (gSubMenuSelection == 0) ? "FM" : "AM"); break; - #ifdef ENABLE_AM_FIX - case MENU_AM_FIX: - strcpy(String, (gSubMenuSelection == 0) ? "OFF" : "YES'ish"); - break; - #endif - #ifdef ENABLE_AM_FIX_TEST1 case MENU_AM_FIX_TEST1: strcpy(String, gSubMenu_AM_fix_test1[gSubMenuSelection]); @@ -455,6 +449,9 @@ void UI_DisplayMenu(void) break; #endif + #ifdef ENABLE_AM_FIX + case MENU_AM_FIX: + #endif case MENU_BCL: case MENU_BEEP: case MENU_S_ADD1: diff --git a/ui/status.c b/ui/status.c index 5f32b8a..bc2dd6a 100644 --- a/ui/status.c +++ b/ui/status.c @@ -171,6 +171,7 @@ void UI_DisplayStatus(const bool test_display) { const uint16_t voltage = (gBatteryVoltageAverage < gMin_bat_v) ? gMin_bat_v : gBatteryVoltageAverage; const uint16_t percent = (100 * (voltage - gMin_bat_v)) / (gMax_bat_v - gMin_bat_v); +// const uint16_t percent = gBatteryDisplayLevel; sprintf(s, "%u%%", percent); space_needed = (7 * strlen(s)); if (x2 >= (x1 + space_needed)) @@ -181,7 +182,7 @@ void UI_DisplayStatus(const bool test_display) } // move to right side of the screen - x = LCD_WIDTH - sizeof(BITMAP_BatteryLevel5) - sizeof(BITMAP_USB_C); + x = LCD_WIDTH - sizeof(BITMAP_BatteryLevel1) - sizeof(BITMAP_USB_C); // USB-C charge indicator if (gChargingWithTypeC || test_display) @@ -189,20 +190,54 @@ void UI_DisplayStatus(const bool test_display) x += sizeof(BITMAP_USB_C); // BATTERY LEVEL indicator - if (gBatteryDisplayLevel >= 5 || test_display) - memmove(line + x, BITMAP_BatteryLevel5, sizeof(BITMAP_BatteryLevel5)); - else - if (gBatteryDisplayLevel >= 4) - memmove(line + x, BITMAP_BatteryLevel4, sizeof(BITMAP_BatteryLevel4)); - else - if (gBatteryDisplayLevel >= 3) - memmove(line + x, BITMAP_BatteryLevel3, sizeof(BITMAP_BatteryLevel3)); - else - if (gBatteryDisplayLevel >= 2) - memmove(line + x, BITMAP_BatteryLevel2, sizeof(BITMAP_BatteryLevel2)); +#if 1 + if (gBatteryDisplayLevel >= 2 && !gLowBattery) + { + line += x; + memmove(line, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); + #ifndef ENABLE_REVERSE_BAT_SYMBOL + line += sizeof(BITMAP_BatteryLevel1); + if (gBatteryDisplayLevel >= 2) + memmove(line - 4, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (gBatteryDisplayLevel >= 5) + memmove(line - 7, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (gBatteryDisplayLevel >= 7) + memmove(line - 10, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (gBatteryDisplayLevel >= 9) + memmove(line - 13, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + #else + if (gBatteryDisplayLevel >= 2) + memmove(line + 3, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (gBatteryDisplayLevel >= 5) + memmove(line + 6, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (gBatteryDisplayLevel >= 7) + memmove(line + 9, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + if (gBatteryDisplayLevel >= 9) + memmove(line + 12, BITMAP_BatteryLevel, sizeof(BITMAP_BatteryLevel)); + #endif + } else if (gLowBatteryBlink == 1) memmove(line + x, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); +#else +// UI_DisplayBattery(gBatteryDisplayLevel); + + line += x; + if (gBatteryDisplayLevel > 0) + { + const uint8_t level = (gBatteryDisplayLevel <= 11) ? gBatteryDisplayLevel : 11; + memmove(line, BITMAP_BatteryLevel1, sizeof(BITMAP_BatteryLevel1)); + #ifdef ENABLE_REVERSE_BAT_SYMBOL + for (uint8_t i = 0; i < level; i++) + line[3 + i] = (i & 1u) ? 0b01011101 : 0b01011101; + #else + for (uint8_t i = 0; i < level; i++) + line[sizeof(BITMAP_BatteryLevel1) - 3 - i] = (i & 1u) ? 0b01011101 : 0b01011101; + #endif + } + else + memset(line, 0, sizeof(BITMAP_BatteryLevel1)); +#endif // ************** diff --git a/version.c b/version.c index 78c896d..7615aa5 100644 --- a/version.c +++ b/version.c @@ -2,7 +2,7 @@ #ifdef GIT_HASH #define VER GIT_HASH #else - #define VER "230924" + #define VER "230925" #endif const char Version[] = "OEFW-"VER; diff --git a/win_make.bat b/win_make.bat index 0d4e330..bc29e68 100644 --- a/win_make.bat +++ b/win_make.bat @@ -1,10 +1,14 @@ -:: Cmpile directly in windows without the need of a linux virtual machine: +@echo off + +:: Compile 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. @@ -15,14 +19,24 @@ :: delete any left over files from any previous compile del /S /Q *.o >nul 2>nul del /S /Q *.d >nul 2>nul +del /Q firmware >nul 2>nul del /Q *.bin >nul 2>nul -:: do the compile ! -"C:\Program Files (x86)\GnuWin32\bin\make" +:: You may need to edit/change these three paths to suit your setup +:: +@set PATH="C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\bin";%PATH% +@set PATH="C:\Program Files (x86)\GNU Arm Embedded Toolchain\10 2021.10\arm-none-eabi\bin";%PATH% +@set PATH="C:\Program Files (x86)\GnuWin32\bin\";%PATH% + +:: do the compile +::"C:\Program Files (x86)\GnuWin32\bin\make" +make :: delete the unused created when compiling files +:: del /S /Q *.o >nul 2>nul del /S /Q *.d >nul 2>nul +del /Q firmware >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.