Preserve OTA block progress and channel checks during radio recovery
Drain received packets in single-profile radio fault backoff as well as dual-profile mode. Share the normal channel-clear and bounded busy policy with driver retries so a failed send cannot retry blindly or bypass the existing single-retry limit. Retain an unadmitted OTA request flight and count v2 fallback evidence only after a sparse retry enters the transmit queue. Local queue congestion no longer disables v2 before a request was sent or discards received fragments. Include primary airtime when temporary RX-only radio2 crosses requests onto that channel, keeping response allowances conservative on slower profiles. Add six native regressions, including five failing-before cases, and document the queue-admission and crossover timing behavior. Validation: 1,502 native tests, 29 integration checks, and five firmware builds passed across ESP32-S3, nRF52, and STM32.
This commit is contained in:
1 parent
0582366527
commit
dde87f1d15
9 files changed
+216
-44
No files matched your search
@@ -422,6 +422,10 @@ maintenance rate even when LoRa pacing is slow.
|
||||
If the local transmit queue cannot accept a catalog, manifest, or leaf request,
|
||||
OTA keeps it pending without consuming a network retry. Successfully queued
|
||||
requests that receive no answer still have bounded retries.
|
||||
Blocked block requests also preserve the v2 transfer format and fragments
|
||||
already received; queue congestion alone does not trigger legacy fallback.
|
||||
Retry timing includes the primary channel when an RX-only temporary radio2
|
||||
uses crossover to send requests there.
|
||||
|
||||
`ota config speed 0.5` is an equivalent setter. `ota config speed` and
|
||||
`ota speed` read the current factor; the `ota config` summary also includes it.
|
||||
|
||||
Reference in new issue
Block a user