diff options
| author | mykola.salomatin <mykola.salomatin@globallogic.com> | 2021-04-15 20:47:36 +0300 | 
|---|---|---|
| committer | mykola.salomatin <mykola.salomatin@globallogic.com> | 2021-04-15 20:47:36 +0300 | 
| commit | 6cab1e29fc2031a76c87e49c3bcdd7c5db8f40dc (patch) | |
| tree | bbb704819781eb1f57648adb4dde434376fc0018 /src/MTS_IO_LE910Radio.cpp | |
| parent | 67a991ff3d772d2f81cb9907e1a710a88436f7c7 (diff) | |
| download | libmts-io-6cab1e29fc2031a76c87e49c3bcdd7c5db8f40dc.tar.gz libmts-io-6cab1e29fc2031a76c87e49c3bcdd7c5db8f40dc.tar.bz2 libmts-io-6cab1e29fc2031a76c87e49c3bcdd7c5db8f40dc.zip | |
[MTX-3998] mPower R. Apr 2021: +CEMODE shall be set to CEMODE=2 - Quectel - GP-1111
Refactoring common functions, telit and quectel functions related to CEMODE switching
Diffstat (limited to 'src/MTS_IO_LE910Radio.cpp')
| -rw-r--r-- | src/MTS_IO_LE910Radio.cpp | 62 | 
1 files changed, 33 insertions, 29 deletions
| diff --git a/src/MTS_IO_LE910Radio.cpp b/src/MTS_IO_LE910Radio.cpp index 764ac5e..74cf5c1 100644 --- a/src/MTS_IO_LE910Radio.cpp +++ b/src/MTS_IO_LE910Radio.cpp @@ -78,51 +78,55 @@ ICellularRadio::CODE LE910Radio::getModemLocation(std::string& sLocation) {      return SUCCESS;  } -ICellularRadio::CODE LE910Radio::setUeModeOfOperation(ICellularRadio::UE_MODES_OF_OPERATION newmode) { -    uint8_t iValue; +ICellularRadio::CODE LE910Radio::setUeModeOfOperation(UE_MODES_OF_OPERATION mode) { +    printTrace("%s| Set UE Mode Of Operation", getName().c_str()); -    switch (newmode) { +    std::string sValue; + +    switch (mode) {          case UE_MODES_OF_OPERATION::PS_MODE1: -            iValue = 3; +            sValue = "3";              break;          case UE_MODES_OF_OPERATION::PS_MODE2: -            iValue = 0; +            sValue = "0";              break;          case UE_MODES_OF_OPERATION::CS_PS_MODE1: -            iValue = 1; +            sValue = "1";              break;          case UE_MODES_OF_OPERATION::CS_PS_MODE2: -            iValue = 2; +            sValue = "2";              break;          default: -            printTrace("Set UE Mode Of Operation: invalid argument"); -            return CODE::INVALID_ARGS; +            printError("%s| Set UE Mode Of Operation: invalid argument", getName().c_str()); +            return INVALID_ARGS;      }      const int dTimeout = 1000; // ms -    const std::string sCommand = "AT+CEMODE=" + MTS::Text::format(iValue); +    const std::string sCommand = "AT+CEMODE=" + sValue;      return sendBasicCommand(sCommand, dTimeout);  } -ICellularRadio::CODE LE910Radio::getUeModeOfOperation(ICellularRadio::UE_MODES_OF_OPERATION& newmode) { +ICellularRadio::CODE LE910Radio::getUeModeOfOperation(UE_MODES_OF_OPERATION& mode) { +    printTrace("%s| Get UE Mode Of Operation", getName().c_str()); +      const std::string sCommand = "AT+CEMODE?";      const int dTimeout = 1000; // ms      std::string sResult = sendCommand(sCommand, ICellularRadio::DEFAULT_BAIL_STRINGS, dTimeout); -    printTrace("Got response from the radio: %s", sResult.c_str()); +    printTrace("%s| Got response from the radio: %s", getName().c_str(), sResult.c_str());      size_t end = sResult.rfind(ICellularRadio::RSP_OK);      if (std::string::npos == end) { -        printWarning("Unable to get UE Mode Of Operation from radio using command [%s]", sCommand.c_str()); -        return CODE::FAILURE; +        printError("%s| Unable to get UE Mode Of Operation from radio using command [%s]", getName().c_str(), sCommand.c_str()); +        return FAILURE;      }      const std::string sLabel = "+CEMODE: ";      size_t start = sResult.find(sLabel);      if (std::string::npos == start) { -        printWarning("Unable to get UE Mode Of Operation from radio using command [%s]", sCommand.c_str()); -        return CODE::FAILURE; +        printError("%s| Unable to get UE Mode Of Operation from radio using command [%s]", getName().c_str(), sCommand.c_str()); +        return FAILURE;      }      start += sLabel.length(); @@ -130,32 +134,32 @@ ICellularRadio::CODE LE910Radio::getUeModeOfOperation(ICellularRadio::UE_MODES_O      uint8_t uiValue;      if (!MTS::Text::parse(uiValue, sValue)) { -        printWarning("Unable to parse CEMODE from response [%s]", sResult.c_str()); -        return CODE::FAILURE; +        printError("%s| Unable to parse CEMODE from response [%s]", getName().c_str(), sResult.c_str()); +        return FAILURE;      }      CODE rc;      switch (uiValue) {          case 0: -            newmode = ICellularRadio::UE_MODES_OF_OPERATION::PS_MODE2; -            rc = CODE::SUCCESS; +            mode = UE_MODES_OF_OPERATION::PS_MODE2; +            rc = SUCCESS;              break;          case 1: -            newmode = ICellularRadio::UE_MODES_OF_OPERATION::CS_PS_MODE1; -            rc = CODE::SUCCESS; +            mode = UE_MODES_OF_OPERATION::CS_PS_MODE1; +            rc = SUCCESS;              break;          case 2: -            newmode = ICellularRadio::UE_MODES_OF_OPERATION::CS_PS_MODE2; -            rc = CODE::SUCCESS; +            mode = UE_MODES_OF_OPERATION::CS_PS_MODE2; +            rc = SUCCESS;              break;          case 3: -            newmode = ICellularRadio::UE_MODES_OF_OPERATION::PS_MODE1; -            rc = CODE::SUCCESS; +            mode = UE_MODES_OF_OPERATION::PS_MODE1; +            rc = SUCCESS;              break;          default: -            printWarning("Unable to parse CEMODE from response [%s]", sResult.c_str()); -            newmode = ICellularRadio::UE_MODES_OF_OPERATION::UNKNOWN_MODE; -            rc = CODE::FAILURE; +            printError("%s| Unable to parse CEMODE from response [%s]", getName().c_str(), sResult.c_str()); +            mode = UE_MODES_OF_OPERATION::UNKNOWN_MODE; +            rc = FAILURE;              break;      }      return rc; | 
