diff options
author | Yevhen Mykhno <yevhen.mykhno@globallogic.com> | 2023-01-31 13:39:31 +0200 |
---|---|---|
committer | Yevhen Mykhno <yevhen.mykhno@globallogic.com> | 2023-01-31 19:44:40 +0200 |
commit | a44568d47a44beb66433206cdb7f7d931efc0f43 (patch) | |
tree | 37849e3cb1a65a949dca6461269748413d310ed0 /src/MTS_IO_CB610LRadio.cpp | |
parent | 5da5645c2dad56eb9654e4fbe7b9c070cb997e5d (diff) | |
download | libmts-io-a44568d47a44beb66433206cdb7f7d931efc0f43.tar.gz libmts-io-a44568d47a44beb66433206cdb7f7d931efc0f43.tar.bz2 libmts-io-a44568d47a44beb66433206cdb7f7d931efc0f43.zip |
[GP-1733] mPower R.6.3.X: L6G1 Support - libmts-io, radio-cmd, radio-query
Implementing CB610L radio modem support
Diffstat (limited to 'src/MTS_IO_CB610LRadio.cpp')
-rw-r--r-- | src/MTS_IO_CB610LRadio.cpp | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/MTS_IO_CB610LRadio.cpp b/src/MTS_IO_CB610LRadio.cpp new file mode 100644 index 0000000..7fbd884 --- /dev/null +++ b/src/MTS_IO_CB610LRadio.cpp @@ -0,0 +1,58 @@ +/* + * Copyright (C) 2023 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/>. + * + */ + +#include <mts/MTS_IO_CB610LRadio.h> + +#include <mts/MTS_Logger.h> +#include <mts/MTS_Thread.h> +#include <mts/MTS_Text.h> +#include <mts/MTS_Timer.h> + +using namespace MTS::IO; + +const std::string CB610LRadio::MODEL_NAME("CB610L"); + +CB610LRadio::CB610LRadio(const std::string& sPort) +: SequansRadio(MODEL_NAME, sPort) { + +} + +CB610LRadio::~CB610LRadio() { + +} + +ICellularRadio::CODE CB610LRadio::setCellularMode(CELLULAR_MODES networks) { + if (networks != CELLULAR_MODE_4G) { + printError("%s| The CB610L radios support only the 4G cellular mode", getName().c_str()); + return FAILURE; + } + std::string sCmd("AT+WS46=28"); + std::string cmdResult = sendCommand(sCmd); + if (cmdResult.find(ICellularRadio::RSP_OK) == std::string::npos) { + printError("%s| AT+WS46=28 returned unexpected response: [%s][%s]", getName().c_str(), sCmd.c_str(), cmdResult.c_str()); + return FAILURE; + } + return SUCCESS; +} + +ICellularRadio::CODE CB610LRadio::getSupportedCellularModes(CELLULAR_MODES &networks) { + networks = CELLULAR_MODE_4G; + return SUCCESS; +}
\ No newline at end of file |