Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
b73934d
Add $PMTXTS per-PPS host timestamping (opt-in)
peterlewis Jul 4, 2026
5ba7320
SOF-correlation timestamping: latch (USB frame, DWT) for sub-ms PPS o…
peterlewis Jul 7, 2026
1fdbf33
SOF timestamping: audit fixes — valid-gated tail, latch only when pps=on
peterlewis Jul 7, 2026
4d62738
Add astro pack: sun / moon / Maidenhead / lat-lon display modes
peterlewis Jun 30, 2026
e1eeeb8
astro: give LAT/LON a sign slot so negatives keep the label gap
peterlewis Jul 5, 2026
02c9823
astro: configurable per-screen page dwell (page_ms, default 5500 ms)
peterlewis Jul 5, 2026
54d560e
Harden firmware: bounds + ISR-safety fixes from broad audit
peterlewis Jun 30, 2026
aff121d
Fix charger-only-power CDC hard-fault and date-board CMD_LOAD_TEXT OOB
peterlewis Jul 4, 2026
f4d2b58
Add sidereal (LST) and apparent-solar time-row modes
peterlewis Jul 5, 2026
963bc61
sidereal: rename config key alt_colon_mode -> colon_alt_mode
peterlewis Jul 12, 2026
c9b69bb
astro: subsolar-point helper (sun_subsolar) + shared-series comments
peterlewis Jul 7, 2026
55b9034
Add self-learning holdover temperature compensation
peterlewis Jul 5, 2026
0722412
Holdover significance-fade + persistent, evolving warm-start temp model
peterlewis Jul 6, 2026
41f9d87
Fix significance_fade boot flash: digit_bright defaults to 0 (dashed)…
peterlewis Jul 7, 2026
f29226d
significance_fade: compute per-digit dash thresholds (duty-mirror wir…
peterlewis Jul 10, 2026
60ba87d
tempcomp: MODE_TEMPCOMP pages on page_ms + final enum position
peterlewis Jul 12, 2026
3e9e6aa
seg_balance: equalise per-segment brightness by duty (config-gated, d…
peterlewis Jul 10, 2026
b13e419
seg_balance: power-law overdrive (101..300) — linear duty can't out-s…
peterlewis Jul 10, 2026
1a5ca40
seg_balance_bright: track the rail — dim and full-brightness strength…
peterlewis Jul 10, 2026
7d0ec74
seg_balance: date-board port + duty-table forwarding + adaptive dithe…
peterlewis Jul 10, 2026
0ee8aab
seg_balance = on: the calibrated auto curve — one key, correct at eve…
peterlewis Jul 10, 2026
fbc15e3
date board: restore version 0.0.2 — version trains are not the featur…
peterlewis Jul 10, 2026
00be4f3
Brightness: exponential seg_balance AUTO curve + colon_balance (dim c…
peterlewis Jul 11, 2026
333fb80
seg_balance/colon_balance: anchor the exponential AUTO curve at 4095,…
peterlewis Jul 11, 2026
076d8c3
emu: bake the measured brightness curve as the compiled-in default
peterlewis Jul 12, 2026
3c492eb
colon_balance: 2-anchor AUTO colon curve baked from HW sweep
peterlewis Jul 12, 2026
8645d94
seg_balance: gradual significance-fade via the duty mirror
peterlewis Jul 12, 2026
e7a3727
ADEV: free-running Allan-deviation engine (RAM2 ring + overlapping ADEV)
peterlewis Jul 11, 2026
c1fb1b1
ADEV: MODE_ADEV date-row display + $PMADEV serial dump
peterlewis Jul 11, 2026
8683030
adev: review fix bundle — overflow UB, gap honesty, missed-second tol…
peterlewis Jul 12, 2026
42e75b0
adev: self-describing $PMADEV (epoch+tau0) + $PMHDEV Hadamard dump
peterlewis Jul 12, 2026
32759f5
adev: document MODE_ADEV in the golden config
peterlewis Jul 12, 2026
df1beb2
Star transit: bright-star meridian-transit predictor (MODE_STAR + $PM…
peterlewis Jul 11, 2026
94d82e4
star §6: transit countdown as bare M SS / Hh MM values (drop the dash)
peterlewis Jul 11, 2026
9bf827b
star catalogue: generate-stars.py -> stars.bin (HYG v4, famous ~90)
peterlewis Jul 11, 2026
9dabb12
star: load the transit catalogue from SD /STARS.BIN (fallback to bake…
peterlewis Jul 12, 2026
3b05b28
star: harden loadStars vs untrusted card data (adversarial review fixes)
peterlewis Jul 12, 2026
423f8d4
star: review fix bundle — rigorous precession + proper motion, 4-char…
peterlewis Jul 12, 2026
91f0ca0
star: transit NOW tell + N/S direction + refraction band + curated ca…
peterlewis Jul 12, 2026
5fd6dd0
star: MODE_STAR requires STARS.BIN — remove the baked fallback
peterlewis Jul 12, 2026
d201d1b
star: document MODE_STAR in the golden config
peterlewis Jul 12, 2026
8d81248
Menu: on-device 2-button menu — receiving FSM + live editor (no persi…
peterlewis Jul 11, 2026
41d4a52
Menu: persistence — firmware-owned emulated-EEPROM + config.txt prece…
peterlewis Jul 11, 2026
76bcde9
Menu: date board emits the rolling chord protocol (companion to the m…
peterlewis Jul 11, 2026
673b5a3
rollup: version 0.0.5 — upstream's latest release is 0.0.4
peterlewis Jul 7, 2026
f44ac42
rollup: version 0.0.6 — the next-release candidate (PRs #5–#9)
peterlewis Jul 7, 2026
1598543
rollup: rebuild fwd.bin (date board) from this tree, CRC-gated
peterlewis Jul 7, 2026
c22c373
rollup: date board -> 0.0.2; refresh both release images
peterlewis Jul 7, 2026
29628df
golden config + refreshed release images (menu + ADEV + star)
peterlewis Jul 11, 2026
605392b
Menu: "menu_reset = on" — factory-reset the on-device menu store
peterlewis Jul 11, 2026
6c00a92
emu: auto-persist learned tempcomp model to flash retained memory
peterlewis Jul 12, 2026
f3b3c29
emu: fix menu/tempcomp flash commit never firing on a GPS-locked cloc…
peterlewis Jul 12, 2026
5f7ecb2
emu: fix menu/tempcomp flash commit never firing on a GPS-locked cloc…
peterlewis Jul 12, 2026
7bfe1ef
menu v2 §0+§3a: linchpin widenings + PAGE MS effective-value fix
peterlewis Jul 11, 2026
a42a150
menu v2 §1: section model — MItem.section + SEC_* + tag all rows
peterlewis Jul 11, 2026
c0c2429
menu v2 §2: sectioned FSM — insert the SECTION layer (the endless rin…
peterlewis Jul 11, 2026
0db3979
menu v2 §3b+§3c: hold-acceleration + large-value ring render
peterlewis Jul 11, 2026
7f5a9b6
menu v2 §4: MATRIX display-frequency as a live SYS menu item
peterlewis Jul 11, 2026
a4bf0b8
menu v2: real TEMPCOMP enable toggle (DIAG) + rename display mode to …
peterlewis Jul 11, 2026
a00c6e0
menu v2: single BALANCE toggle arms seg+colon AUTO
peterlewis Jul 12, 2026
153c21d
menu v2 §3.5: live colon context-preview while editing COLON/ALTCOLON
peterlewis Jul 11, 2026
7592635
menu v2 §5: COLONALT menu label
peterlewis Jul 12, 2026
438f002
version: per-build id so same-day 0.0.5 reflashes are always detected
peterlewis Jul 11, 2026
a8d5ab7
menu v2: fix 3 issues from the adversarial flash-safety review
peterlewis Jul 11, 2026
99fd63f
date board: per-build id (match the time board) so fwd.bin always ref…
peterlewis Jul 11, 2026
0f936f3
menu v2: ENTER lands on the first item — drop the confusing section b…
peterlewis Jul 11, 2026
d163b2f
menu v2: MATRIX shows clean kHz (drop unrenderable KHZ glyphs)
peterlewis Jul 11, 2026
a103762
date board: forgiving two-button chord (tolerate ~100ms stagger, taps…
peterlewis Jul 12, 2026
0686f53
menu v2: one-press toggle persists immediately (no separate SAVE)
peterlewis Jul 12, 2026
032b042
menu v2: split reboot from factory reset — SYS>RESET item + REBOOT chord
peterlewis Jul 12, 2026
fe824f6
menu v2: toggles are an enter/toggle/exit editor that saves on exit
peterlewis Jul 12, 2026
c1202a5
menu: "menu_dump = on" serial diagnostic — is the store flash-backed …
peterlewis Jul 12, 2026
4801b2a
settings: QSPI SETTINGS.BIN store — persistence on 256K silicon (Desi…
peterlewis Jul 12, 2026
35cec9a
menu v2: review fix bundle — 6 FSM bugs + legibility/ergonomics refin…
peterlewis Jul 12, 2026
62b84c6
menu: read-only INFO rows (PPS lock / catalogue count) + factory-rese…
peterlewis Jul 12, 2026
04871c1
menu v2 §7A: editor blink + idle warning + VBAT row (display refineme…
peterlewis Jul 12, 2026
a772a2b
qspi: repackage fwt.bin (0.0.5+1783851034, §7A build)
peterlewis Jul 12, 2026
420e8c7
menu: factory reset forgets the learned tempcomp model (+ golden-conf…
peterlewis Jul 12, 2026
c0c97bf
qspi: repackage fwt.bin (no-fallback + factory-forget build)
peterlewis Jul 12, 2026
82d8a23
docs: firmware-additions.md — the complete manual for the PR series
peterlewis Jul 12, 2026
153051c
menu: TEMPCOMP toggle arms the WHOLE compensator — learn + apply + pe…
peterlewis Jul 12, 2026
575f7a9
qspi: repackage fwt.bin (TEMPCOMP-trio build)
peterlewis Jul 12, 2026
32f46a7
audit polish: docs/config/comment accuracy + drop the IDE env-hash fr…
peterlewis Jul 12, 2026
bc2646d
qspi: repackage fwt.bin (audit-polish build)
peterlewis Jul 12, 2026
6df5302
Integration delta: align the PR union to the validated rollup tree
peterlewis Jul 12, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
637 changes: 637 additions & 0 deletions docs/firmware-additions.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions mk4-date/.cproject
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.292927325" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug" prebuildStep="rm -f Core/Src/version.o">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.debug" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.292927325" name="Debug" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug" prebuildStep="sh ../gen-build-id.sh">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.debug.292927325." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug.1904405800" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.debug">
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.965692103" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
Expand Down Expand Up @@ -105,7 +105,7 @@
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1861611880" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release" prebuildStep="rm -f Core/Src/version.o">
<configuration artifactExtension="elf" artifactName="${ProjName}" buildArtefactType="org.eclipse.cdt.build.core.buildArtefactType.exe" buildProperties="org.eclipse.cdt.build.core.buildArtefactType=org.eclipse.cdt.build.core.buildArtefactType.exe,org.eclipse.cdt.build.core.buildType=org.eclipse.cdt.build.core.buildType.release" cleanCommand="rm -rf" description="" id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1861611880" name="Release" parent="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release" prebuildStep="sh ../gen-build-id.sh">
<folderInfo id="com.st.stm32cube.ide.mcu.gnu.managedbuild.config.exe.release.1861611880." name="/" resourcePath="">
<toolChain id="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release.324364592" name="MCU ARM GCC" superClass="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.exe.release">
<option id="com.st.stm32cube.ide.mcu.option.internal.toolchain.type.564069394" name="Internal Toolchain Type" superClass="com.st.stm32cube.ide.mcu.option.internal.toolchain.type" useByScannerDiscovery="false" value="com.st.stm32cube.ide.mcu.gnu.managedbuild.toolchain.base.gnu-tools-for-stm32" valueType="string"/>
Expand Down
3 changes: 3 additions & 0 deletions mk4-date/.gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
Debug/*
Release/*
*.launch

# Generated per-build id (gen-build-id.sh)
Core/Src/build_id.h
Loading