Reduce routine RX power-saving noise-floor refreshes
This commit is contained in:
1 parent
d43bc23f5a
commit
d7c8a3a104
4 files changed
+293
-28
No files matched your search
@@ -11,6 +11,29 @@ Periodic requests coalesce while a block is active. RXPS resumes after a complet
|
||||
block, including a held block, or at timeout. Receive and transmit activity are
|
||||
never interrupted just to finish calibration.
|
||||
|
||||
In single-profile RXPS, routine refreshes wait at least 60 seconds after the
|
||||
last completed or timed-out block before requesting another continuous-RX
|
||||
window. Both periodic maintenance and passive retry checks use this cooldown;
|
||||
retries do not restart a partially collected block. With RXPS off, or when the
|
||||
selected tuple requires continuous-RX fallback, the existing two-second
|
||||
maintenance tick and passive-probe age check are unchanged. Startup, explicit
|
||||
gain/tuning changes, AGC resets, and radio recovery still request a fresh block
|
||||
promptly. Dual-profile scanning retains
|
||||
its separate refresh policy.
|
||||
|
||||
Frequent configured AGC resets can still dominate calibration time: Cascade
|
||||
repeater builds default to an eight-second AGC interval, and MQTT observers
|
||||
use 28 seconds. Those resets are not throttled by the routine cooldown. After
|
||||
a timed-out startup block with no valid floor, the next routine RXPS attempt
|
||||
also waits 60 seconds; passive retries retain their existing bounded busy
|
||||
escape while waiting for a valid baseline.
|
||||
|
||||
The longer RXPS cooldown trades a slower response to ambient noise changes for
|
||||
more time in duty-cycle RX. It does not reduce sample count, shorten settling,
|
||||
or put the radio to sleep between samples. A large upward change still needs
|
||||
three complete high blocks to pass the rise hold. No battery-life improvement
|
||||
has been measured for this scheduling change.
|
||||
|
||||
The block estimate is the 12.5th percentile: the average of the eighth and
|
||||
ninth sorted samples, retaining fractional dBm. A published update uses 25% of
|
||||
the previous floor and 75% of the new estimate, with a -120 dBm lower bound. Initial calibration and explicit gain/tuning changes seed a new baseline.
|
||||
@@ -30,9 +53,10 @@ out of 64 to avoid higher-valued traffic entirely. Nearly continuous
|
||||
interference or enough low outliers can still mislead it. The rise hold delays
|
||||
large changes but cannot identify their source.
|
||||
|
||||
RSSI sampling waits 20 ms after every receive re-arm, including CAD and TX
|
||||
completion, to avoid unsettled frontend readings. The ten-second trial window
|
||||
often failed to complete during heavy traffic with that settling guard; the
|
||||
RSSI sampling waits 7 ms on SX1262, SX1268, and LLCC68 builds, or 20 ms on other
|
||||
families, after every receive re-arm, including CAD and TX completion, to avoid
|
||||
unsettled frontend readings. The ten-second trial window often failed to
|
||||
complete during heavy traffic with that settling guard; the
|
||||
30-second cap allows more idle opportunities. Partial blocks still time out
|
||||
without publishing. Longer collection spends more time in continuous RX when
|
||||
RXPS is enabled. A quiet minimum is about 3.2 seconds; real completion time
|
||||
|
||||
Reference in new issue
Block a user