feat(wio-tracker-l2): board layer + ui-new bring-up env

Seeed Wio Tracker L2 (ESP32-S3R8 16MB/8MB PSRAM, SX1262, NV3031B 320x240
QSPI LCD + GT911 touch + LP5814 backlight, TCA9535 expander gating every
rail, ADS1115 battery ADC, AW35615 USB-C, L76K GNSS).

Board layer ported from meshcore-dev/MeshCore PR #3381 (Hacuchino-hash),
kept at the same paths for an easy upstream merge. Differences:
- display: dropped the UIColor theme (not adopted in this fork)
- GpsTap diagnostics wrapper omitted; GNSS reads Serial1 directly
- nv3031b ODR fix dropped: LovyanGFX >= 1.2.30 (now pinned) defines
  Panel_NV3031B::init_cmds itself -- the fix became a duplicate symbol
- MESH_DEBUG_PRINTLN with a non-literal format fixed (broke MESH_DEBUG builds)
- upload_speed 115200: baud is virtual on native USB; skips the switch

solo/wio-tracker-l2 adds Wio_Tracker_L2_companion_solo_bringup: ui-new
zoomed 2x, BOOT button only, no touch -- a hardware smoke test, not a
release target (deliberately not *_solo_dual, so CI doesn't publish it).
The real UI for this board will be a new LVGL frontend.

Verified on hardware: boot, display, radio, GPS, battery, BLE app link.
First boot takes tens of seconds while SPIFFS formats its 3.4 MB partition.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
Jakub
2026-09-24 21:53:18 +02:00
co-authored by Claude Opus 5.5
parent 1620df6c10
commit 221c33ec5f
8 changed files with 729 additions and 0 deletions
+37
View File
@@ -0,0 +1,37 @@
; Solo build for Seeed Wio Tracker L2 -- extends the board base defined in
; variants/wio-tracker-l2/platformio.ini. Solo configs live in their own
; top-level solo/ folder, separate from the shared upstream board variants.
;
; BRING-UP ONLY: this env runs the existing ui-new (OLED-era, joystick-driven)
; UI zoomed 2x (160x120 logical on the 320x240 panel) purely to compile-test
; and smoke-test the board layer -- display, radio, GPS, battery. It has no
; touch input yet; the only control is the BOOT button. The real interface for
; this board is the planned LVGL frontend over a shared UI Core.
;
; Deliberately NOT named *_solo_dual yet, so build-solo-firmwares.yml doesn't
; publish it as a release artifact.
[env:Wio_Tracker_L2_companion_solo_bringup]
extends = Wio_Tracker_L2
build_flags =
${Wio_Tracker_L2.build_flags}
-I examples/companion_radio/ui-new
-D DISPLAY_CLASS=WioTrackerL2Display
-D UI_ZOOM=2
-D MAX_CONTACTS=350
-D MAX_GROUP_CHANNELS=40
-D BLE_PIN_CODE=123456
-D DUAL_SERIAL=1
-D OFFLINE_QUEUE_SIZE=256
-D FIRMWARE_SOLO_BUILD=1
-D MESHCORE_VERSION='"1.17.1"'
-D OLED_MISC_FIXED_FONT=1
-D AUTO_OFF_MILLIS=60000
build_src_filter = ${Wio_Tracker_L2.build_src_filter}
+<helpers/esp32/*.cpp>
+<helpers/ui/LGFXDisplay.cpp>
+<helpers/ui/MomentaryButton.cpp>
+<../examples/companion_radio/*.cpp>
+<../examples/companion_radio/ui-new/*.cpp>
lib_deps =
${Wio_Tracker_L2.lib_deps}
densaugeo/base64 @ ~1.4.0