Files
MeshCore-Solo/solo/wio-tracker-l1-eink/platformio.ini
T
JakubandClaude Opus 5.5 aed0a8a26b fix(solo): e-ink landscape build had no DISPLAY_ROTATION
build_unflags runs after build_flags, so unflagging the board's
-D DISPLAY_ROTATION=1 in [eink_solo] also removed the landscape env's
identical flag: the panel came up portrait (GxEPDDisplay's default 0) and
UITask::applyRotation's restore was compiled out, so the rotation setting
didn't stick. Only the portrait env unflags it now.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-06 09:35:46 +02:00

46 lines
2.1 KiB
INI

; Solo build for Seeed Wio Tracker L1 (E-ink) -- extends WioTrackerL1Eink,
; defined in variants/wio-tracker-l1-eink/platformio.ini. Solo configs live in
; their own top-level solo/ folder, separate from the shared upstream board
; variants in variants/, so this repo's Solo-specific additions don't get
; mixed in with configs other MeshCore forks/upstream also carry.
;
; Two builds, one per orientation: each screen is laid out for one shape, and
; Settings > Rotation only turns it upside down. Landscape writes in the 8x13
; font at the panel's own resolution (EINK_LARGE_FONT); portrait keeps the 6x9,
; whose narrow width wants the smaller cell. The joystick reads upright with the
; panel at rotation 1 (landscape) and turns with it (JOYSTICK_UPRIGHT_ROTATION).
;
; Both: Dual BLE+USB with added Solo.
[eink_solo]
extends = WioTrackerL1Eink
; Optimise for size, not speed: the nRF52 Arduino core defaults to -Ofast
; (≈ -O3 + -ffast-math), which bloats flash by ~200 KB on this feature-rich
; solo build. -Os keeps every feature, fits comfortably, and is actually safer
; for float (no fast-math reassociation). Speed is irrelevant for the UI/mesh.
; The offline queue (messages held for the phone app while it's away) at 128,
; not the board's 256: on the nRF52 the 256 x 177 B left ~5 KB of heap next to
; the on-device UI (which keeps its own history), too little for a sign buffer.
build_unflags = -Ofast -D OFFLINE_QUEUE_SIZE=256
build_flags = ${WioTrackerL1Eink.build_flags}
-D OFFLINE_QUEUE_SIZE=128
-D DUAL_SERIAL=1
-D ENABLE_SCREENSHOT
-D JOYSTICK_UPRIGHT_ROTATION=1
-Os
extra_scripts = post:create-uf2.py
[env:WioTrackerL1Eink_landscape_solo_dual]
extends = eink_solo
build_flags = ${eink_solo.build_flags}
-D DISPLAY_ROTATION=1
-D EINK_LARGE_FONT=1
; The board's own -D DISPLAY_ROTATION=1 is taken out only here: build_unflags
; runs after build_flags, so unflagging it in [eink_solo] also dropped the
; landscape env's identical flag (that build came up portrait).
[env:WioTrackerL1Eink_portrait_solo_dual]
extends = eink_solo
build_unflags = ${eink_solo.build_unflags} -D DISPLAY_ROTATION=1
build_flags = ${eink_solo.build_flags}
-D DISPLAY_ROTATION=0