Files
JakubandClaude Opus 5.5 e154a4e721 feat(l2): Gallery app (screenshots as thumbnails, full view with swipe and delete, the saved trails), the clock from NTP while WiFi is up (the router's server from DHCP first), tabs switch on release, Home apps out of Settings
- Gallery: thumbnails 30 to a page, built only while the screen is still (a decode held the loop and a scroll read as a tap)
- segmented(): CLICK_TRIG, so a swipe starting on a screen's tabs doesn't switch them
- Settings > Device > Home apps removed (hold an app on Home instead)
- platformio.ini: a note that the L2 has no microphone on GPIO15 (verified on hardware)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-29 15:39:56 +01:00

90 lines
3.2 KiB
INI

; Seeed Wio Tracker L2 - Wio-S3 module: ESP32-S3R8 + SX1262
; Board layer ported from meshcore-dev/MeshCore PR #3381 (Hacuchino-hash), whose
; pin map was derived from Seeed's Meshtastic support branch (meshtastic/firmware
; PR #10909 + device-ui `wio-l2` branch). Pre-release hardware: verify the pin
; map against a real unit.
[Wio_Tracker_L2]
extends = esp32_base
board = seeed_wio_tracker_l2
; Native USB-Serial/JTAG: the baud rate is virtual (no effect on transfer
; speed); staying at the ROM's 115200 skips esptool's post-stub baud switch,
; one less step to fail on a marginal USB link.
upload_speed = 115200
build_flags = ${esp32_base.build_flags}
${sensor_base.build_flags}
-I variants/wio-tracker-l2
-D SEEED_WIO_TRACKER_L2
-D PIN_BOARD_SDA=47
-D PIN_BOARD_SCL=48
-D PIN_USER_BTN=0
-D USE_SX1262
-D RADIO_CLASS=CustomSX1262
-D WRAPPER_CLASS=CustomSX1262Wrapper
-D LORA_TX_POWER=22
-D P_LORA_NSS=21
-D P_LORA_RESET=7
-D P_LORA_BUSY=8
-D P_LORA_DIO_1=9
-D P_LORA_SCLK=4
-D P_LORA_MISO=5
-D P_LORA_MOSI=6
-D SX126X_DIO2_AS_RF_SWITCH=true
-D SX126X_DIO3_TCXO_VOLTAGE=3.0 ; the L2 TCXO is a 3 V part (Meshtastic PR #11960)
-D SX126X_CURRENT_LIMIT=140
-D SX126X_RX_BOOSTED_GAIN=1
-D ENV_INCLUDE_GPS=1
-D PIN_GPS_TX=18 ; L76K TX -> ESP32 RX
-D PIN_GPS_RX=17 ; L76K RX <- ESP32 TX
-D GPS_BAUD_RATE=9600
; ES8311 codec (I2C 0x18) -> class-D amp (power on expander P12) -> speaker.
; A frontend opts in with -D PIN_BUZZER=-1 -D BUZZER_I2S (genericBuzzer's
; I2S path, src/helpers/ui/buzzer.cpp) and +<helpers/ui/buzzer.cpp>.
-D PIN_I2S_MCLK=10
-D PIN_I2S_BCK=11
-D PIN_I2S_WS=12
-D PIN_I2S_DOUT=16
; No microphone: Seeed's pin list has CODEC_I2S0_SDOUT on GPIO15, but on a
; retail unit (2026-10) it read flat -1 with the codec's ADC on, and stayed
; so with the codec's output muted -- the line isn't the codec's.
-D BUZZER_CODEC_ES8311=0x18
-D ENV_SKIP_GPS_DETECT=1 ; GPS is always present, powered via IO expander
; disable ALL env sensor I2C probes: this bus carries six onboard chips
; (TCA9535 0x21, AW35615 0x22, LP5814 0x2C, ADS1115 0x48, GT911 0x5D,
; ES8311 0x18) and stray probe matches can hang sensors.begin()
-D ENV_INCLUDE_AHTX0=0
-D ENV_INCLUDE_BME280=0
-D ENV_INCLUDE_BMP280=0
-D ENV_INCLUDE_SHTC3=0
-D ENV_INCLUDE_SHT4X=0
-D ENV_INCLUDE_INA3221=0
-D ENV_INCLUDE_INA219=0
-D ENV_INCLUDE_INA226=0
-D ENV_INCLUDE_INA260=0
-D ENV_INCLUDE_MLX90614=0
-D ENV_INCLUDE_VL53L0X=0
-D ENV_INCLUDE_BME680=0
-D ENV_INCLUDE_BMP085=0
-D ENV_INCLUDE_LPS22HB=0
build_src_filter = ${esp32_base.build_src_filter}
+<../variants/wio-tracker-l2>
+<helpers/sensors/*.cpp>
lib_deps =
${esp32_base.lib_deps}
${sensor_base.lib_deps}
lovyan03/LovyanGFX @ ^1.2.30 ; >=1.2.30 defines Panel_NV3031B::init_cmds itself (PR #3381 needed an ODR fix for older)
[env:Wio_Tracker_L2_repeater]
extends = Wio_Tracker_L2
build_flags =
${Wio_Tracker_L2.build_flags}
-D ADVERT_NAME='"WioL2 Repeater"'
-D ADVERT_LAT=0.0
-D ADVERT_LON=0.0
-D ADMIN_PASSWORD='"password"'
-D MAX_NEIGHBOURS=50
build_src_filter = ${Wio_Tracker_L2.build_src_filter}
+<../examples/simple_repeater/*.cpp>
lib_deps =
${Wio_Tracker_L2.lib_deps}
${esp32_ota.lib_deps}