diff options
| author | Yevhen Mykhno <yevhen.mykhno@globallogic.com> | 2023-01-31 13:26:34 +0200 | 
|---|---|---|
| committer | Yevhen Mykhno <yevhen.mykhno@globallogic.com> | 2023-01-31 14:42:13 +0200 | 
| commit | 5da5645c2dad56eb9654e4fbe7b9c070cb997e5d (patch) | |
| tree | 1679304e1b5858dfc092edaaaec9de7a0f3ed69b /src/MTS_IO_CellularRadio.cpp | |
| parent | 430506fb7757d6736988d75c8ea53c85f6c97da9 (diff) | |
| download | libmts-io-5da5645c2dad56eb9654e4fbe7b9c070cb997e5d.tar.gz libmts-io-5da5645c2dad56eb9654e4fbe7b9c070cb997e5d.tar.bz2 libmts-io-5da5645c2dad56eb9654e4fbe7b9c070cb997e5d.zip | |
[GP-1733] mPower R.6.3.X: L6G1 Support - libmts-io, radio-cmd, radio-query
- function getRegistrationCommands() implemented as
pure virtual and overrided for every base radio model
- minor indentation fixes
- function getSimStatusSummary(Json::Value& jData) changed to process
radio modems that do not have separate commands for the SIM presence check
- function getManufacturer(std::string& sManufacturer) changed: AT command changet to 'AT+CGMI'
- src/MTS_IO_QuectelRadio.cpp -- comments correction
Diffstat (limited to 'src/MTS_IO_CellularRadio.cpp')
| -rw-r--r-- | src/MTS_IO_CellularRadio.cpp | 76 | 
1 files changed, 43 insertions, 33 deletions
| diff --git a/src/MTS_IO_CellularRadio.cpp b/src/MTS_IO_CellularRadio.cpp index 069d5fa..3ce97ec 100644 --- a/src/MTS_IO_CellularRadio.cpp +++ b/src/MTS_IO_CellularRadio.cpp @@ -64,27 +64,41 @@ namespace {      // http://niviuk.free.fr/lte_band.php      const nameRangeMap EULTRAband[] =      { -                {"EUTRAN BAND1",      0,   599}, {"EUTRAN BAND2",    600,  1199}, -                {"EUTRAN BAND3",   1200,  1949}, {"EUTRAN BAND4",   1950,  2399}, -                {"EUTRAN BAND5",   2400,  2649}, {"EUTRAN BAND6",   2650,  2749}, -                {"EUTRAN BAND7",   2750,  3449}, {"EUTRAN BAND8",   3450,  3799}, -                {"EUTRAN BAND9",   3800,  4149}, {"EUTRAN BAND10",  4150,  4749}, -                {"EUTRAN BAND11",  4750,  4999}, {"EUTRAN BAND12",  5000,  5179}, -                {"EUTRAN BAND13",  5180,  5279}, {"EUTRAN BAND14",  5280,  5379}, -                {"EUTRAN BAND17",  5730,  5849}, {"EUTRAN BAND18",  5850,  5999}, -                {"EUTRAN BAND19",  6000,  6149}, {"EUTRAN BAND20",  6150,  6449}, -                {"EUTRAN BAND21",  6450,  6525}, {"EUTRAN BAND22",  6600,  7399}, -                {"EUTRAN BAND23",  7500,  7699}, {"EUTRAN BAND24",  7700,  8039}, -                {"EUTRAN BAND25",  8040,  8689}, {"EUTRAN BAND26",  8690,  9039}, -                {"EUTRAN BAND27",  9040,  9209}, {"EUTRAN BAND28",  9210,  9659}, -                {"EUTRAN BAND29",  9660,  9769}, {"EUTRAN BAND30",  9770,  9869}, -                {"EUTRAN BAND31",  9870,  9919}, {"EUTRAN BAND32",  9920, 10359}, -                {"EUTRAN BAND33", 36000, 36199}, {"EUTRAN BAND34", 36200, 36349}, -                {"EUTRAN BAND35", 36350, 36949}, {"EUTRAN BAND36", 36950, 37549}, -                {"EUTRAN BAND37", 37550, 37749}, {"EUTRAN BAND38", 37750, 38249}, -                {"EUTRAN BAND39", 38250, 38649}, {"EUTRAN BAND40", 38650, 39649}, -                {"EUTRAN BAND41", 39650, 41589}, {"EUTRAN BAND42", 41590, 43589}, -                {"EUTRAN BAND43", 43590, 45589}, {"EUTRAN BAND44", 45590, 46589} +                {"EUTRAN BAND1",       0,   599}, {"EUTRAN BAND2",     600,  1199}, +                {"EUTRAN BAND3",    1200,  1949}, {"EUTRAN BAND4",    1950,  2399}, +                {"EUTRAN BAND5",    2400,  2649}, {"EUTRAN BAND6",    2650,  2749}, +                {"EUTRAN BAND7",    2750,  3449}, {"EUTRAN BAND8",    3450,  3799}, +                {"EUTRAN BAND9",    3800,  4149}, {"EUTRAN BAND10",   4150,  4749}, +                {"EUTRAN BAND11",   4750,  4999}, {"EUTRAN BAND12",   5000,  5179}, +                {"EUTRAN BAND13",   5180,  5279}, {"EUTRAN BAND14",   5280,  5379}, +                {"EUTRAN BAND17",   5730,  5849}, {"EUTRAN BAND18",   5850,  5999}, +                {"EUTRAN BAND19",   6000,  6149}, {"EUTRAN BAND20",   6150,  6449}, +                {"EUTRAN BAND21",   6450,  6525}, {"EUTRAN BAND22",   6600,  7399}, +                {"EUTRAN BAND23",   7500,  7699}, {"EUTRAN BAND24",   7700,  8039}, +                {"EUTRAN BAND25",   8040,  8689}, {"EUTRAN BAND26",   8690,  9039}, +                {"EUTRAN BAND27",   9040,  9209}, {"EUTRAN BAND28",   9210,  9659}, +                {"EUTRAN BAND29",   9660,  9769}, {"EUTRAN BAND30",   9770,  9869}, +                {"EUTRAN BAND31",   9870,  9919}, {"EUTRAN BAND32",   9920, 10359}, +                {"EUTRAN BAND33",  36000, 36199}, {"EUTRAN BAND34",  36200, 36349}, +                {"EUTRAN BAND35",  36350, 36949}, {"EUTRAN BAND36",  36950, 37549}, +                {"EUTRAN BAND37",  37550, 37749}, {"EUTRAN BAND38",  37750, 38249}, +                {"EUTRAN BAND39",  38250, 38649}, {"EUTRAN BAND40",  38650, 39649}, +                {"EUTRAN BAND41",  39650, 41589}, {"EUTRAN BAND42",  41590, 43589}, +                {"EUTRAN BAND43",  43590, 45589}, {"EUTRAN BAND44",  45590, 46589}, +                {"EUTRAN BAND45",  46590, 46789}, {"EUTRAN BAND46",  46790, 54539}, +                {"EUTRAN BAND47",  54540, 55239}, {"EUTRAN BAND48",  55240, 56739}, +                {"EUTRAN BAND49",  56740, 58239}, {"EUTRAN BAND50",  58240, 59089}, +                {"EUTRAN BAND51",  59090, 59139}, {"EUTRAN BAND52",  59140, 60139}, +                {"EUTRAN BAND53",  60140, 60254}, +                {"EUTRAN BAND65",  65536, 66435}, {"EUTRAN BAND66",  66436, 67335}, +                {"EUTRAN BAND67",  67336, 67535}, {"EUTRAN BAND68",  67536, 67835}, +                {"EUTRAN BAND69",  67836, 68335}, {"EUTRAN BAND70",  68336, 68585}, +                {"EUTRAN BAND71",  68586, 68935}, {"EUTRAN BAND72",  68936, 68985}, +                {"EUTRAN BAND73",  68986, 69035}, {"EUTRAN BAND74",  69036, 69465}, +                {"EUTRAN BAND75",  69466, 70315}, {"EUTRAN BAND76",  70316, 70365}, +                {"EUTRAN BAND85",  70366, 70545}, +                {"EUTRAN BAND87",  70546, 70595}, {"EUTRAN BAND88",  70596, 70645}, +                {"EUTRAN BAND103", 70646, 70655}      };  } @@ -225,7 +239,7 @@ ICellularRadio::CODE CellularRadio::getHardware(std::string& sHardware) {  ICellularRadio::CODE CellularRadio::getManufacturer(std::string& sManufacturer) {      printTrace("%s| Get Manufacturer", m_sName.c_str());      sManufacturer = ICellularRadio::VALUE_NOT_SUPPORTED; -    std::string sCmd("AT+GMI"); +    std::string sCmd("AT+CGMI");      std::string sResult = sendCommand(sCmd);      size_t pos = sResult.find(ICellularRadio::RSP_OK);      if (pos == std::string::npos) { @@ -309,6 +323,13 @@ ICellularRadio::CODE CellularRadio::getSimStatusSummary(Json::Value& jData) {      do {          retCode = getIsSimInserted(bIsSimInserted); + +        // Some radio modems do not have separate commands for the SIM presence check +        if (retCode == NOT_APPLICABLE) { +            retCode = SUCCESS; +            bIsSimInserted = true; +        } +          if (retCode != SUCCESS) {              break;          } @@ -841,17 +862,6 @@ void CellularRadio::initMipProfile(Json::Value& jData) {      jData[ICellularRadio::KEY_MIP_MNHASS] = false;  } -const std::vector<std::string> CellularRadio::getRegistrationCommands() { -    std::string sType; -    convertModelToType(getName(), sType); - -    if (sType == VALUE_TYPE_LTE) { -        return { "CREG", "CGREG", "CEREG" }; -    } else { -        return { "CREG", "CGREG" }; -    } -} -  ICellularRadio::REGISTRATION CellularRadio::parseRegResponse(std::string sResult) {      size_t start = sResult.find(',');      size_t stop = sResult.find(' ', start); | 
