This commit is contained in:
mikecarper
2026-09-17 08:13:50 +00:00
parent 510292a630
commit bb3b13fbf9
3 changed files with 14 additions and 7 deletions
+7 -4
View File
@@ -1154,9 +1154,9 @@
], "Separate from device sleep and LoRa RXPS. Bluetooth coexistence can constrain the effective mode.");
}
if (info.mqtt) {
toggle(info.espnowBridge ? "MQTT + ESP-NOW bridge" : "MQTT broker connections", "set mqtt.enabled", "get mqtt.enabled",
toggle("MQTT broker connections", "set mqtt.enabled", "get mqtt.enabled",
info.espnowBridge
? "This Full image has one shared bridge switch: On starts WiFi/MQTT and then ESP-NOW after WiFi associates; Off stops both. Configure WiFi and broker slots first, and set bridge.channel to your access point's fixed 2.4 GHz channel."
? "Independent of the ESP-NOW bridge below. Configure WiFi and broker slots first. Use MQTT alone, ESP-NOW alone, or enable both; get mqtt.running checks the MQTT runtime."
: "Configure WiFi and broker slots first, using WebConfig or set mqtt1.preset/settings. Off keeps those settings. get mqtt.running checks the runtime; get mqtt.status shows connections.");
["status", "packets", "raw", "rx"].forEach(function (name) {
toggle("MQTT " + (name === "rx" ? "receive capture" : name + " publication"), "set mqtt." + name, "get mqtt." + name,
@@ -1183,11 +1183,14 @@
}), "Use the UART and pin map for this exact board. Canonical GPS-enabled RAK4631 uses UART2; select it with set bridge.uart 2 while the bridge is stopped. UART1 needs a compatible GPS-free image.");
}
if (info.espnowBridge && infrastructure) {
if (!info.mqtt) toggle("ESP-NOW bridge", "set bridge.enabled", "get bridge.running");
toggle("ESP-NOW bridge", "set bridge.enabled", "get bridge.enabled",
info.mqtt
? "Independent of MQTT in this Full image. set espnow.enabled is an alias. get bridge.running (or get espnow.running) checks its live state."
: "set bridge.enabled controls the ESP-NOW bridge; get bridge.running checks its live state.");
section("ESP-NOW bridge framing", ["wrapped", "raw"].map(function (mode) {
return { label: mode, commands: ["set bridge.format " + mode] };
}), info.mqtt
? "This Full image shares one 2.4 GHz radio between WiFi/MQTT and ESP-NOW. ESP-NOW begins after WiFi connects and only when bridge.channel matches that access point's fixed channel. Primary ESP-NOW mesh uses set espnow.channel instead."
? "This Full image shares one 2.4 GHz radio between WiFi/MQTT and ESP-NOW. When both are enabled, ESP-NOW begins after WiFi connects and only when bridge.channel matches that access point's fixed channel. ESP-NOW-only mode does not need WiFi credentials. Primary ESP-NOW mesh uses set espnow.channel instead."
: "Set bridge.channel to the bridge channel. Primary ESP-NOW mesh uses set espnow.channel instead; see the board guide before changing channels.");
}
if (full && /sensecapindicator/i.test(profile.target)) section("Indicator wireless transport", [
+6 -2
View File
@@ -3303,8 +3303,12 @@ Ethernet bridge firmware because those paths use different compiled drivers.</p>
<a href="../espnow_bridge_setup/">ESP-NOW bridge setup guide</a>.</p>
<p>An ESP-NOW bridge target keeps LoRa as its primary mesh radio. Expanded ESP32
Full repeater and room-server images combine ESP-NOW with WiFi MQTT in the
same firmware. Both use one 2.4 GHz radio, so the ESP-NOW bridge channel must
match the connected WiFi access point's fixed channel. Its runtime
same firmware. MQTT and ESP-NOW are independent runtime transports: use
<code>set mqtt.enabled on|off</code> for MQTT and <code>set bridge.enabled on|off</code> (or
<code>set espnow.enabled on|off</code>) for ESP-NOW, so either or both can run. Both use
one 2.4 GHz radio, so when both are enabled the ESP-NOW bridge channel must
match the connected WiFi access point's fixed channel. ESP-NOW-only mode does
not require WiFi credentials. Its runtime
<code>bridge.format</code> setting chooses the peer protocol: <code>wrapped</code> (the
backward-compatible bridge-to-bridge default using <code>bridge.secret</code>) or <code>raw</code>
(direct MeshCore ESP-NOW LR frames for <code>Generic_ESPNOW</code>,
File diff suppressed because one or more lines are too long