; 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 for the 2.13" panel, 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). A third for a 4.2" 400x300 panel on the ; same wiring, in the 9x15. ; ; All: 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 ; A 4.2" 400x300 panel (Good Display GDEY042T81, SSD1683 -- the 2.13"'s ; SSD1680's bigger sibling) in place of the 2.13", on the same wiring. Its ; native orientation is landscape (rotation 0); text in the 9x15. [env:WioTrackerL1Eink42_solo_dual] extends = eink_solo build_unflags = ${eink_solo.build_unflags} -D EINK_DISPLAY_MODEL=GxEPD2_213_B74 -D DISPLAY_ROTATION=1 -D JOYSTICK_UPRIGHT_ROTATION=1 build_flags = ${eink_solo.build_flags} -D EINK_DISPLAY_MODEL=GxEPD2_420_GDEY042T81 -D DISPLAY_ROTATION=0 -D JOYSTICK_UPRIGHT_ROTATION=0 -D EINK_LARGE_FONT=2