diff options
Diffstat (limited to 'src/MTS_IO_ME910C1NARadio.cpp')
-rw-r--r-- | src/MTS_IO_ME910C1NARadio.cpp | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/src/MTS_IO_ME910C1NARadio.cpp b/src/MTS_IO_ME910C1NARadio.cpp deleted file mode 100644 index 8c9992e..0000000 --- a/src/MTS_IO_ME910C1NARadio.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* - * Copyright (C) 2017 by Multi-Tech Systems - * - * This file is part of libmts-io. - * - * libmts-io is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * libmts-io is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with libmts-io. If not, see <http://www.gnu.org/licenses/>. - * - */ - -/*! - \file MTS_IO_ME910C1NARadio.cpp - \brief A brief description - - A more elaborate description -*/ -#include <mts/MTS_Text.h> -#include <mts/MTS_Logger.h> -#include <mts/MTS_IO_ME910C1NARadio.h> - -using namespace MTS::IO; - -const std::string ME910C1NARadio::MODEL_NAME("ME910C1-NA"); - -ME910C1NARadio::ME910C1NARadio(const std::string& sPort) -: ME910Radio(MODEL_NAME, sPort) -{ - -} - -CellularRadio::CODE ME910C1NARadio::setActiveFirmware(const Json::Value& jArgs) { - CellularRadio::CODE rc; - - // Set command allows enabling a specific firmware image on products - // embedding 2 different firmware images: - // - // "AT#FWSWITCH=<image_number>[,<storage_conf>]" - // <image_number> - Firmware Image To Be Enabled - // 0 – Image 1 (Default) - // 1 – Image 2 - // <storage_conf> - Setting Storage Configuration - // 0 – Save the <image_number> value in RAM - // 1 – Save the <image_number> value in NVM - - printTrace("%s| Set Active Firmware Image Number", getName().c_str()); - - if(!jArgs["fwid"].isString()) { - return INVALID_ARGS; - } - - if (jArgs["fwid"].asString() != "1" && jArgs["fwid"].asString() != "0") { - return INVALID_ARGS; - } - - // LE910-NA1 and LE910-NA V2 is orderable in single image or dual image (single SKU) - // configuration. So issue the test command first - rc = sendBasicCommand("AT#FWSWITCH=?"); - if (rc == ERROR) { - printTrace("%s| FWSWITCH is not supported", getName().c_str()); - return NOT_APPLICABLE; - } - else if (rc != SUCCESS) { - return rc; - } - - std::string sCmd = "AT#FWSWITCH="; - sCmd += jArgs["fwid"].asString(); - sCmd += ",1"; - - printTrace("%s| Issuing %s command", getName().c_str(), sCmd.c_str()); - - return sendBasicCommand(sCmd, 5000); -} - -CellularRadio::CODE ME910C1NARadio::getActiveFirmware(std::string& sFwId) { - std::string sCmd; - CellularRadio::CODE rc; - // - // Read command reports the current active firmware image: - // AT#FWSWITCH? - // #FWSWITCH: 1 - // - // OK - // - printTrace("%s| Get Active Firmware Image Number", getName().c_str()); - - // LE910-NA1 and LE910-NA V2 is orderable in single image or dual image (single SKU) - // configuration. So issue the test command first - sCmd = "AT#FWSWITCH=?"; - rc = sendBasicCommand(sCmd); - if (rc == ERROR) { - printTrace("%s| FWSWITCH is not supported", getName().c_str()); - return NOT_APPLICABLE; - } - else if (rc != SUCCESS) { - return rc; - } - - sCmd = "AT#FWSWITCH?"; - std::string sResult = sendCommand(sCmd); - size_t end = sResult.find(RSP_OK); - if (end == std::string::npos) { - printWarning("%s| Unable to get active image number from radio using command [%s]", - getName().c_str(), - sCmd.c_str()); - return FAILURE; - } - - size_t start = sResult.find("#FWSWITCH:") + sizeof("#FWSWITCH:"); - sFwId = MTS::Text::trim(sResult.substr(start, end-start)); - if(sFwId.size() == 0) { - printWarning("%s| Firmware Image Number is empty", getName().c_str()); - return FAILURE; - } - - return SUCCESS; -} |