summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSerhii Kostiuk <serhii.o.kostiuk@globallogic.com>2020-08-04 10:20:54 +0300
committerSerhii Kostiuk <serhii.o.kostiuk@globallogic.com>2020-08-04 12:32:04 +0300
commit1afb3c7bb338eba0410f85be8e5eaf192a7c4857 (patch)
treea5ad26622f3a5dd43c7fa1dfbdc865b9c0cbc345 /include
parent64d8e39ac05a89acfb9173fad05d0aab948032c6 (diff)
downloadlibmts-io-1afb3c7bb338eba0410f85be8e5eaf192a7c4857.tar.gz
libmts-io-1afb3c7bb338eba0410f85be8e5eaf192a7c4857.tar.bz2
libmts-io-1afb3c7bb338eba0410f85be8e5eaf192a7c4857.zip
Quectel EG25-G Delta Radio Firmware Upgrade support - libmts-io implementation
During testing with L4G1 device I discovered some inconsistencies in behaviour between EG25-G device and EG95 devices (EG95-NA and EG95-E). EG25-G device that I have on hands does not allow to perform downgrades using delta images. When there is an attempt to apply a downgrade delta image it behaves as the following: - radio prints `OK` - radio prints `+QIND: "FOTA",502` - radio is not rebooted While EG95 radios always reboot at least once to apply the firmware image. Even if it is not valid. Also I noticed that detach from the serial bus may take more than 10 seconds in some rare cases. Thus we need to wait not a fixed amount of time but until the radio actually detaches from the bus. This commit attempts to address the findings described above.
Diffstat (limited to 'include')
-rw-r--r--include/mts/MTS_IO_QuectelRadio.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/include/mts/MTS_IO_QuectelRadio.h b/include/mts/MTS_IO_QuectelRadio.h
index 58e3d25..0f24db8 100644
--- a/include/mts/MTS_IO_QuectelRadio.h
+++ b/include/mts/MTS_IO_QuectelRadio.h
@@ -86,6 +86,9 @@ namespace MTS {
CODE fumoWaitUpgradeFinished(UpdateCb& stepCb);
CODE fumoWaitNewFirmware(UpdateCb& stepCb);
+ /// Parse error code in early FUMO URC result received before the first attempt to flash the firmware
+ std::string getFumoEarlyErrorCode(const std::string& sRadioInput);
+
/// Get value from container by its index, use default value if not found. Non-template version.
const std::string& getByIndex(const std::vector<std::string>& vector, size_t index, const std::string& defaultValue) {
if (index >= vector.size()) {