Skip to content

Commit 4b245fc

Browse files
committed
Use the OTA statemachine for websocket requests
1 parent b40380f commit 4b245fc

File tree

1 file changed

+6
-49
lines changed

1 file changed

+6
-49
lines changed

Firmware/RTK_Everywhere/menuCommands.ino

Lines changed: 6 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -1303,55 +1303,13 @@ SettingValueResponse updateSettingWithValue(bool inCommands, const char *setting
13031303

13041304
sendStringToWebsocket((char *)"checkingNewFirmware,1,"); // Tell the config page we received their request
13051305

1306-
// We don't use the OTA state machine here because we need to respond to
1307-
// Web Config immediately of success or failure
1308-
1309-
// If we're in AP only mode (no internet), try WiFi with current SSIDs
1310-
if (networkIsInterfaceStarted(NETWORK_WIFI_STATION) == false)
1311-
wifiStationOn(__FILE__, __LINE__);
1312-
1313-
// Get firmware version from server
1314-
char newVersionCSV[40];
1315-
if (networkInterfaceHasInternet(NETWORK_WIFI_STATION) == false)
1316-
{
1317-
// No internet. Report error.
1318-
if (settings.debugWebServer == true)
1319-
systemPrintln("No internet available. Sending error to Web config page.");
1320-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,NO_INTERNET,");
1321-
}
1322-
else
1323-
{
1324-
char otaReportedVersion[50];
1325-
if (otaCheckVersion(otaReportedVersion, sizeof(otaReportedVersion)))
1326-
{
1327-
// We got a version number, now determine if it's newer or not
1328-
char currentVersion[40];
1329-
firmwareVersionGet(currentVersion, sizeof(currentVersion), enableRCFirmware);
1330-
if (firmwareVersionIsReportedNewer(otaReportedVersion, currentVersion) == true)
1331-
{
1332-
if (settings.debugWebServer == true)
1333-
systemPrintln("New version detected");
1334-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,%s,", otaReportedVersion);
1335-
}
1336-
else
1337-
{
1338-
if (settings.debugWebServer == true)
1339-
systemPrintln("No new firmware available");
1340-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,CURRENT,");
1341-
}
1342-
}
1343-
else
1344-
{
1345-
// Failed to get version number
1346-
if (settings.debugWebServer == true)
1347-
systemPrintln("Sending error to Web config page");
1348-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,NO_SERVER,");
1349-
}
1350-
}
1306+
knownSetting = true;
13511307

1352-
sendStringToWebsocket(newVersionCSV);
1308+
// Check to see if WiFi settings have been changed
1309+
//bool changed = webServerSettingsCheckAndFree();
13531310

1354-
knownSetting = true;
1311+
// Inform the OTA state machine that it is needed
1312+
otaRequestFirmwareVersionCheck = true;
13551313
}
13561314
else if (strcmp(settingName, "getNewFirmware") == 0)
13571315
{
@@ -1360,13 +1318,12 @@ SettingValueResponse updateSettingWithValue(bool inCommands, const char *setting
13601318

13611319
sendStringToWebsocket((char *)"gettingNewFirmware,1,");
13621320

1321+
// Let the OTA state machine know it needs to report its progress to the websocket
13631322
apConfigFirmwareUpdateInProcess = true;
13641323

13651324
// Notify the network layer we need access, and let OTA state machine take over
13661325
otaRequestFirmwareUpdate = true;
13671326

1368-
// We get here if WiFi failed to connect
1369-
sendStringToWebsocket((char *)"gettingNewFirmware,ERROR,");
13701327
knownSetting = true;
13711328
}
13721329

0 commit comments

Comments
 (0)