Adds the portable merge-bin.py post-script (app-bin -> out/ + a 'mergebin' custom
target) and enables it in both touch envs. Each board now produces firmware.bin
(app/OTA slot) and firmware-merged.bin (full install @ 0x0) — the two artifacts a
release ships. Verified: V4 merged 2.66 MB, T-Deck merged 2.88 MB.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
The earlier rename/minimize edits matched only the V4 env's formatting and
silently skipped the T-Deck env, leaving it on MeshCore.git#v1.16.0-wada.0 (old
name, pre-minimize tag whose fork still carried the 26 relocated files — a
duplicate-symbol hazard). Both envs now pin meshcomod-core@v1.16.0-wada.1;
T-Deck clean-rebuilds green + size-identical against it.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
The core fork was renamed to ALLFATHER-BV/meshcomod-core to make its lineage
explicit — it carries meshcomod's full core (protocol superset + Wi-Fi/BLE/UI
hooks), packaged as a library. Both envs now pin meshcomod-core @ v1.16.0-wada.1.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
Take ownership of the 26 files moved out of the core during the fork-minimize:
touch HW drivers (helpers/input/*), touch prefs/SD helpers + companion transport
servers + HTTP-OTA helpers (helpers/esp32/*, helpers/*Ota*.h), LVGL PSRAM
allocator, and touch diag. Three transport headers switched to lib-style
<helpers/...> includes for the new layout. platformio.ini builds them
(helpers/** filters + -I src) and pins MeshCore @ v1.16.0-wada.1 (the slimmed
fork). Both boards build green + size-identical from the published tag.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
- WADAMESH_SPLIT_PLAN.md: status planning -> executed (both boards green from the
published fork; T-Deck flash-verified on hardware); record what's done + the
remaining non-blocking phases (minimize fork, re-home release pipeline).
- README: drop the "early scaffold" note; add Architecture (core via lib_deps,
not vendored) + Build/flash instructions for both envs.
- NOTICE: add the bundled/vendored deps (ed25519, AsyncElegantOTA, TFT_eSPI,
Adafruit GFX/ST7789, chsc6x).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
Second board. Flattened env LilyGo_TDeck_companion_radio_touch (GT911 touch +
matrix keyboard + trackball, ST7789 via Adafruit, sensors off except GPS),
building green against MeshCore@v1.16.0-wada.0. Output byte-identical to the
in-tree meshcomod T-Deck build (delta = build-path strings).
Both touch boards now build from the published fork via lib_deps.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
First board lands. wadamesh builds the LVGL touch firmware as its own project,
consuming the MeshCore core via lib_deps @ git tag (ALLFATHER-BV/MeshCore
#v1.16.0-wada.0) — no vendored core in this repo. Output is byte-identical to the
in-tree meshcomod build (delta = embedded build-path strings only).
Contents: companion_radio app (MyMesh/main/DataStore), ui-touch LVGL UI,
variants/heltec_v4 board glue, boards/heltec_v4.json, lv_conf, the bundled
ed25519 lib, AsyncElegantOTA, partition table, and a flattened platformio.ini
for env heltec_v4_tft_companion_radio_usb_tcp_touch.
MeshCore-derived files (app glue) remain MIT; ui-touch is GPL — see NOTICE.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
The lean, no-refactor plan: GPL app (wadamesh) on a minimal/upstreamable MIT
MeshCore fork via lib_deps@tag. Records the boundary, the file-level mapping of
the ~4.2k-line core diff (keep-in-fork / move-to-wadamesh / evaluate), the
one-topic-per-commit sequence behind a build gate, and the risks. No firmware
code moved yet.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
Adopt copyleft for the touch UI so distributed builds and forks must stay open
(the Meshtastic model — concentrates community effort instead of fragmenting into
closed forks), per the project direction.
- LICENSE: MIT -> full GPL-3.0 text
- NOTICE: third-party attributions; preserves MeshCore's MIT notice (MIT is
GPL-compatible). The MeshCore *fork* wadamesh builds against stays MIT so its
Wi-Fi/BLE hooks remain upstreamable.
- CONTRIBUTING.md: inbound=outbound GPL, DCO sign-off, SPDX headers, one-topic
PRs, prefer libraries, don't regress shipping boards.
- README: license + contributing sections.
GPL-3.0 (not v2) chosen for firmware: anti-tivoization keeps it user-installable,
and it's the only GPL compatible with Apache-2.0 deps (NimBLE).
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: Kaj Schittecat <kaj@schittecat.com>
Security baseline from commit #1: .gitignore excludes CLAUDE.md and .claude/
(ops/infra notes + agent config) so they can never be committed. The touch
firmware source lands here incrementally as the split from meshcomod proceeds.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>