summaryrefslogtreecommitdiff
path: root/main.cpp
diff options
context:
space:
mode:
authorrodion.shyshkin <rodion.shyshkin@globallogic.com>2021-03-31 22:56:48 +0300
committerrodion.shyshkin <rodion.shyshkin@globallogic.com>2021-03-31 22:56:48 +0300
commit0337cce1fb3c7554f1909d1d604941069ca66be6 (patch)
treecc6f39e5fcb1e6caf6e12791dc74ca7e79f56781 /main.cpp
parent9368d3f477c11865ec7e8f48f93e1bbde767e69a (diff)
downloadradio-cmd-0337cce1fb3c7554f1909d1d604941069ca66be6.tar.gz
radio-cmd-0337cce1fb3c7554f1909d1d604941069ca66be6.tar.bz2
radio-cmd-0337cce1fb3c7554f1909d1d604941069ca66be6.zip
[GP-1111] mPower R. Apr 2021: +CEMODE shall be set to CEMODE=2 - libmts-io for Telit
Changes after a code review.
Diffstat (limited to 'main.cpp')
-rw-r--r--main.cpp35
1 files changed, 9 insertions, 26 deletions
diff --git a/main.cpp b/main.cpp
index c2324b7..14b3c31 100644
--- a/main.cpp
+++ b/main.cpp
@@ -71,7 +71,7 @@ Json::Value g_jData;
std::string g_sSimPin;
std::string g_sCellularMode;
std::string g_sDeltaFwPath;
-std::string g_sUEOperationMode;
+std::string g_sUeModeOfOperation;
MTS::AutoPtr<MTS::IO::ICellularRadio> g_apRadio;
@@ -111,13 +111,13 @@ const uint32_t OPT_CONFIG_FILE = 0x04000000;
const uint32_t OPT_SET_CELLULAR_MODE = 0x08000000;
const uint32_t OPT_UNLOCK_SIM_CARD = 0x20000000;
const uint32_t OPT_RESET_RADIO = 0x40000000;
-const uint32_t OPT_SET_UE_OPERATION_MODE = 0x80000000;
int32_t g_iAuxOptions = 0;
const uint32_t AOPT_OMA_DM_START = 0x00000001;
const uint32_t AOPT_DFU_UPLOAD = 0x00000002;
const uint32_t AOPT_DFU_APPLY = 0x00000004;
const uint32_t AOPT_FUMO_LOCAL = 0x00000008;
+const uint32_t AOPT_SET_UE_MODE_OF_OPERATION = 0x00000010;
void handle_sigterm(int signum);
void printHelp(const std::string& sApp);
@@ -127,7 +127,6 @@ void shutdown();
const char *code2str(MTS::IO::ICellularRadio::CODE code);
std::string loadImeiFromDeviceInfo();
MTS::IO::ICellularRadio::CELLULAR_MODES cellularModeFlags(const std::string networks);
-MTS::IO::ICellularRadio::UE_MODES_OF_OPERATION ueModesOfOperation(const std::string& mode);
static int iOption = 0;
@@ -412,13 +411,14 @@ int main(int argc, char** argv) {
result = g_apRadio->fumoLocalApply(cb);
} else if (g_iAuxOptions & AOPT_FUMO_LOCAL) {
result = handleFumoLocal(g_sDeltaFwPath);
- } else if (g_iOptions & OPT_SET_UE_OPERATION_MODE) {
- ICellularRadio::UE_MODES_OF_OPERATION mode = ueModesOfOperation(g_sUEOperationMode);
- if (mode != ICellularRadio::UNKNOWN_MODE) {
+ } else if (g_iAuxOptions & AOPT_SET_UE_MODE_OF_OPERATION) {
+ ICellularRadio::UE_MODES_OF_OPERATION mode;
+ result = ICellularRadio::convertStringToUeMode(g_sUeModeOfOperation, mode);
+ if (result == ICellularRadio::CODE::SUCCESS) {
result = g_apRadio->setUeModeOfOperation(mode);
printf("%s\n", code2str(result));
} else {
- printf("Invalid argument: %s\n", g_sUEOperationMode.c_str());
+ printf("Invalid argument: %s\n", g_sUeModeOfOperation.c_str());
}
}
@@ -662,8 +662,8 @@ void parseOptions(int argc, char** argv)
case 'U':
if (optarg)
- g_sUEOperationMode = optarg;
- g_iOptions |= OPT_SET_UE_OPERATION_MODE;
+ g_sUeModeOfOperation = optarg;
+ g_iAuxOptions |= AOPT_SET_UE_MODE_OF_OPERATION;
break;
default:
@@ -771,23 +771,6 @@ MTS::IO::ICellularRadio::CELLULAR_MODES cellularModeFlags(const std::string netw
return static_cast<ICellularRadio::CELLULAR_MODES>(result);
}
-MTS::IO::ICellularRadio::UE_MODES_OF_OPERATION ueModesOfOperation(const std::string& mode) {
- using namespace MTS::IO;
- int result;
- if (mode == "ps_1") {
- result = ICellularRadio::UE_MODES_OF_OPERATION::PS_MODE1;
- } else if (mode == "ps_2") {
- result = ICellularRadio::UE_MODES_OF_OPERATION::PS_MODE2;
- } else if (mode == "csps_1") {
- result = ICellularRadio::UE_MODES_OF_OPERATION::CS_PS_MODE1;
- } else if (mode == "csps_2") {
- result = ICellularRadio::UE_MODES_OF_OPERATION::CS_PS_MODE2;
- } else {
- result = ICellularRadio::UNKNOWN_MODE;
- }
- return static_cast<ICellularRadio::UE_MODES_OF_OPERATION>(result);
-}
-
MTS::IO::ICellularRadio::CODE handleDeltaFwUpload(const std::string& sPath) {
int fd = open(sPath.c_str(), O_RDONLY);
if (fd < 0) {