Skip to content

Commit 48a8be3

Browse files
committed
Use the OTA state machine to check for new firmware
1 parent fc5282a commit 48a8be3

File tree

1 file changed

+36
-29
lines changed

1 file changed

+36
-29
lines changed

Firmware/RTK_Everywhere/menuCommands.ino

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -1313,38 +1313,41 @@ SettingValueResponse updateSettingWithValue(bool inCommands, const char *setting
13131313

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

1316-
char reportedVersion[20];
1317-
char newVersionCSV[100];
1316+
// Indicate to the network that we need access
1317+
otaRequestFirmwareVersionCheck = true;
1318+
1319+
// Erase reported version. Once the reported version comes back, transmit to webpage
1320+
otaReportedVersion[0] = '\0';
13181321

13191322
// Get firmware version from server
13201323
// otaCheckVersion will call wifiConnect if needed
1321-
if (otaCheckVersion(reportedVersion, sizeof(reportedVersion)))
1322-
{
1323-
// We got a version number, now determine if it's newer or not
1324-
char currentVersion[21];
1325-
getFirmwareVersion(currentVersion, sizeof(currentVersion), enableRCFirmware);
1326-
if (isReportedVersionNewer(reportedVersion, currentVersion) == true)
1327-
{
1328-
if (settings.debugWebConfig == true)
1329-
systemPrintln("New version detected");
1330-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,%s,", reportedVersion);
1331-
}
1332-
else
1333-
{
1334-
if (settings.debugWebConfig == true)
1335-
systemPrintln("No new firmware available");
1336-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,CURRENT,");
1337-
}
1338-
}
1339-
else
1340-
{
1341-
// Failed to get version number
1342-
if (settings.debugWebConfig == true)
1343-
systemPrintln("Sending error to AP config page");
1344-
snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,ERROR,");
1345-
}
1346-
1347-
sendStringToWebsocket(newVersionCSV);
1324+
// if (otaCheckVersion(reportedVersion, sizeof(reportedVersion)))
1325+
// {
1326+
// // We got a version number, now determine if it's newer or not
1327+
// char currentVersion[21];
1328+
// getFirmwareVersion(currentVersion, sizeof(currentVersion), enableRCFirmware);
1329+
// if (isReportedVersionNewer(reportedVersion, currentVersion) == true)
1330+
// {
1331+
// if (settings.debugWebConfig == true)
1332+
// systemPrintln("New version detected");
1333+
// snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,%s,", reportedVersion);
1334+
// }
1335+
// else
1336+
// {
1337+
// if (settings.debugWebConfig == true)
1338+
// systemPrintln("No new firmware available");
1339+
// snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,CURRENT,");
1340+
// }
1341+
// }
1342+
// else
1343+
// {
1344+
// // Failed to get version number
1345+
// if (settings.debugWebConfig == true)
1346+
// systemPrintln("Sending error to AP config page");
1347+
// snprintf(newVersionCSV, sizeof(newVersionCSV), "newFirmwareVersion,ERROR,");
1348+
// }
1349+
1350+
// sendStringToWebsocket(newVersionCSV);
13481351
knownSetting = true;
13491352
}
13501353
else if (strcmp(settingName, "getNewFirmware") == 0)
@@ -1355,6 +1358,10 @@ SettingValueResponse updateSettingWithValue(bool inCommands, const char *setting
13551358
sendStringToWebsocket((char *)"gettingNewFirmware,1,");
13561359

13571360
apConfigFirmwareUpdateInProcess = true;
1361+
1362+
// Notify the network layer we need access, and let OTA state machine take over
1363+
otaRequestFirmwareUpdate = true;
1364+
13581365
otaForcedUpdate(); // otaForcedUpdate will call wifiConnect if needed. Also does previouslyConnected check
13591366

13601367
// We get here if WiFi failed to connect

0 commit comments

Comments
 (0)