summaryrefslogtreecommitdiff
path: root/src/MTS_IO_QuectelRadio.cpp
diff options
context:
space:
mode:
authorSerhii Kostiuk <serhii.o.kostiuk@globallogic.com>2020-07-17 02:51:22 -0500
committerSerhii Kostiuk <serhii.o.kostiuk@globallogic.com>2020-07-17 02:51:22 -0500
commitd520358b3e88ae80af968254b42645c4d9eae604 (patch)
treed6c9c3f1f23de7e215fca1dbbe4f38b3c4a09815 /src/MTS_IO_QuectelRadio.cpp
parentf0be0e4a343f9a600fe8c9fc34fa580c548a4e9e (diff)
parent298efe4e17d3665f9ddbb9298a37b563c60de735 (diff)
downloadlibmts-io-d520358b3e88ae80af968254b42645c4d9eae604.tar.gz
libmts-io-d520358b3e88ae80af968254b42645c4d9eae604.tar.bz2
libmts-io-d520358b3e88ae80af968254b42645c4d9eae604.zip
Merge branch 'ap/vendor_firmware' into 'delta-radio-fwu'
Add vendor firmware version See merge request !29
Diffstat (limited to 'src/MTS_IO_QuectelRadio.cpp')
-rw-r--r--src/MTS_IO_QuectelRadio.cpp44
1 files changed, 22 insertions, 22 deletions
diff --git a/src/MTS_IO_QuectelRadio.cpp b/src/MTS_IO_QuectelRadio.cpp
index 2d1ffcd..22fa92f 100644
--- a/src/MTS_IO_QuectelRadio.cpp
+++ b/src/MTS_IO_QuectelRadio.cpp
@@ -56,6 +56,26 @@ bool QuectelRadio::resetRadio(uint32_t iTimeoutMillis) {
return false;
}
+ICellularRadio::CODE QuectelRadio::getVendorFirmware(std::string& sVendorFirmware) {
+ printTrace("%s| Get Quectel-specific firmware version", getName().c_str());
+ sVendorFirmware = ICellularRadio::VALUE_NOT_SUPPORTED;
+ std::string sCmd("AT+QGMR");
+ std::string sResult = sendCommand(sCmd);
+ size_t pos = sResult.find(ICellularRadio::RSP_OK);
+ if (pos == std::string::npos) {
+ printWarning("%s| Unable to get firmware from radio using command [%s]", getName().c_str(), sCmd.c_str());
+ return FAILURE;
+ }
+
+ sVendorFirmware = MTS::Text::trim(sResult.substr(0, pos));
+ if(sVendorFirmware.size() == 0) {
+ printWarning("%s| Unable to get firmware from radio using command [%s]", getName().c_str(), sCmd.c_str());
+ return FAILURE;
+ }
+
+ return SUCCESS;
+}
+
ICellularRadio::CODE QuectelRadio::getModel(std::string& sModel) {
printTrace("%s| Get Model", getName().c_str());
//Always returns SUCCESS because the model should be m_sName
@@ -591,7 +611,7 @@ ICellularRadio::CODE QuectelRadio::fumoLocalApply(ICellularRadio::UpdateCb& step
ICellularRadio::CODE rc;
std::string sCmd;
- rc = getQuectelFirmware(m_sQuectelFirmware);
+ rc = getVendorFirmware(m_sQuectelFirmware);
if (rc != SUCCESS) {
callNextStep(stepCb, "FUMO Error: Failed to obtain current firmware version");
return rc;
@@ -954,26 +974,6 @@ ICellularRadio::CODE QuectelRadio::checkFile(bool& bIsFilePresent, const std::st
return SUCCESS;
}
-ICellularRadio::CODE QuectelRadio::getQuectelFirmware(std::string& sFirmware) {
- printTrace("%s| Get Quectel-specific firmware version", getName().c_str());
- sFirmware = ICellularRadio::VALUE_NOT_SUPPORTED;
- std::string sCmd("AT+QGMR");
- std::string sResult = sendCommand(sCmd);
- size_t pos = sResult.find(ICellularRadio::RSP_OK);
- if (pos == std::string::npos) {
- printWarning("%s| Unable to get firmware from radio using command [%s]", getName().c_str(), sCmd.c_str());
- return FAILURE;
- }
-
- sFirmware = MTS::Text::trim(sResult.substr(0, pos));
- if(sFirmware.size() == 0) {
- printWarning("%s| Unable to get firmware from radio using command [%s]", getName().c_str(), sCmd.c_str());
- return FAILURE;
- }
-
- return SUCCESS;
-}
-
uint16_t QuectelRadio::getQuectelChecksum(const void* data, size_t nBytes) {
auto castData = static_cast<const uint8_t*>(data);
uint16_t iChecksum = 0;
@@ -1053,7 +1053,7 @@ ICellularRadio::CODE QuectelRadio::fumoWaitNewFirmware(ICellularRadio::UpdateCb&
MTS::Thread::sleep(10000);
- if (getQuectelFirmware(sQuectelFirmware) != SUCCESS) {
+ if (getVendorFirmware(sQuectelFirmware) != SUCCESS) {
// The radio is probably unavailable
resetConnection(100);
continue;