summaryrefslogtreecommitdiff
path: root/src/MTS_IO_CellularRadio.cpp
diff options
context:
space:
mode:
authorJeff Hatch <jhatch@multitech.com>2020-02-25 10:40:01 -0600
committerJeff Hatch <jhatch@multitech.com>2020-02-25 10:40:01 -0600
commit36201df0d08daeeb64bb3923da789025a277a4ef (patch)
treee06153349d380256059021e177107eee407ee002 /src/MTS_IO_CellularRadio.cpp
parentcdd3fbe0f999546b3f39843f6f742f185781edd7 (diff)
parent0b0059b2f99874133b9cc988ce9279b6a31be6ff (diff)
downloadlibmts-io-36201df0d08daeeb64bb3923da789025a277a4ef.tar.gz
libmts-io-36201df0d08daeeb64bb3923da789025a277a4ef.tar.bz2
libmts-io-36201df0d08daeeb64bb3923da789025a277a4ef.zip
Merge branch 'sk/MTX-3239-dynamic-cell-mode' into 'master'
[MTX-3239] Add "cellularMode" value to the radio-query --dynamic See merge request !12
Diffstat (limited to 'src/MTS_IO_CellularRadio.cpp')
-rw-r--r--src/MTS_IO_CellularRadio.cpp32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/MTS_IO_CellularRadio.cpp b/src/MTS_IO_CellularRadio.cpp
index 8bdd00e..191299b 100644
--- a/src/MTS_IO_CellularRadio.cpp
+++ b/src/MTS_IO_CellularRadio.cpp
@@ -694,6 +694,14 @@ void CellularRadio::getCommonNetworkStats(Json::Value& jData) {
jData[ICellularRadio::KEY_NETWORK_REG] = sNetworkReg;
}
}
+
+ std::string sCurrentCellMode;
+ CELLULAR_MODES eModes;
+ if (getCellularMode(eModes) == SUCCESS) {
+ if (convertCellModesToString(eModes, sCurrentCellMode) == SUCCESS) {
+ jData[ICellularRadio::KEY_CELL_MODE] = sCurrentCellMode;
+ }
+ }
}
ICellularRadio::CODE CellularRadio::getSimLockStatus(std::string& sData)
@@ -851,6 +859,30 @@ ICellularRadio::CODE CellularRadio::convertRegistrationToString(REGISTRATION eRe
return eCode;
}
+ICellularRadio::CODE CellularRadio::convertCellModesToString(ICellularRadio::CELLULAR_MODES eCellModes, std::string& sCellModes) {
+ std::string sResult;
+
+ if (eCellModes & CELLULAR_MODE_2G) {
+ sResult += "2g,";
+ }
+ if (eCellModes & CELLULAR_MODE_3G) {
+ sResult += "3g,";
+ }
+ if (eCellModes & CELLULAR_MODE_4G) {
+ sResult += "4g,";
+ }
+ if (eCellModes & CELLULAR_MODE_5G) {
+ sResult += "5g,";
+ }
+
+ if (!sResult.empty()) {
+ sResult.pop_back(); // remove trailing comma
+ }
+
+ sCellModes = sResult;
+ return SUCCESS;
+}
+
ICellularRadio::CODE CellularRadio::unlockSimCard(const Json::Value& jArgs) {
printTrace("%s| Unlock the SIM card using PIN code", m_sName.c_str());