On the FM3 board with the Arduino RP2040 Connect, the Bluetooth update process fails sometimes,
because the receiving of "OTA:ready" is mixed up with esp-idf console output.
Because we are limited to the pins connected by the Arduino board, we are using UART0
for transmitting our data (HID, commands,...) as well as the esp-idf logging output.
Especially when using the OTA firmware to write a new BT firmware, the outputs get mixed up.
Not really mixed up, but there is a newline missing after the logging output.
And if the "OTA:ready" is not at the beginning of a line, the detection fails in the webgui.
Suggestion:
Change the waitForReceiving function from a complete comparison to a "contains" like check.
Or an additional function just for "OTA:ready" which checks if this string is contained in the received string.
On the FM3 board with the Arduino RP2040 Connect, the Bluetooth update process fails sometimes,
because the receiving of "OTA:ready" is mixed up with esp-idf console output.
Because we are limited to the pins connected by the Arduino board, we are using UART0
for transmitting our data (HID, commands,...) as well as the esp-idf logging output.
Especially when using the OTA firmware to write a new BT firmware, the outputs get mixed up.
Not really mixed up, but there is a newline missing after the logging output.
And if the "OTA:ready" is not at the beginning of a line, the detection fails in the webgui.
Suggestion:
Change the
waitForReceivingfunction from a complete comparison to a "contains" like check.Or an additional function just for "OTA:ready" which checks if this string is contained in the received string.