mirror of
https://github.com/liquidraver/ZephCore.git
synced 2026-09-01 18:38:17 +00:00
release notes update
This commit is contained in:
@@ -4,8 +4,9 @@ A small release. Most of it is fixes, and a few of them only matter on specific
|
||||
|
||||
> [!NOTE]
|
||||
> **Worth updating if you have:** a **XIAO nRF52840** or **Ikoka Nano 30 dBm** (charges twice as fast now),
|
||||
> a **T1000-E** (temperature and light sensors work again), or **any repeater** (1.17.1 broke guest logins
|
||||
> without a password). Everyone else can wait for the next release.
|
||||
> a **T1000-E** (temperature and light sensors work again), a **LilyGo T3S3** (supported for the first
|
||||
> time), or **any repeater** (1.17.1 broke guest logins without a password). Everyone else can wait for
|
||||
> the next release.
|
||||
>
|
||||
> Upgrading from 1.17.1 is straightforward — your contacts, settings and phone pairing all survive. Note
|
||||
> that the **factory default radio settings changed to SF7 / CR 4/5**; this affects fresh flashes and
|
||||
@@ -39,6 +40,15 @@ To change a node already in service, use `set radio <freq>,<bw>,<sf>,<cr>` on a
|
||||
values are comma-separated, and it needs a reboot to apply), or the radio settings screen in the phone
|
||||
app for a companion.
|
||||
|
||||
## New board: LilyGo T3S3
|
||||
|
||||
The **LilyGo T3S3** is now supported — ESP32-S3 with an OLED screen, a button and a battery gauge.
|
||||
|
||||
> [!IMPORTANT]
|
||||
> **The SX1262 version only.** LilyGo sells this board with four different radios (SX1262, SX1276, SX1280,
|
||||
> LR1121) under one name. Flashed onto any of the others it boots and looks fine but never transmits or
|
||||
> receives. Check which radio your board has first.
|
||||
|
||||
## Commands to your own node get their tick straight away
|
||||
|
||||
When you send a command to your node's own chat contact (the one named `v` plus your node name), the app
|
||||
@@ -72,7 +82,8 @@ The readings match Seeed's original firmware, so your node reports the same numb
|
||||
it did before.
|
||||
|
||||
> [!NOTE]
|
||||
> Light is reported as **0–100, not in lux**. That is what the sensor and the original firmware produce.
|
||||
> Light is reported as a **0–100 brightness level, not lux**. It is the sensor's output voltage rescaled
|
||||
> onto 0–100 — nothing converts it into a real light unit, and Seeed's original firmware does the same.
|
||||
> Normal indoor lighting sits in the bottom few percent and only direct light moves it much — that is the
|
||||
> sensor's real range, not a stuck reading.
|
||||
|
||||
@@ -98,6 +109,11 @@ room is never accidentally left wide open. Use `allow.read.only on` if you want
|
||||
`allow.read.only` no longer shows up in the repeater's command list. Only room servers ever used it, so
|
||||
on a repeater it was a setting that did nothing. Your saved configuration is untouched.
|
||||
|
||||
## Empty channel slots no longer pick up stray traffic
|
||||
|
||||
A channel slot you never set up used to accept group messages sent with no key at all, and file them under
|
||||
that empty slot. Unused slots are now skipped, so those messages are simply ignored.
|
||||
|
||||
## A node that cannot get a word in now tells you
|
||||
|
||||
If your node keeps finding the channel busy and can never transmit, it now says so after four seconds and
|
||||
@@ -116,6 +132,20 @@ radio-off time goes from about **31 % to about 35 %**. All radio types benefit.
|
||||
> perfectly fine — set `CONFIG_ZEPHCORE_LORA_DC_MARGIN_PCT` back to 15 before looking at anything else.
|
||||
> This kind of loss has nothing to do with signal strength, so signal readings will not show it.
|
||||
|
||||
## A radio that has gone deaf now recovers on its own
|
||||
|
||||
A LoRa receiver can get stuck at the wrong gain and quietly stop hearing anything. Nothing looks wrong —
|
||||
the node runs, the screen updates, it simply never receives. Until now the only cure was a reboot.
|
||||
|
||||
After a full minute with nothing heard at all, the radio now resets its receiver by itself. A busy node
|
||||
essentially never does this, because every packet it receives is proof the receiver works; a silent node
|
||||
loses nothing by trying, because there was nothing to miss. Radios that can measure their own temperature
|
||||
also recalibrate after a 5 °C swing, so a node that boots on a warm afternoon still works through a cold
|
||||
night.
|
||||
|
||||
This replaces the old `agc.reset.interval` setting, which ran on a timer whether it was needed or not and
|
||||
shipped switched off. It is automatic now and needs no configuration.
|
||||
|
||||
## Your node can no longer advertise an identity it cannot prove
|
||||
|
||||
Your identity is a private key and a matching public key. If those two ever stopped matching — a damaged
|
||||
@@ -132,6 +162,12 @@ the two projects. Every older format is still readable — nothing needs convert
|
||||
rewritten. If a file is too damaged to make sense of, the node keeps it as `_main.id.bad` and generates a
|
||||
fresh identity rather than throwing the old one away.
|
||||
|
||||
Your saved settings now get a similar check. Every value read back from storage is tested against the
|
||||
range it is allowed to be in, and anything nonsensical falls back to its default instead of being used. A
|
||||
few of those are the difference between a working node and one that looks dead: a corrupted shutdown
|
||||
voltage would switch the node off seconds after boot, and a corrupted BLE pairing code would lock the
|
||||
phone app out with no way back in.
|
||||
|
||||
Found and diagnosed by **Marcel Verdult** ([@marcelverdult](https://github.com/marcelverdult)) —
|
||||
[#70](https://github.com/liquidraver/ZephCore/pull/70).
|
||||
|
||||
@@ -157,15 +193,29 @@ looking like a broken radio.
|
||||
|
||||
---
|
||||
|
||||
## Also in this release
|
||||
|
||||
Housekeeping, listed for completeness — nothing here changes how a node behaves day to day.
|
||||
|
||||
- **The Zephyr operating system underneath was updated** to a newer snapshot, and our radio patches were
|
||||
reorganised on top of it: five separate SX126x patches are now one. Same behaviour, fewer things to go
|
||||
wrong the next time Zephyr moves.
|
||||
- **Sending a raw packet down a known route now works at every path-hash setting.** Only diagnostic tools
|
||||
use this, never normal messaging, and it rejected every route on a node set to a longer path hash.
|
||||
- **`get`/`set agc.reset.interval` now reply `Removed - Automatic AGC reset is on`** instead of pointing at
|
||||
`rxduty`. The setting has been gone for a while; only the wording changed.
|
||||
- **The repeater command reference was corrected in several places** — `set radio` and `tempradio` take
|
||||
comma-separated values, not spaces; `set prv.key` takes the 128-character key; `allow.read.only` and
|
||||
`buzzer` are room-server only. The commands themselves did not change, the documentation was simply
|
||||
wrong about them.
|
||||
|
||||
---
|
||||
|
||||
## Not fully tested yet
|
||||
|
||||
- **The radio timing changes have not been measured on air.** Both are worked out on paper and build
|
||||
clean, but neither has been checked against real traffic.
|
||||
- **The repeater guest-login fix has not been tried on hardware**, only verified to build on both roles.
|
||||
- **The T1000-E sensor readings are confirmed on a real device**; the faster boot time is measured from a
|
||||
before-log only, with no after-log yet.
|
||||
- **The identity repair paths have not been tried on hardware.** Every case is covered by tests on a PC,
|
||||
but no real node has been broken and recovered. Normal healthy nodes are unaffected.
|
||||
- **Why that one node's identity broke is still unknown.** This release makes sure the same thing can no
|
||||
longer go unnoticed, but the original cause has not been found.
|
||||
- **The reported X1 trouble logging in to repeaters is not fixed here** and is still being looked into.
|
||||
|
||||
Reference in New Issue
Block a user