A uConsole is recognised by four marks, not one

Naming the AIO rested on the uConsole's panel alone. It now takes every
mark, from two independent sources: ClockworkPi's uConsole overlay
describing the hardware in the device tree -- the cwu50 screen, the
AXP228 power chip, the OCP8178 backlight -- and the hardware answering
for itself on USB, the built-in keyboard (1eaf:0024, made by
ClockworkPI, named uConsole; the ids alone are any LeafLabs Maple). An
overlay on the wrong machine has no uConsole keyboard, and the keyboard
on another machine has no uConsole overlay. Any one missing, and the
radio is listed unnamed on the AIO's wiring, as before.

`BuiltinRadio.compatible` gives way to `board`, a test only its machine
passes (`is_uconsole`).

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Jean-Pierre MartineauandClaude Opus 5.5 committed 2026-10-06 00:54:13 -04:00
1 parent afc906cf2f
commit 5d2c1908e8
3 files changed
+125 -29

No files matched your search

+5 -3
View File
@@ -186,12 +186,14 @@ meshterm --spi
`--spi` finds the AIO's radio at `/dev/spidev1.0` and starts a node on it. The startup
device picker also lists it — a row reading **uConsole AIO (/dev/spidev1.0)** with a 📍
icon — whenever that device node exists, so `meshterm` with no flags gets you there too.
MeshTerm knows it's on a uConsole from the uConsole's own screen, which ClockworkPi's
uConsole overlay declares. Without that overlay, the row reads **SPI radio** instead.
MeshTerm only calls it that once four things all say it's on a uConsole: the uConsole's
screen, power chip, and backlight as ClockworkPi's uConsole overlay declares them, and the
uConsole's own keyboard on USB. If any one is missing, the row reads **SPI radio** instead.
You're connected when **Device info** or the dashboard shows a node name instead of a
connection error. MeshTerm reports the device model as **uConsole AIO** (or **MeshTerm SPI
node** without the overlay), and the header's connection label reads **SPI**.
node** where it isn't sure it's on a uConsole), and the header's connection label reads
**SPI**.
**What happens underneath.** MeshTerm starts the node when it connects and ends it when
you disconnect or quit — including a crash: the node exits with MeshTerm, and the kernel