diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/MTS_IO_QuectelRadio.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/MTS_IO_QuectelRadio.cpp b/src/MTS_IO_QuectelRadio.cpp index 39c0601..59170fe 100644 --- a/src/MTS_IO_QuectelRadio.cpp +++ b/src/MTS_IO_QuectelRadio.cpp @@ -1016,11 +1016,12 @@ ICellularRadio::CODE QuectelRadio::fumoWaitUpgradeFinished(ICellularRadio::Updat } const auto vParts = MTS::Text::split(MTS::Text::trim(sResponse), ',', 3); - const std::string& sStage = vParts[1]; + const std::string& sStage = getByIndex(vParts, 1, "NOT_DEFINED"); + if (sStage == sFotaUrcEnd) { // FOTA finished printTrace("Got FOTA END message"); - const std::string& sCode = vParts[2]; + const std::string& sCode = getByIndex(vParts, 2, "-1"); if (sCode == "0") { // finished successfully @@ -1034,11 +1035,11 @@ ICellularRadio::CODE QuectelRadio::fumoWaitUpgradeFinished(ICellularRadio::Updat printTrace("Got FOTA START message"); } else if (sStage == sFotaUrcProgress) { printTrace("Got FOTA progress message"); - const std::string& sPercents = vParts[2]; + const std::string& sPercents = getByIndex(vParts, 2, "0"); printInfo("FOTA progress: [%s]", sPercents.c_str()); callNextStep(stepCb, "FUMO Info: firmware apply progress " + sPercents); } else { - printInfo("FOTA unexpected URC code: [%s]", sStage.c_str()); + printInfo("FOTA unexpected URC code: [%s]", sResponse.c_str()); } } |