summaryrefslogtreecommitdiff
path: root/src/MTS_IO_CellularRadio.cpp
diff options
context:
space:
mode:
authorJesse Gilles <jgilles@multitech.com>2015-09-09 10:40:45 -0500
committerJesse Gilles <jgilles@multitech.com>2015-09-09 10:40:45 -0500
commit603bdced78ec4fb0ab55816182cf39dadd301ab6 (patch)
treea7d9b6c4178bf7aca75de8b33cc5d03e8894d529 /src/MTS_IO_CellularRadio.cpp
parente17accd33c55f5eb83f19a05a0abe953d1bf7f0a (diff)
downloadlibmts-io-603bdced78ec4fb0ab55816182cf39dadd301ab6.tar.gz
libmts-io-603bdced78ec4fb0ab55816182cf39dadd301ab6.tar.bz2
libmts-io-603bdced78ec4fb0ab55816182cf39dadd301ab6.zip
use CGREG? to query registration for LE910 models
Resolution for LE910-based MTSMCs https://support.multitech.com/support/case.html?action=view&id=63163
Diffstat (limited to 'src/MTS_IO_CellularRadio.cpp')
-rw-r--r--src/MTS_IO_CellularRadio.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/src/MTS_IO_CellularRadio.cpp b/src/MTS_IO_CellularRadio.cpp
index 382db3b..129a3ae 100644
--- a/src/MTS_IO_CellularRadio.cpp
+++ b/src/MTS_IO_CellularRadio.cpp
@@ -1097,9 +1097,21 @@ void CellularRadio::initMipProfile(Json::Value& jData) {
}
CellularRadio::CODE CellularRadio::getRegistration(REGISTRATION& eRegistration) {
- std::string sCmd("AT+CREG?");
+ std::string sCmd;
+ std::string sResp;
+
+ if (m_sName.find("LE910-") != std::string::npos) {
+ // use AT+CGREG instead for LE910 models
+ sCmd = "AT+CGREG?";
+ sResp = "+CGREG: ";
+ }
+ else {
+ sCmd = "AT+CREG?";
+ sResp = "+CREG: ";
+ }
+
std::string sResult = sendCommand(sCmd, DEFAULT_BAIL_STRINGS, 5000);
- if (sResult.find("+CREG: ") == std::string::npos) {
+ if (sResult.find(sResp) == std::string::npos) {
if(sResult.size() == 0) {
printDebug("%s| Registration command returned no response: [%s]", m_sName.c_str());
return NO_RESPONSE;