From 5ec61477e6ca1baaabffb8fd30e1f481c386fea0 Mon Sep 17 00:00:00 2001 From: MarekZegare4 Date: Fri, 12 Jun 2026 09:46:45 +0200 Subject: [PATCH] feat(ui): simplify solo splash label, remove outdated WIOTRACKER_L1.md Co-Authored-By: Claude Sonnet 4.6 --- WIOTRACKER_L1.md | 71 ---------------------- examples/companion_radio/ui-new/UITask.cpp | 4 +- 2 files changed, 2 insertions(+), 73 deletions(-) delete mode 100644 WIOTRACKER_L1.md diff --git a/WIOTRACKER_L1.md b/WIOTRACKER_L1.md deleted file mode 100644 index 87d47ab0..00000000 --- a/WIOTRACKER_L1.md +++ /dev/null @@ -1,71 +0,0 @@ -# Wio Tracker L1 — Extended Companion Radio Firmware - -This branch extends the official MeshCore companion radio firmware for the **Seeed Wio Tracker L1** (NRF52840 + SX1262 + SH1106 OLED 128×64 + GPS + buzzer + 5-way joystick). - -## New Build Variants - -In addition to the standard `_companion_radio_usb` and `_companion_radio_ble` builds, two new variants are available with a full **settings screen**: - -| Environment | Interface | -|---|---| -| `WioTrackerL1_companion_radio_usb_settings` | USB serial | -| `WioTrackerL1_companion_radio_ble_settings` | Bluetooth LE | - -The settings screen is accessed by navigating to the last page of the home screen and pressing Enter. - -## New Features - -### Settings Screen - -All settings are saved to flash and restored on next boot. - -| Setting | Options | Default | -|---|---|---| -| Display brightness | 5 levels (very dim → max) | Medium | -| Buzzer | ON / OFF | ON | -| TX Power | 2 – 22 dBm | Board default | -| Auto-off delay | 5 s / 15 s / 30 s / 60 s / never | 15 s | -| GPS update interval | off / 30 s / 1 min / 5 min / 15 min / 30 min | off | -| Timezone | UTC−12 .. UTC+14 | UTC | -| Low battery shutdown | off / 3.0 V – 3.5 V | 3.4 V | -| Battery display | icon / % / voltage | icon | - -### Clock Screen - -A dedicated clock page on the home screen shows the current time and date, synchronized from GPS. Timezone is applied from the settings above. - -### Battery Display Modes - -The top-right battery indicator can be switched between: -- **Icon** — classic fill bar -- **%** — percentage, where 0% = low battery shutdown threshold (if set), otherwise 3.2 V -- **V** — live voltage (e.g. `3.84V`) - -Battery voltage is filtered with an exponential moving average (α = 0.2) to smooth out ADC noise from uneven load. - -### Low Battery Auto-Shutdown - -When the filtered battery voltage drops below the configured threshold, the device displays a warning on screen for 2 seconds and then shuts down gracefully. The threshold is configurable from the settings screen (3.0 V – 3.5 V) or can be disabled. - -## Bug Fixes - -- **Buzzer mute at startup** — the saved mute preference is now respected during the startup sound; previously the buzzer was always unmuted on boot regardless of the saved setting. -- **Brightness change delay** — brightness changes are now applied instantly without triggering a flash write on every keypress; flash is written only when exiting the settings screen. - -## Build & Release - -Firmware is built automatically via GitHub Actions on every `wio-tracker-*` tag push. -Pre-built `.uf2` files are published in the [Releases](../../releases) section. - -To flash: copy the `.uf2` file to the device while it is in bootloader mode (double-press reset). - -## Syncing with Upstream - -This branch tracks [meshcore-dev/MeshCore](https://github.com/meshcore-dev/MeshCore). -To pull upstream updates: - -```bash -git fetch upstream -git rebase upstream/main -git push origin wio-tracker-l1-improvements --force-with-lease -``` diff --git a/examples/companion_radio/ui-new/UITask.cpp b/examples/companion_radio/ui-new/UITask.cpp index cb933424..3f5de46c 100644 --- a/examples/companion_radio/ui-new/UITask.cpp +++ b/examples/companion_radio/ui-new/UITask.cpp @@ -86,9 +86,9 @@ public: display.setColor(DisplayDriver::DARK); char solo_label[24]; if (_solo_ver[0]) - snprintf(solo_label, sizeof(solo_label), "Solo %s for Wio", _solo_ver); + snprintf(solo_label, sizeof(solo_label), "Solo %s", _solo_ver); else - snprintf(solo_label, sizeof(solo_label), "Solo for Wio"); + snprintf(solo_label, sizeof(solo_label), "Solo"); display.drawTextCentered(display.width()/2, solo_y, solo_label); display.setColor(DisplayDriver::LIGHT); #endif