@@ -45,6 +45,10 @@ void menuFirmware()
4545 }
4646 else if (incoming == ' c' )
4747 {
48+ bool previouslyConnected = wifiIsConnected ();
49+
50+ wifiStart (); // Makes sure any ESP-Now settings have been cleared
51+
4852 // Attempt to connect to local WiFi
4953 if (wifiConnect (10000 ) == true )
5054 {
@@ -71,15 +75,25 @@ void menuFirmware()
7175 else
7276 {
7377 // Failed to get version number
74- systemPrintln (" Failed to get version number from server" );
78+ systemPrintln (" Failed to get version number from server. " );
7579 }
7680 }
81+ else
82+ systemPrintln (" Firmware update failed to connect to WiFi." );
83+
84+ if (previouslyConnected == false )
85+ wifiStop ();
7786 }
7887 else if (newOTAFirmwareAvailable && incoming == ' u' )
7988 {
89+ bool previouslyConnected = wifiIsConnected ();
90+
8091 otaUpdate ();
8192
8293 // We get here if WiFi failed or the server was not available
94+
95+ if (previouslyConnected == false )
96+ wifiStop ();
8397 }
8498
8599 else if (incoming == ' e' )
@@ -334,6 +348,8 @@ bool otaCheckVersion(char *versionAvailable, uint8_t versionAvailableLength)
334348#ifdef COMPILE_WIFI
335349 bool previouslyConnected = wifiIsConnected ();
336350
351+ wifiStart (); // Makes sure any ESP-Now settings have been cleared
352+
337353 if (wifiConnect (10000 ) == true )
338354 {
339355 char versionString[20 ];
@@ -404,6 +420,8 @@ void otaUpdate()
404420#ifdef COMPILE_WIFI
405421 bool previouslyConnected = wifiIsConnected ();
406422
423+ wifiStart (); // Makes sure any ESP-Now settings have been cleared
424+
407425 if (wifiConnect (10000 ) == true )
408426 {
409427 char versionString[20 ];
0 commit comments