Commit 9a4918a4 by PLN (Algolia)

perf(rig): all analogue controls onto our OLED overlay by default

The firmware's per-control value row never shows driver-integrated values
for relative encoders (stuck at 0 — probe H5 unresolved); PLN chose one
coherent fast overlay over 29 firmware-drawn fictions. Overlay-only mode
(promoted from --oled-overlay fallback to default) draws every knob on the
global 0x36 target with bring-up-after-write; --oled-native restores the
old firmware-drawn mode.
parent 8f00e29e
......@@ -1966,11 +1966,19 @@ def main(argv: list[str] | None = None) -> int:
help="print the per-control label table for --track and exit. "
"No port is opened — this is the offline dry run for the "
"one thing about a screen we cannot verify ourselves.")
p.add_argument("--oled-overlay", action="store_true",
help="FALLBACK: suppress the firmware's per-control value "
"display everywhere (config bits 5+6 clear) and draw our "
"own 3-field overlay for every control, uncontested. Use "
"if the per-control name field turns out not to render.")
# 2026-09-22 owner decision (PLN): overlay-only is now the DEFAULT. The
# firmware's per-control value row never shows the driver-integrated value
# for relative encoders (stuck at 0 — probe H5, unresolved), so a
# firmware-drawn display is a value fiction. One coherent fast overlay for
# ALL analogue controls instead: same bring-up-after-write speed, lower
# cognitive load. --oled-native opts back OUT to the old firmware-drawn
# mode (it was --oled-overlay before the flip; same code path underneath).
p.add_argument("--oled-native", action="store_true",
help="restore the OLD default: let the firmware draw its own "
"per-control value display for the controls it can, our "
"overlay only for DJF + tempo. Wrong for relative "
"encoders (firmware shows a stuck 0, not our integrated "
"value) — kept for the eye test, not for a gig.")
p.add_argument("--oled-native-all", action="store_true",
help="let the firmware draw the DJF knobs too. Loses the "
"'HPF 3.4kHz !!' readout for a bare 0-127 — for the eye "
......@@ -1978,6 +1986,10 @@ def main(argv: list[str] | None = None) -> int:
p.add_argument("--stay", action="store_true", help="leave DAW mode on at exit")
p.add_argument("--reconcile-secs", type=float, default=5.0)
args = p.parse_args(argv)
# Overlay-only is the default (2026-09-22 owner decision); --oled-native
# is the opt-OUT. The rest of the file keeps reading args.oled_overlay so
# every call site stays honest with a single flip here.
args.oled_overlay = not args.oled_native
if args.graph:
ports = _sc_input_ports()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment