# Lappy v0.0.4

This release simplifies the test set and improves readability on the 640×172 panel. It adds a manually set calendar and Lappy battery-rail sensing. Both V1/V2 images compile; physical hardware remains untested.

## Drag

Exactly seven detectors run in either display-unit setting: 0–100, 60–160, 100–200 and 200–300 km/h, standing quarter mile, standing half mile, and 100–0 km/h braking. The five MPH detectors and their result/selector bank are removed. Swipe Live → KM/H Results → Distance/Braking Results → Details. The last bank has three cards. Result PB text is enlarged to 20 px.

Armed means the engine waits for each test's qualifying start and then measures it. Disarmed means it cannot begin a new attempt; disarming during an active attempt cancels that attempt. All runs use non-rollout timing. Arming is not a rollout choice, and there is no rollout setting.

The Live bottom instruction line and Results footer are removed. Fault reasons appear at readable size in the main timer area. The Details rollout field is replaced with the manually set start date. Retained PBs migrate from the old twelve-preset storage layout to the seven-test layout; old MPH PBs are not reused for another test. New result JSON uses schema 2; the inspector still reads schema 1.

## Street and settings

GPS/detail coordinates display five decimal places; iTOW displays seconds with three decimal places. Raw GPS precision and the engine's millisecond receiver epochs remain intact. Current Time replaces UTC Synced. It uses the user-set calendar, including while GPS is disconnected. An unset clock says Set time.

Settings → Time & Date has manual date/time editors, SAVE/CANCEL and a 12/24-hour display option. Time entry uses 24 hours. There is no UTC synchronization, timezone or network time. The board RTC stores the manual calendar and restores it only after the user has configured it and its oscillator/calendar remain valid. A lost/invalid RTC requires a new manual setting. Calendar edits never alter Drag elapsed times. Brightness and Rotate 180° are grouped under Display.

The current implementation roadmap and design handoff remove distance-window Street averages and the Averages page. Altitude and accuracy remain metric in either display-unit setting. English remains the only language.

## Lappy power

The header battery symbol and voltage now refer to Lappy. The provisional Dragy percentage is in Diagnostics. Firmware averages calibrated BAT_ADC readings; invalid readings are shown as unknown, and low voltage is highlighted. Voltage is not a calibrated charge percentage.

The examined stock schematic has no processor-readable USB-presence signal. Hardware therefore shows USB? alongside voltage; actual USB/battery source switching and charging state are unavailable. The simulator has explicit USB, battery, low-battery and unknown fixtures. Automatic USB-loss save/off remains disabled. See CLOCK_POWER.md for wiring, RTC behavior and bench checks.

## Validation and files

All seven Drag tests pass analytic profiles at 5/10/25 Hz. Seven encoded/fragmented GPS scenarios produce 25 healthy-result/fault checks. Manual clock/date/RTC-format tests, PB migration, nine capture/flash Python tests, native LVGL interactions and 54 rendered UI states pass. Native manual time entry, 12-hour display and computed result pages were inspected. Both board builds pass image/partition checks.

Use `Launch Lappy Simulator.command` or the app under `releases/simulator/`. The firmware archive is `releases/Lappy-v0.0.4.zip`; binaries are under `releases/0.0.4/v1` and `v2`. The updated UI handoff is `releases/Lappy-UI-Design-Handoff-v0.0.4.zip`. Previous firmware archives remain unchanged. Track remains a preview.
