diff --git a/README.md b/README.md index 55a5b5d..de9988d 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,16 @@ -# Track Session Timer - v4.3.0 +# Track Session Timer - v4.4.0 Trackday or race session timer. # Change log +## Version 4.4 +### v4.4.0 [current] +* Moved the device payload into `firmware/` and added a layout-aware deployment tool so the repository stays organized while MicroPython still receives a flat filesystem. +* Added a persistent average lap-time setting with separate minute and second editing. +* Added a conditional Lower Display setting that can replace the running track-session count-up line with an approximate laps-remaining value. +* Expanded hardware-independent regression coverage to 207 tests. + ## Version 4.3 -### v4.3.0 [current] +### v4.3.0 * Added an interactive post-track review with a high-visibility page for actual duration, overrun, completion reason, total maximum G, and each directional acceleration/braking/left/right peak. * Added left/right review navigation and prevented cool-down from starting until every result page has been reached and the final page is advanced. * Kept summary data in bounded RAM only; no session history is written to flash in this increment. @@ -13,10 +20,7 @@ Trackday or race session timer. * Kept Auto-Dim disabled by default and preserved normal brightness if motion sensing is disabled or unavailable. * Moved the Ready-screen dim level into `params.json` as the validated `AUTO_DIM_PERCENT` system setting, defaulting to 25%. * Added a hardware Bill of Materials identifying the cased Waveshare RP2040-Touch-LCD-1.28-B reference variant. -* Moved the device payload into `firmware/` and added a layout-aware deployment tool so the repository stays organized while MicroPython still receives a flat filesystem. -* Added a persistent average lap-time setting with separate minute and second editing for future lap features. -* Added a conditional Lower Display setting that can replace the running track-session count-up line with an approximate laps-remaining value. -* Expanded hardware-independent regression coverage to 207 tests. +* Expanded hardware-independent regression coverage to 186 tests. ## Version 4.2 ### v4.2.0 @@ -228,7 +232,7 @@ On a fresh or intentionally reset device, add `--include-user` to install the ex ### 4. Verify first boot -The display should show the Caterham v4.3.0 splash, the hardware-information splash with **Firmware v4.3.0**, and then the green **Ready** screen. The serial console should report the loaded user parameters, `Success:Detected CST816T.`, and the touchscreen revision without a traceback. +The display should show the Caterham v4.4.0 splash, the hardware-information splash with **Firmware v4.4.0**, and then the green **Ready** screen. The serial console should report the loaded user parameters, `Success:Detected CST816T.`, and the touchscreen revision without a traceback. If first boot fails: @@ -247,7 +251,7 @@ The QMI8658 IMU is optional unless a non-zero Launch Mode sensitivity, G Mode, A ## Configuration files -Version 4.3.0 uses two separate configuration scopes: +Version 4.4.0 uses two separate configuration scopes: * `firmware/params.json` is the repository source for system-owned choices and display behavior: `DURATION_VALUES`, `LAUNCH_SENSE_VALUES`, `VERSION`, `DISPLAY_DELAY_REST`, `DISPLAY_DELAY_REST_COLOUR`, `STARTUP_SPLASH_DURATION_SEC`, `HARDWARE_SPLASH_DURATION_SEC`, `MODE_MENU_HOLD_SEC`, and `AUTO_DIM_PERCENT` (an integer from 1 to 100, default 25). * `firmware/user.json` is the optional fresh-install example. The device-root `user.json` contains the current selections: `RACE_LENGTH` (track-session minutes), `REST_LENGTH` (pit-rest minutes), `SENSITIVITY` (launch threshold; `0` disables Launch Mode), `OPERATING_MODE` (`timer` or `g`), `BRIGHTNESS_PERCENT`, `DISPLAY_ROTATION_DEG` (`auto` or the fixed clockwise device mounting angle `0`, `90`, `180`, or `270`), `AUTO_DIM_ENABLED` (`true` or `false`), `AVG_LAP_TIME_SECONDS` (integer `0` to `3599`; `0` means not configured), and `TRACK_LOWER_DISPLAY` (`elapsed` or `laps_remaining`; laps require a non-zero average). diff --git a/docs/USER_GUIDE.md b/docs/USER_GUIDE.md index 6fa5452..e03b3cd 100644 --- a/docs/USER_GUIDE.md +++ b/docs/USER_GUIDE.md @@ -1,4 +1,4 @@ -# User Guide - v4.3.0 +# User Guide - v4.4.0 ## General / Sessions Use The following describes general operation of both the ``Track Session`` and ``Rest in Pits Session`` timer. diff --git a/firmware/params.json b/firmware/params.json index 2aa5683..37fec82 100644 --- a/firmware/params.json +++ b/firmware/params.json @@ -2,7 +2,7 @@ "DURATION_VALUES": [1, 5, 10, 15, 20, 25, 30, 40, 50, 60], "DISPLAY_DELAY_REST": 5, "LAUNCH_SENSE_VALUES": [0, 0.5, 1, 1.25, 1.5, 1.75, 2, 2.5, 3.5, 4], - "VERSION": "4.3.0", + "VERSION": "4.4.0", "DISPLAY_DELAY_REST_COLOUR": "blue", "STARTUP_SPLASH_DURATION_SEC": 2, "HARDWARE_SPLASH_DURATION_SEC": 2, diff --git a/firmware/settings.py b/firmware/settings.py index d66bfb4..71e3db3 100644 --- a/firmware/settings.py +++ b/firmware/settings.py @@ -12,7 +12,7 @@ "DURATION_VALUES": [1, 5, 10, 15, 20, 25, 30, 40, 50, 60], "DISPLAY_DELAY_REST": 5, "LAUNCH_SENSE_VALUES": [0, 0.5, 1, 1.25, 1.5, 1.75, 2, 2.5, 3.5, 4], - "VERSION": "4.3.0", + "VERSION": "4.4.0", "DISPLAY_DELAY_REST_COLOUR": "blue", "STARTUP_SPLASH_DURATION_SEC": 2, "HARDWARE_SPLASH_DURATION_SEC": 2, diff --git a/tests/test_release_version.py b/tests/test_release_version.py index 554968f..9ebba58 100644 --- a/tests/test_release_version.py +++ b/tests/test_release_version.py @@ -6,7 +6,7 @@ from settings import DEFAULT_SYSTEM_PARAMS -RELEASE_VERSION = "4.3.0" +RELEASE_VERSION = "4.4.0" REPOSITORY_ROOT = Path(__file__).resolve().parents[1]