Fix ESP32 Full idle radio teardown and compact AP startup

This commit is contained in:
mikecarper committed 2026-10-06 11:46:10 -07:00
1 parent f1ffe53e8a
commit d0859f925d
29 files changed
+1724 -144

No files matched your search

+13
View File
@@ -296,6 +296,13 @@ again without rebooting. Once an SSID is saved, the cutoff no longer applies
and the selected WiFi/MQTT mode keeps reconnecting. Other setup sessions retain
their profile's idle timeout.
Full Repeater and Room Server suspend unconfigured network bridges during
this setup session. Automatic ESP-NOW retries remain suspended after the AP
closes, so they cannot keep an unused WiFi driver running. Saved bridge choices
remain intact; explicitly enabling the bridge resumes it for this boot.
Stopping a browser OTA session restores only bridges that session actually
paused, rather than starting services from saved intent alone.
Every ESP32 build with WebConfig supports the browser command terminal,
including WiFi Companion and Full Companion. Companions use their complete
USB/TCP terminal on the trusted LAN, including contact import, chat, recipient
@@ -2362,6 +2369,12 @@ binaries.
Companion firmware defaults this setting to `on`. Full Companion accepts the command from its local USB terminal and exposes the same setting in WebConfig. On ESP32, it lowers the CPU clock to 80 MHz, enables idle yielding, and enables the configured GPS duty cycle. USB and each active wireless transport remain available; SenseCAP Indicator Full keeps only its selected BLE or infrastructure-WiFi secondary transport active. `set powersaving off` restores the board's normal CPU clock and disables the GPS duty cycle. This device setting is separate from LoRa RXPS (`radio.rxps`) and WiFi modem power save (`wifi.powersave`). Infrastructure uses the same commands; its hardware and active-service sleep guards determine when the node can sleep.
Native USB ESP32 Full Companions can also use short light-sleep intervals when
the BLE/WiFi drivers, ESP-NOW, GPS UART, logging, and USB host sessions are
inactive and no work is pending. Compiling those transports into Full does not
itself prevent sleep. Turning off BLE advertising alone leaves its controller
running and therefore retains idle behavior rather than manual light sleep.
---
#### View or set the reboot interval (Repeater and room server)
+7
View File
@@ -293,6 +293,13 @@ next reboot or power cycle. An explicit administrator `start webconfig` remains
available as an override. A saved SSID switches to the normal indefinite
reconnect behavior instead.
Fresh ESP32 Full infrastructure defaults to USB logging off. Existing saved
logging and device power-saving settings survive an update. The unconfigured
setup session also pauses automatic network-bridge retries until an explicit
bridge start, allowing its radio to turn off when the AP closes. Compact OTA
images scan before raising a new AP and verify live driver readiness before
reporting the update URL.
Full Companion profiles use one binary for USB, BLE, ordinary Wi-Fi on ESP32,
source-only LoRa OTA, Terminal Chat, optional USB packet logging, and any
board-qualified serial or Ethernet Companion transport. Bulk builds therefore
+5
View File
@@ -212,6 +212,11 @@ nRF52 Full Companion. `log start/stop` records to storage independently of live
USB logging. Use
`log erase` to delete that capture.
Fresh ESP32 Full infrastructure installs default to USB logging off. Upgrades
retain the saved choice. With device power saving enabled, an idle node can
sleep after the setup AP closes and all radio services stop; live USB logging,
an attached native USB host, and active MQTT/ESP-NOW still hold it awake.
For quiet packet capture in current firmware, use `set usb.debug off` and
`set usb.logging on`. Verbose diagnostics default off for fresh and upgraded
preferences without the new field. The debug choice is saved separately;