Commit Graph
6 Commits
Author SHA1 Message Date
Michael A. Cojocari 015a9cec4a mqtt: add connection status command 2026-08-30 15:05:09 -04:00
Kaj Schittecat 9ce77db0a7 docs(console mode): no em dashes in the audit table 2026-08-22 20:52:07 +02:00
Kaj SchittecatandClaude Opus 5 e26894fef1 docs(console mode): the full UI-to-console audit
Enumerated from the real thing: the tab list, the APPACT_* action enum, the 19
settings categories, and CommonCLI's own command table.

Headline finding: the node CLI already covers far more than expected (advert,
clock, gps, region, get/set, log, neighbors, ota, power, sensor, time, ver), so
the console needed far fewer new commands than the UI has screens.

Also records what the remaining gaps have in common: they are either Phase 4
(anything Lua), not console-shaped (Display/Keyboard/Lock screen are settings
for a UI that is not running), or the same list-and-act pattern (files, backups,
quick replies, contact actions) which is worth building once rather than six
times.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 20:51:35 +02:00
Kaj SchittecatandClaude Opus 5 cea21dc744 docs(console mode): drop the alternative nobody asked for; correct the PSRAM claim
The 'console or a lighter skin' open decision was me reopening a settled
question. Removed.

The PSRAM section credited the draw buffer as a major saving. It is not:
LV_DRAW_BUF_LINES is 24, so the buffer is 37.5 KB on the 800 px panels and
11.2 KB on the V4. The real saving is the object tree, which is what Phase 0
measures.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 16:35:25 +02:00
Kaj SchittecatandClaude Opus 5 40839880cb docs(console mode): both decisions, and the blit that makes the translator real
* Touch boards get a drawn on-screen keypad rather than requiring a hardware
  keyboard. The V4 is the board this feature exists for, so it has to be usable
  there. The console draws its own keys and reads touch straight from the board
  driver, which is already independent of LVGL (lvglTouchRead is only an
  adapter feeding it).

* wada.ui gets a console backend behind the same names. This is far more
  capable than 'no UI' implied: console mode still owns a real pixel panel, and
  writePixelsRGB565 already exists outside LVGL on four of the six display
  drivers. So canvas works (the app's buffer is already RGB565) and map works
  (tiles are already decoded RGB565, and the projection has no LVGL in it).
  What is actually lost is LVGL's interaction model, not its drawing: scroll
  containers, focus groups, flex layout. The backend reimplements a simpler
  version of those, which is the bounded real work.

LGFXDisplay and ST7796LCDDisplay need a writePixelsRGB565 wrapper over
LovyanGFX's pushImage; until then caps().canvas is false there and apps adapt.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 16:23:02 +02:00
Kaj SchittecatandClaude Opus 5 7ab0d69bc6 docs: plan for a console boot mode (no LVGL, text + commands)
Grounded in what is already there rather than a wish list: CommonCLI is the
command surface, runLocalCli + setTerminalSink already run one and capture its
output, DisplayDriver is a complete non-LVGL text renderer that is already
linked, and Remote mode is a working precedent for the panel being painted
without LVGL driving it.

Records one thing that changes how the feature should be described: LVGL's
object heap AND draw buffer are both PSRAM (LV_MEM_CUSTOM_ALLOC lvglPsramAlloc,
MALLOC_CAP_SPIRAM), so the saving is PSRAM and CPU rather than internal DRAM.
That is still the right answer for the V4, whose 2 MB of PSRAM is exactly what
map tiles and the extended SDK fight over.

Phase 0 is measurement, deliberately, so the numbers come before the promises.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-22 16:14:21 +02:00