Add persistent LoRa OTA speed control and harden timing

Add get/set ota.speed and OTA CLI aliases for factors from 0.05 to 3,
defaulting to the existing pace. Persist the setting independently of the
OTA workspace and apply it to OTA packet pacing, relays, discovery and
adverts while retaining the configured airtime budget.

Preserve physical proof/retry allowances, account for both participating
radio profiles, keep optional deadlines armed across millis rollover, and
exclude intentional pacing from observer stale-packet age. Keep local
verification at its normal rate and retain a valid saved speed if backup
recovery cannot finish. Add documentation and CI regression coverage.

Validation: 1,491 native tests and 26 CLI/integration tests passed. Built
ESP32 full repeater, ESP32 full Companion, nRF52 full Companion and STM32
USB Companion successfully, including their memory/size checks.
This commit is contained in:
mikecarper committed 2026-09-15 06:16:29 -07:00
1 parent a07f39c6dd
commit b2f2b5bf02
22 files changed
+1032 -36

No files matched your search

+23
View File
@@ -177,6 +177,29 @@ See [LoRa CLI host service](host_cli_service.md) for the complete
---
### LoRa OTA speed
```text
get ota.speed
set ota.speed <0.05..3>
```
`1` preserves the current OTA timing. Values below `1` slow OTA traffic;
values above `1` shorten adjustable delays. For example, `0.5` doubles those
delays and `3` divides them by three. Decimal values such as `.05` work.
`ota config speed <factor>` is an equivalent setter, and `ota config` shows
the value. The setting is saved and can be changed during a transfer.
Apply it on the source, destination, and relays. It controls all LoRa OTA
packet types on both profiles, relay timing, discovery, and OTA adverts.
Slower settings extend recovery waits and space queued OTA packets while
allowing ordinary traffic through. Faster settings retain the physical retry
allowance and the configured airtime budget, so throughput is not guaranteed
to rise in direct proportion. Proof turnaround keeps its physical allowance.
Ordinary messages, node adverts, and local staged-image verification keep their
timing. Available in OTA-enabled builds for all roles, including Companions.
See the [OTA guide](ota_user_guide.md#adjust-lora-ota-speed).
### Start or stop an Over-The-Air (OTA) firmware update
**Search terms:** WiFi OTA, wireless firmware update, OTA uploader, update firmware.