From 7bd011b057f07675941eab0bf0d059096a9ae360 Mon Sep 17 00:00:00 2001 From: OneOfEleven Date: Sat, 16 Sep 2023 17:16:36 +0100 Subject: [PATCH] const renames + display updates --- app/app.c | 38 +++--- app/main.c | 8 +- app/menu.c | 2 +- app/scanner.c | 2 +- bitmaps.c | 294 ++------------------------------------------ bitmaps.h | 26 ---- driver/st7565.c | 4 +- firmware | Bin 164924 -> 164528 bytes firmware.bin | Bin 48652 -> 48472 bytes firmware.packed.bin | Bin 48670 -> 48490 bytes functions.c | 2 +- misc.c | 48 ++++---- misc.h | 32 ++--- radio.c | 2 +- ui/lock.c | 2 +- ui/main.c | 59 +++++---- ui/status.c | 1 + 17 files changed, 110 insertions(+), 410 deletions(-) diff --git a/app/app.c b/app/app.c index 3f4515c..104fb9c 100644 --- a/app/app.c +++ b/app/app.c @@ -98,7 +98,7 @@ static void APP_CheckForIncoming(void) return; } - gDualWatchCountdown = dual_watch_count_after_rx; + gDualWatchCountdown = dual_watch_count_after_rx_10ms; gScheduleDualWatch = false; } else @@ -163,7 +163,7 @@ static void APP_HandleIncoming(void) { if (gRxReceptionMode == RX_MODE_DETECTED) { - gDualWatchCountdown = dual_watch_count_after_1; + gDualWatchCountdown = dual_watch_count_after_1_10ms; gScheduleDualWatch = false; gRxReceptionMode = RX_MODE_LISTENING; return; @@ -442,7 +442,7 @@ void APP_StartListening(FUNCTION_Type_t Function) { gRxVfoIsActive = true; - gDualWatchCountdown = dual_watch_count_after_2; + gDualWatchCountdown = dual_watch_count_after_2_10ms; gScheduleDualWatch = false; } @@ -607,9 +607,9 @@ static void DUALWATCH_Alternate(void) RADIO_SetupRegisters(false); #ifdef ENABLE_NOAA - gDualWatchCountdown = gIsNoaaMode ? dual_watch_count_noaa : dual_watch_count_toggle; + gDualWatchCountdown = gIsNoaaMode ? dual_watch_count_noaa_10ms : dual_watch_count_toggle_10ms; #else - gDualWatchCountdown = dual_watch_count_toggle; + gDualWatchCountdown = dual_watch_count_toggle_10ms; #endif } @@ -687,9 +687,9 @@ void APP_CheckRadioInterrupts(void) gBatterySaveCountdownExpired = false; } - if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && (gScheduleDualWatch || gDualWatchCountdown < dual_watch_count_after_vox)) + if (gEeprom.DUAL_WATCH != DUAL_WATCH_OFF && (gScheduleDualWatch || gDualWatchCountdown < dual_watch_count_after_vox_10ms)) { - gDualWatchCountdown = dual_watch_count_after_vox; + gDualWatchCountdown = dual_watch_count_after_vox_10ms; gScheduleDualWatch = false; } } @@ -975,12 +975,12 @@ void APP_Update(void) gCssScanMode != CSS_SCAN_MODE_OFF || gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) - gBatterySaveCountdown = battery_save_count; + gBatterySaveCountdown = battery_save_count_10ms; else if ((IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[0]) && IS_NOT_NOAA_CHANNEL(gEeprom.ScreenChannel[1])) || !gIsNoaaMode) FUNCTION_Select(FUNCTION_POWER_SAVE); else - gBatterySaveCountdown = battery_save_count; + gBatterySaveCountdown = battery_save_count_10ms; #else if ( #ifdef ENABLE_FMRADIO @@ -993,7 +993,7 @@ void APP_Update(void) gCssScanMode != CSS_SCAN_MODE_OFF || gScreenToDisplay != DISPLAY_MAIN || gDTMF_CallState != DTMF_CALL_STATE_NONE) - gBatterySaveCountdown = battery_save_count; + gBatterySaveCountdown = battery_save_count_10ms; else FUNCTION_Select(FUNCTION_POWER_SAVE); #endif @@ -1135,7 +1135,7 @@ void APP_CheckKeys(void) return; } - if (++gDebounceCounter == key_debounce) + if (++gDebounceCounter == key_debounce_10ms) { // debounced new key pressed if (Key == KEY_INVALID) @@ -1158,7 +1158,7 @@ void APP_CheckKeys(void) // key is being held pressed - if (gDebounceCounter == key_repeat_delay) + if (gDebounceCounter == key_repeat_delay_10ms) { // initial delay after pressed if (Key == KEY_STAR || Key == KEY_F || @@ -1178,19 +1178,19 @@ void APP_CheckKeys(void) return; } - if (gDebounceCounter > key_repeat_delay) + if (gDebounceCounter > key_repeat_delay_10ms) { // key repeat if (Key == KEY_UP || Key == KEY_DOWN) { gKeyBeingHeld = true; - if ((gDebounceCounter % key_repeat) == 0) + if ((gDebounceCounter % key_repeat_10ms) == 0) APP_ProcessKey(Key, true, true); } if (gDebounceCounter < 0xFFFF) return; - gDebounceCounter = key_repeat_delay; + gDebounceCounter = key_repeat_delay_10ms; return; } } @@ -1374,7 +1374,7 @@ void APP_TimeSlice10ms(void) GUI_SelectNextDisplay(DISPLAY_SCANNER); } - gScanDelay = g_scan_delay; + gScanDelay = scan_delay_10ms; break; case SCAN_CSS_STATE_SCANNING: @@ -1420,7 +1420,7 @@ void APP_TimeSlice10ms(void) if (gScanCssState < SCAN_CSS_STATE_FOUND) { BK4819_SetScanFrequency(gScanFrequency); - gScanDelay = g_scan_delay; + gScanDelay = scan_delay_10ms; break; } @@ -1753,7 +1753,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) if (gCurrentFunction == FUNCTION_POWER_SAVE) FUNCTION_Select(FUNCTION_FOREGROUND); - gBatterySaveCountdown = battery_save_count; + gBatterySaveCountdown = battery_save_count_10ms; if (gEeprom.AUTO_KEYPAD_LOCK) gKeyLockCountdown = 30; // 15 seconds @@ -1792,7 +1792,7 @@ static void APP_ProcessKey(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) else { if (Key != KEY_PTT) - gVoltageMenuCountdown = g_menu_timeout; + gVoltageMenuCountdown = menu_timeout_10ms; BACKLIGHT_TurnOn(); diff --git a/app/main.c b/app/main.c index 43ed84e..e6402ca 100644 --- a/app/main.c +++ b/app/main.c @@ -266,7 +266,7 @@ static void MAIN_Key_DIGITS(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) uint8_t Vfo = gEeprom.TX_CHANNEL; - gKeyInputCountdown = key_input_timeout; + gKeyInputCountdown = key_input_timeout_500ms; INPUTBOX_Append(Key); gRequestDisplayScreen = DISPLAY_MAIN; @@ -413,7 +413,7 @@ static void MAIN_Key_EXIT(bool bKeyPressed, bool bKeyHeld) return; gInputBox[--gInputBoxIndex] = 10; - gKeyInputCountdown = key_input_timeout; + gKeyInputCountdown = key_input_timeout_500ms; #ifdef ENABLE_VOICE if (gInputBoxIndex == 0) @@ -507,7 +507,7 @@ static void MAIN_Key_STAR(bool bKeyPressed, bool bKeyHeld) if (gScanState == SCAN_OFF) #endif { - gKeyInputCountdown = key_input_timeout; + gKeyInputCountdown = key_input_timeout_500ms; gDTMF_InputMode = true; memcpy(gDTMF_InputBox, gDTMF_String, 15); gDTMF_InputIndex = 0; @@ -657,7 +657,7 @@ void MAIN_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) { // add key to DTMF string DTMF_Append(Character); - gKeyInputCountdown = key_input_timeout; + gKeyInputCountdown = key_input_timeout_500ms; gRequestDisplayScreen = DISPLAY_MAIN; gPttWasReleased = true; gBeepToPlay = BEEP_1KHZ_60MS_OPTIONAL; diff --git a/app/menu.c b/app/menu.c index d287ec5..ee53fd3 100644 --- a/app/menu.c +++ b/app/menu.c @@ -1444,5 +1444,5 @@ void MENU_ProcessKeys(KEY_Code_t Key, bool bKeyPressed, bool bKeyHeld) } if (gScreenToDisplay == DISPLAY_MENU && gMenuCursor == MENU_VOL) - gVoltageMenuCountdown = g_menu_timeout; + gVoltageMenuCountdown = menu_timeout_10ms; } diff --git a/app/scanner.c b/app/scanner.c index cc914f1..b673e8d 100644 --- a/app/scanner.c +++ b/app/scanner.c @@ -391,7 +391,7 @@ void SCANNER_Start(void) BK4819_EnableFrequencyScan(); } - gScanDelay = g_scan_delay; + gScanDelay = scan_delay_10ms; gScanCssResultCode = 0xFF; gScanCssResultType = 0xFF; gScanHitCount = 0; diff --git a/bitmaps.c b/bitmaps.c index 225c96f..a22bd90 100644 --- a/bitmaps.c +++ b/bitmaps.c @@ -5,7 +5,7 @@ // turn your monitor 90deg anti-clockwise to see the images const uint8_t BITMAP_PowerSave[] = -{ +{ // "S" 0b00000000, 0b00100110, 0b01001001, @@ -127,7 +127,7 @@ const uint8_t BITMAP_BatteryLevel5[] = }; const uint8_t BITMAP_USB_C[] = -{ +{ // USB symbol 0b00000000, 0b00011100, 0b00100111, @@ -140,7 +140,7 @@ const uint8_t BITMAP_USB_C[] = }; const uint8_t BITMAP_KeyLock[] = -{ +{ // padlock symbol 0b00000000, 0b01111100, 0b01000110, @@ -153,7 +153,7 @@ const uint8_t BITMAP_KeyLock[] = }; const uint8_t BITMAP_F_Key[] = -{ +{ // F-Key symbol 0b11111111, 0b10000001, 0b10111101, @@ -167,7 +167,7 @@ const uint8_t BITMAP_F_Key[] = }; const uint8_t BITMAP_VOX[] = -{ +{ // "VOX" 0b00000000, 0b00011111, 0b00100000, @@ -192,7 +192,7 @@ const uint8_t BITMAP_VOX[] = #if 0 const uint8_t BITMAP_WX[] = - { + { // "WX" 0b00000000, 0b01111111, 0b00100000, @@ -210,7 +210,7 @@ const uint8_t BITMAP_VOX[] = #else // 'XB' (cross-band) const uint8_t BITMAP_XB[] = - { + { // "XB" 0b00000000, 0b01100011, 0b00010100, @@ -228,7 +228,7 @@ const uint8_t BITMAP_VOX[] = #endif const uint8_t BITMAP_TDR[] = -{ +{ // "DW" 0b00000000, 0b01111111, 0b01000001, @@ -261,7 +261,7 @@ const uint8_t BITMAP_TDR[] = #ifdef ENABLE_FMRADIO const uint8_t BITMAP_FM[] = - { + { // "FM" 0b00000000, 0b01111111, 0b00001001, @@ -280,7 +280,7 @@ const uint8_t BITMAP_TDR[] = #ifdef ENABLE_NOAA const uint8_t BITMAP_NOAA[] = - { + { // "NS" 0b00000000, 0b01111111, 0b00000100, @@ -384,280 +384,8 @@ const uint8_t BITMAP_VFO_NotDefault[] = 0b00001000 }; -const uint8_t BITMAP_TX[] = -{ - 0b00000000, - 0b00000001, - 0b00000001, - 0b00000001, - 0b01111111, - 0b00000001, - 0b00000001, - 0b00000001, - - 0b00000000, - 0b01100011, - 0b00100010, - 0b00010100, - 0b00001000, - 0b00010100, - 0b00100010, - 0b01100011 -}; - -const uint8_t BITMAP_RX[] = -{ - 0b00000000, - 0b01111111, - 0b00001001, - 0b00001001, - 0b00001001, - 0b00011001, - 0b00101001, - 0b01000110, - - 0b00000000, - 0b01100011, - 0b00100010, - 0b00010100, - 0b00001000, - 0b00010100, - 0b00100010, - 0b01100011 -}; - -const uint8_t BITMAP_M[] = -{ - 0b00000000, - 0b01111111, - 0b00000010, - 0b00000100, - 0b00011000, - 0b00000100, - 0b00000010, - 0b01111111 -}; - -const uint8_t BITMAP_FB[] = -{ - 0b00000000, - 0b01111111, - 0b00001001, - 0b00001001, - 0b00001001, - 0b00001001, - 0b00001001, - 0b00000001, - - 0b00000000, - 0b01111111, - 0b01001001, - 0b01001001, - 0b01001001, - 0b01001001, - 0b01001001, - 0b00110110 -}; - -const uint8_t BITMAP_ReverseMode[] = -{ - 0b00000000, - 0b01111111, - 0b00001001, - 0b00001001, - 0b00001001, - 0b00011001, - 0b00101001, - 0b01000110 -}; - -const uint8_t BITMAP_NarrowBand[] = -{ - 0b00000000, - 0b01111111, - 0b00000010, - 0b00000100, - 0b00001000, - 0b00010000, - 0b00100000, - 0b01111111 -}; - -const uint8_t BITMAP_DTMF[] = -{ - 0b00000000, - 0b01111111, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00111110, - - 0b00000000, - 0b00000001, - 0b00000001, - 0b01111111, - 0b00000001, - 0b00000001, - - 0b00000000, - 0b01111111, - 0b00000010, - 0b00001100, - 0b00000010, - 0b01111111, - - 0b00000000, - 0b01111111, - 0b00001001, - 0b00001001, - 0b00001001, - 0b00000001 -}; - -const uint8_t BITMAP_Scramble[] = -{ - 0b00000000, - 0b00100110, - 0b01001001, - 0b01001001, - 0b01001001, - 0b00110010, - - 0b00000000, - 0b00111110, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00100010, - - 0b00000000, - 0b01111111, - 0b00001001, - 0b00011001, - 0b00101001, - 0b01000110 -}; - -const uint8_t BITMAP_Add[] = -{ - 0b00000000, - 0b00011000, - 0b00011000, - 0b01111110, - 0b01111110, - 0b01111110, - 0b00011000, - 0b00011000 -}; - -const uint8_t BITMAP_Sub[] = -{ - 0b00000000, - 0b00001100, - 0b00001100, - 0b00001100, - 0b00001100, - 0b00001100, - 0b00001100, - 0b00001100 -}; - -const uint8_t BITMAP_PowerHigh[] = -{ - 0b00000000, - 0b01111111, - 0b00001000, - 0b00001000, - 0b00001000, - 0b00001000, - 0b00001000, - 0b01111111 -}; - -const uint8_t BITMAP_PowerMid[] = -{ - 0b00000000, - 0b01111111, - 0b00000010, - 0b00000100, - 0b00011000, - 0b00000100, - 0b00000010, - 0b01111111 -}; - -const uint8_t BITMAP_PowerLow[] = -{ - 0b00000000, - 0b01111111, - 0b01000000, - 0b01000000, - 0b01000000, - 0b01000000, - 0b01000000, - 0b01000000 -}; - -const uint8_t BITMAP_AM[] = -{ - 0b00000000, - 0b01111100, - 0b00010010, - 0b00010001, - 0b00010010, - 0b01111100, - - 0b00000000, - 0b01111111, - 0b00000010, - 0b00001100, - 0b00000010, - 0b01111111 -}; - -const uint8_t BITMAP_CT[] = -{ - 0b00000000, - 0b00111110, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00100010, - - 0b00000000, - 0b00000001, - 0b00000001, - 0b01111111, - 0b00000001, - 0b00000001 -}; - -const uint8_t BITMAP_DCS[] = -{ - 0b00000000, - 0b01111111, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00111110, - - 0b00000000, - 0b00111110, - 0b01000001, - 0b01000001, - 0b01000001, - 0b00100010, - - 0b00000000, - 0b00100110, - 0b01001001, - 0b01001001, - 0b01001001, - 0b00110010 -}; - const uint8_t BITMAP_ScanList[] = -{ +{ // diamond symbol 0b00001000, 0b00011100, 0b00111110, diff --git a/bitmaps.h b/bitmaps.h index 6c3a282..082b386 100644 --- a/bitmaps.h +++ b/bitmaps.h @@ -53,32 +53,6 @@ extern const uint8_t BITMAP_CurrentIndicator[8]; extern const uint8_t BITMAP_VFO_Default[8]; extern const uint8_t BITMAP_VFO_NotDefault[8]; -extern const uint8_t BITMAP_TX[16]; -extern const uint8_t BITMAP_RX[16]; - -extern const uint8_t BITMAP_M[8]; -extern const uint8_t BITMAP_FB[16]; - -extern const uint8_t BITMAP_ReverseMode[8]; - -extern const uint8_t BITMAP_NarrowBand[8]; - -extern const uint8_t BITMAP_DTMF[24]; - -extern const uint8_t BITMAP_Scramble[18]; - -extern const uint8_t BITMAP_Add[8]; -extern const uint8_t BITMAP_Sub[8]; - -extern const uint8_t BITMAP_PowerHigh[8]; -extern const uint8_t BITMAP_PowerMid[8]; -extern const uint8_t BITMAP_PowerLow[8]; - -extern const uint8_t BITMAP_AM[12]; - -extern const uint8_t BITMAP_CT[12]; -extern const uint8_t BITMAP_DCS[18]; - extern const uint8_t BITMAP_ScanList[6]; #endif diff --git a/driver/st7565.c b/driver/st7565.c index b5a1df9..e0f0f42 100644 --- a/driver/st7565.c +++ b/driver/st7565.c @@ -63,8 +63,7 @@ void ST7565_DrawLine(uint8_t Column, uint8_t Line, uint16_t Size, const uint8_t void ST7565_BlitFullScreen(void) { - uint8_t Line; - uint8_t Column; + unsigned int Line; SPI_ToggleMasterMode(&SPI0->CR, false); @@ -72,6 +71,7 @@ void ST7565_BlitFullScreen(void) for (Line = 0; Line < 7; Line++) { + unsigned int Column; ST7565_SelectColumnAndLine(4, Line + 1); GPIO_SetBit(&GPIOB->DATA, GPIOB_PIN_ST7565_A0); for (Column = 0; Column < 128; Column++) diff --git a/firmware b/firmware index 380988ed8b23092cc1f5233bf4b5cd3a9cb5c2f7..8f81a49bf26dd9d8d06835c66c7bd4a8e81dc2a7 100644 GIT binary patch delta 15574 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 delta 16233 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 diff --git a/firmware.bin b/firmware.bin index 44a068c1b69f00612a134aee6a30d269fa43cce7..0b7228f906e7a054e101db31e784135d68913c54 100644 GIT binary patch delta 5081 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 diff --git a/firmware.packed.bin b/firmware.packed.bin index daed101aa45c7ad0086ed01deeb19298a84ec8e7..a43b82ff42c7e330b02a92ff913a45356ae283b4 100644 GIT binary patch delta 14502 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 delta 14683 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

VEbV#t+zaCLYS`Q#j$N;9i@GI}F0`&(-o~Hz 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