mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-11-02 10:51:57 +00:00
Review follow-up: - The rows exist only where the build asks for them: Text size with EINK_FONT_SCALE, Icon size with STATUS_ICON_SCALE. The stock 2.13", the portrait builds and the L2 don't get them -- their screens are laid out for one cell size. The text override also applies in landscape only. - Stored in NodePrefs (ui_text_scale, ui_icon_scale) instead of a /ui_scale file, as rows in the schema's Display section: the usual row, save path and factory reset, and console keys display.text.size / display.icon.size. The hand-written Settings rows and the load/save code are gone; UITask::applyUiScale() applies the prefs at boot and on change (applyDisplayPrefs). On opt-in builds ui_text_scale starts at the build's EINK_FONT_SCALE (DataStore sanitize), so the row shows the scale in use. - EINK_FONT_SCALE, when set, now scales whichever landscape font the build picks (the 6x9, or the EINK_LARGE_FONT one); unset, it is stock as before. - setUiScale() skips the re-layout and full redraw when nothing changed. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
70 lines
2.6 KiB
INI
70 lines
2.6 KiB
INI
; Solo build for Seeed Wio Tracker L1 (Lite) + Good Display GDEQ0426T82
|
|
; 4.26" 800x480 e-ink, plugged into the board's 24-pin e-ink FPC connector.
|
|
; Build config only -- no source changes. Extends WioTrackerL1Eink
|
|
; (variants/wio-tracker-l1-eink/platformio.ini) for its source files and
|
|
; libraries, but carries its own full build_flags list, so the stock panel's
|
|
; -D EINK_DISPLAY_MODEL / DISPLAY_ROTATION never reach the compiler too.
|
|
;
|
|
; - EINK_DISPLAY_MODEL GxEPD2 driver for this panel (GxEPD2 1.6.2+)
|
|
; - DISPLAY_ROTATION 0: the panel's native landscape
|
|
; - RAM: the 800x480 framebuffer is 48 KB (the stock 2.13" needs ~4 KB),
|
|
; and UiCore plus every screen is allocated from the heap at startup --
|
|
; a failed allocation there crashes into a boot loop. So:
|
|
; OFFLINE_QUEUE_SIZE 32 (stock e-ink: 128) frees ~17 KB
|
|
; MAX_CONTACTS 250 (stock: 350) frees ~18 KB
|
|
; - EINK_FONT_SCALE 4: text at 4x the 6x9 font (24x36 cells, ~33 characters
|
|
; x 13 lines) -- twice the stock 2x. Also adds Settings > Display > Text
|
|
; size (1x-5x), which starts here.
|
|
; - STATUS_ICON_SCALE turns on scalable Home status/page icons and adds
|
|
; Settings > Display > Icon size (Auto = 1.5x the text: 6x at 4x text, 1x-8x).
|
|
;
|
|
; Build: pio run -e WioTrackerL1_GDEQ0426T82_companion_solo_dual
|
|
[env:WioTrackerL1_GDEQ0426T82_companion_solo_dual]
|
|
extends = WioTrackerL1Eink
|
|
build_unflags = -Ofast
|
|
build_flags = ${nrf52_base.build_flags}
|
|
${sensor_base.build_flags}
|
|
-I lib/nrf52/s140_nrf52_7.3.0_API/include
|
|
-I lib/nrf52/s140_nrf52_7.3.0_API/include/nrf52
|
|
-I variants/wio-tracker-l1
|
|
-I examples/companion_radio/ui-new
|
|
-I lib/GxEPD2-patch/src
|
|
-D WIO_TRACKER_L1
|
|
-D WIO_TRACKER_L1_EINK
|
|
-D USE_SX1262
|
|
-D RADIO_CLASS=CustomSX1262
|
|
-D WRAPPER_CLASS=CustomSX1262Wrapper
|
|
-D LORA_TX_POWER=22
|
|
-D SX126X_CURRENT_LIMIT=140
|
|
-D SX126X_RX_BOOSTED_GAIN=1
|
|
-D EINK_DISPLAY_MODEL=GxEPD2_426_GDEQ0426T82
|
|
-D DISPLAY_ROTATION=0
|
|
-D JOYSTICK_UPRIGHT_ROTATION=0
|
|
-D EINK_FONT_SCALE=4
|
|
-D STATUS_ICON_SCALE=0
|
|
-D GPS_BAUD_RATE=9600
|
|
-D ENV_PIN_SDA=PIN_WIRE1_SDA
|
|
-D ENV_PIN_SCL=PIN_WIRE1_SCL
|
|
-D DISABLE_DIAGNOSTIC_OUTPUT
|
|
-D AUTO_OFF_MILLIS=0
|
|
-D MAX_CONTACTS=250
|
|
-D MAX_GROUP_CHANNELS=40
|
|
-D OFFLINE_QUEUE_SIZE=32
|
|
-D DISPLAY_CLASS=GxEPDDisplay
|
|
-D BUTTON_USE_INTERRUPTS=1
|
|
-D UI_HAS_JOYSTICK=1
|
|
-D UI_HAS_JOYSTICK_UPDOWN=1
|
|
-D PIN_BUZZER=12
|
|
-D QSPIFLASH=1
|
|
-D FIRMWARE_SOLO_BUILD=1
|
|
-D MESHCORE_VERSION='"1.17.1"'
|
|
-D UI_SENSORS_PAGE=1
|
|
-D BLE_PIN_CODE=123456
|
|
-D DUAL_SERIAL=1
|
|
-D ENABLE_SCREENSHOT
|
|
-D KEEP_DISPLAY_ON_USB
|
|
-D EINK_FAST_WRITES=1
|
|
-D EINK_SPI_HZ=8000000
|
|
-Os
|
|
extra_scripts = post:create-uf2.py
|