mirror of
https://github.com/MarekZegare4/MeshCore-Solo.git
synced 2026-09-14 15:16:40 +00:00
docs: trim v1.25 release notes to short bullets
The prior entries carried full root-cause narrative for each change, matching this file's older sections -- too dense for what's meant to be a quick skim. Cut down to what changed and where. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Sonnet 5
parent
1f60c2437f
commit
f333fdb26c
+8
-8
@@ -2,17 +2,17 @@
|
||||
|
||||
### What's new
|
||||
|
||||
- **Experimental: two new boards with a keyboard built in — M5Stack Cardputer ADV and LilyGO T-Echo Lite + KeyShield.** Newly-added board support, so treat both as experimental until they've had more hands on them. Both drive the solo UI from a real keypad, so neither needs a CardKB or a wired joystick to be a complete standalone device. The **Cardputer ADV** (ESP32-S3, ST7789 TFT, built-in QWERTY) is supported across the full env range — companion over BLE or USB, solo (`M5Stack_Cardputer_ADV_companion_solo_dual`), repeater, ESP-NOW repeater bridge, room server, terminal chat and KISS modem — and detects at boot whether its LoRa module is fitted, via the PI4IOE5V6408 IO-expander. The **KeyShield** is an add-on for the LilyGO T-Echo Lite (whose base variant arrived from upstream), giving it a T9 keypad and a controllable backlight, with its own solo build (`LilyGo_T-Echo-Lite_keyshield_companion_solo_dual`). Bringing the KeyShield variant in also caught four issues in that base variant — swapped GPS RX/TX pins, the wrong TCXO voltage, an unused TX LED, and a missing e-ink panel include — and the KeyShield solo build itself picked up the `-Os` size optimisation every other nRF52 solo build already had (it had been missed), taking flash use from 90.7% down to 61.4%. Both keypads are TCA8418-based and share one polling path, independent of the CardKB support — a board can have either, or neither. The Cardputer's ST7789 driver also gained the misc-fixed 6×9 font (full Latin, Greek and Cyrillic), so its on-screen keyboard types every alphabet the other solo boards can rather than falling back to transliteration.
|
||||
- **Experimental: solo builds for Heltec V3 and V4** (`Heltec_v3_companion_solo_dual`, `heltec_v4_companion_solo_dual`) — new enough not to have had much real-world use yet. The full standalone on-device UI instead of a screen that only mirrors the phone app, with dual transport so the companion app can attach over BLE or USB serial (BLE wins while both are live), same as the Wio Tracker L1 solo builds. Dual transport had only ever been built for nRF52, so ESP32 got its own `DualSerialInterface` to match. Both boards ship with a single button, which the solo UI can't be driven from, so each env enables both supported input devices with default pins picked from what that board leaves free: a **CardKB** on a second I2C bus (pair it with Ext. KB = Compact and no joystick is needed at all) and a **wired joystick** (four direction pins plus a Back button, wired straight to GND — the firmware enables the internal pull-ups). Either is enough on its own, and pins with nothing attached read as not-pressed, so the unused half costs nothing. The env comments list which GPIOs each board has already claimed, for anyone wiring theirs differently. The release job initially only attached `*.uf2`/`*.zip` (which covered every solo board back when they were all nRF52), so these two boards' `.bin` images would have shipped nowhere; releases now also carry a `-merged.bin` (bootloader + partition table + app, flashed at `0x0`) per ESP32 board.
|
||||
- **Screenshot support on the Heltec V3/V4 solo builds.** `ENABLE_SCREENSHOT` was set on every other solo env but these two, so [Solo Tools](https://marekzegare4.github.io/Solo-tools/) couldn't capture their display. Now consistent across all seven solo builds.
|
||||
- **GPS duty-cycling — Settings › System › "GPS pwr"** (boards with GPS). Off by default (today's always-on behaviour); pick 1/5/15/30 min or 1 h and GPS sleeps for that long between fixes instead of running continuously — each wake waits for a fix, capped at 60s, before going back to sleep. Automatically stays continuously on regardless of this setting whenever something actually needs a live position: an active Trail recording, Map › Live share, an armed Locator, the Compass / Nearby navigate view, or an in-flight `!gps fix` request (so its own up-to-300s acquire window isn't cut short by the 60s cap) — so none of those features degrade, only the idle time between them gets cheaper. Manually turning GPS on or off while duty-cycling is running no longer confuses the scheduler's own sleep/wake timer into immediately reversing the change. The GPS status icon blinks while napping.
|
||||
- **RX duty-cycle power-save (Settings › Radio › Pwr save) now recovers on its own if it gets stuck.** The SX126x's hardware duty-cycle sequencer cycles RX↔sleep with no MCU involvement, so a desync (a known failure mode) previously had nothing watching for it — the radio could silently stop receiving. A background watchdog now notices (no BUSY-pin activity for too long), tries a cheap re-arm first, and escalates to a full radio reset if that doesn't clear it. Recovery counts are visible on Tools › Diagnostics › Live as "RXPS wd s/h" and stay `0/0` on a healthy radio.
|
||||
- **Experimental: M5Stack Cardputer ADV and LilyGO T-Echo Lite + KeyShield board support** — built-in keyboard, no CardKB or joystick needed. Full companion/solo/repeater/room-server env range.
|
||||
- **Experimental: solo builds for Heltec V3 and V4** — full on-device UI, driven by CardKB or a wired joystick.
|
||||
- **Screenshot support added to the Heltec V3/V4 solo builds.**
|
||||
- **GPS duty-cycling** (Settings › System › "GPS pwr") — sleeps GPS between fixes to save power. Stays on automatically when Trail, Live share, Locator, Compass/Nearby, or `!gps fix` need it.
|
||||
- **RX power-save (Settings › Radio › Pwr save) now recovers on its own** if the hardware duty-cycle sequencer gets stuck.
|
||||
|
||||
### Fixes
|
||||
|
||||
- **Interference detection (`int.thresh`) silently stopped working as soon as RX power-save was turned on.** Noise-floor sampling was skipped entirely while the SX126x duty-cycles RX on its own, so the floor stayed frozen at whatever it was the moment power-save switched on — comparisons against it grew meaningless the longer the session ran. The radio now borrows a brief continuous-RX window once a minute to take a fresh reading, then goes back to duty-cycling.
|
||||
- **The clock's "Messages" field showed nothing at all on a locked screen** — every other choice under Settings › CLOCK FIELDS (battery, contacts, GPS, every sensor) displayed normally, so there was no combination that could get the unread count in front of you without unlocking first. The lock screen formats its two values through its own routine, written for sensor readings, which never learned about the message-count field; it fell through to an empty string, and an empty string draws nothing. It now shows the same unread total (DMs + channels + rooms) the unlocked clock page does, as e.g. `3 msgs`. Note that the lock screen still only shows the first two of the three configured fields, by design — a field set as **Field 3** appears on the clock page but not on the lock screen.
|
||||
- **"Off" was spelled three different ways across the UI: `OFF`, `Off`, `off`.** Every genuine on/off toggle already agreed on `OFF`/`ON`, but the disabled point of several value pickers didn't: Settings' LowBat/GPS pwr/e-ink full-refresh options and the auto-advert interval all showed lowercase `off` next to their other values, GPIO's mode row showed `Off` right above its own State row's `OFF`, and the GPS-averaging/trail-autopause pickers showed `Off` where the alarm-repeat picker (same screen family) already said `OFF`. All now read `OFF`, matching every toggle elsewhere.
|
||||
- **Interference detection (`int.thresh`) stopped updating noise floor while RX power-save was on** — now refreshes periodically.
|
||||
- **Clock's "Messages" field showed nothing on a locked screen** — now shows the unread count.
|
||||
- **Unified "OFF"/"ON" casing across all screens.**
|
||||
|
||||
---
|
||||
|
||||
|
||||
Reference in New Issue
Block a user