diff options
author | Serhii Kostiuk <serhii.o.kostiuk@globallogic.com> | 2020-06-16 12:29:16 +0300 |
---|---|---|
committer | Serhii Kostiuk <serhii.o.kostiuk@globallogic.com> | 2020-06-16 12:29:16 +0300 |
commit | 24c00df883e38873d192fdb46b5d2a963b65ffd0 (patch) | |
tree | b484875143075c9af4b62940760f054a39080e46 | |
parent | ff6e2d6a828d26db31832f7fa3eb3c5789332421 (diff) | |
download | radio-query-24c00df883e38873d192fdb46b5d2a963b65ffd0.tar.gz radio-query-24c00df883e38873d192fdb46b5d2a963b65ffd0.tar.bz2 radio-query-24c00df883e38873d192fdb46b5d2a963b65ffd0.zip |
GP-654: Add SIM card-based carrier detection
This commit adds implementation of the SIM-based carrier detection.
The goal for this implementation is to replace various places in the firmware
that previously relied on the ICCID-based carrier detection, provide some layer
of abstraction and forward compatibility for such places.
It is particularly useful for fwSwitch radios with AUTO firmware selection capability.
-rw-r--r-- | main.cpp | 17 |
1 files changed, 16 insertions, 1 deletions
@@ -87,6 +87,7 @@ const uint32_t OPT_LOCATION = 0x00010000; const uint32_t OPT_FIRMWAREBUILD = 0x00020000; const uint32_t OPT_SIM_STATUS = 0x00040000; const uint32_t OPT_RADIO_CODE = 0x00080000; +const uint32_t OPT_MTS_SIM_CARRIER = 0x00100000; const uint32_t OPT_SUMMARY_STATIC = 0x01000000; const uint32_t OPT_SUMMARY_NETWORK = 0x02000000; @@ -321,6 +322,12 @@ int main(int argc, char** argv) { printf("%s", sValue.c_str()); } } + } else if (g_iOptions & OPT_MTS_SIM_CARRIER) { + std::string sValue; + result = g_apRadio->getMtsSimCarrierCode(sValue); + if (result == ICellularRadio::SUCCESS) { + printf("%s", sValue.c_str()); + } } if (g_bIstty && result == ICellularRadio::CODE::SUCCESS) @@ -532,6 +539,12 @@ Json::Value getStaticData() { } jData[MTS::IO::ICellularRadio::KEY_SUPPORTED_CELL_MODES] = sSupportedCellModes; + std::string sCarrierCode(ICellularRadio::VALUE_UNKNOWN); + if(g_apRadio->getMtsSimCarrierCode(sCarrierCode) != ICellularRadio::SUCCESS) { + printWarning("SIM carrier information not found"); + } + jData[MTS::IO::ICellularRadio::KEY_MTS_SIM_CARRIER_CODE] = sCarrierCode; + return jData; } @@ -584,6 +597,7 @@ void parseOptions(int argc, char** argv) { { "dynamic", no_argument, &iOption, OPT_SUMMARY_NETWORK }, { "cellular-mode",no_argument, &iOption, OPT_CELL_MODE }, { "supported-cellular-modes", no_argument, &iOption, OPT_SUPPORTED_CELL_MODE }, + { "mts-sim-carrier-code", no_argument, &iOption, OPT_MTS_SIM_CARRIER }, { 0, 0, 0, 0 } }; /* getopt_long stores the option index here. */ @@ -692,9 +706,10 @@ void printHelp(const std::string& sApp) { printf("\t--sim-status\n"); printf("\t--cellular-mode\n"); printf("\t--supported-cellular-modes\n"); + printf("\t--mts-sim-carrier-code\n"); // Applicable for LTE910-NA1 dual FW images only // printf("\t--active-firmware\n"); printf("\n"); printf("\tSupported Radios:\n"); - printf("\t\tHE910, GE910, DE910, CE910, LE910, ME910\n"); + printf("\t\tHE910, GE910, DE910, CE910, LE910, ME910, EG95\n"); } |