If a connection exists and a client, here Mission Planner, is connected via UDP and then the WebGUI is called, there is a restart:
Mavlink good!
UDP client identified, remote IP: 192.168.4.41, remote port: 14550
Bluetooth disabled to free up SRAM for web support. YOU MUST PROCEED TO REBOOT for BT to be restored!
assertion “res == coreID || res == portMUX_FREE_VAL” failed: file “/home/runner/work/esp32-arduino-lib-builder/esp32-arduino-lib-builder/esp-idf/components/freertos/portmux_impl.inc.h”, line 105, function: vPortCPUAcquireMutexIntsDisabledInternal
abort() was called at PC 0x40112773 on core 1
Backtrace: 0x40092874:0x3ffd5a10 0x40092aa5:0x3ffd5a30 0x40112773:0x3ffd5a50 0x4008ffb1:0x3ffd5a80 0x4008e909:0x3ffd5ab0 0x401462b9:0x3ffd5af0 0x4014637a:0x3ffd5b10 0x4014364d:0x3ffd5b40 0x400dacff:0x3ffd5ba0 0x400dae29:0x3ffd5bc0 0x4008ef89:0x3ffd5c00
Rebooting…
This seems normal to me because Bluetooth is switched off. Better would be a message that the connection to the FC has been lost, but it will probably not be that easy.
Personally I can live with it if the WebGUI should only be called when there is no connection. Normally you don’t reconfigure all the time, so that’s no problem.
Then I have tested further:
3x connection established via TCP from Mission Planner = ok
3x connection established via UDP by Mission Planner = ok
3x connection via UDP established by QGC = ok
It is noticeable that it is much slower with UDP, because the message “Already Got param x” is constantly coming. This happens during the whole loading process, but especially at the end, which takes minutes …
TCP is faster, “Already Got param x” also appears, but practically only at the end.
So because of “Already Got param x” you probably have to look.
Otherwise IMHO looks good and runs stable.