From 47997c0e5aa7d32ddbba22ceead2ff553881c47c Mon Sep 17 00:00:00 2001 From: Mykola Salomatin Date: Wed, 4 May 2022 12:40:15 +0300 Subject: [MTX-4445] mPower R.6.0.X: MTCAP3: LNA7D - cellular radio support GP-1548 setRxDiversity command moved to common class for Quectel radios - QuectelRadio.cpp. Add LNA7D radio support. LNA7D radio supports only 3g and 4g network modes. Add new command for enabling/disabling diversity. Retained backward compatibility with the old diversity command. --- src/MTS_IO_EG95Radio.cpp | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) (limited to 'src/MTS_IO_EG95Radio.cpp') diff --git a/src/MTS_IO_EG95Radio.cpp b/src/MTS_IO_EG95Radio.cpp index 296f183..83d6489 100644 --- a/src/MTS_IO_EG95Radio.cpp +++ b/src/MTS_IO_EG95Radio.cpp @@ -19,6 +19,7 @@ */ #include +#include using namespace MTS::IO; @@ -34,18 +35,21 @@ EG95Radio::~EG95Radio() { } -ICellularRadio::CODE EG95Radio::setRxDiversity(const Json::Value& jArgs) { - /* Command string for EG95 radios: AT+QCFG="diversity",(0-1) */ - if (jArgs["enabled"].asString() != "1" && jArgs["enabled"].asString() != "0") { - return FAILURE; +ICellularRadio::CODE EG95Radio::getSupportedCellularModes(CELLULAR_MODES &networks) { + std::string sRadioCode; + ICellularRadio::CODE iCode; + + iCode = convertModelToMtsShortCode(MODEL_NAME, sRadioCode, this); + if (iCode != SUCCESS) { + printError("%s| Failed to obtain radio code: [%d]", getName().c_str(), iCode); + return iCode; } - std::string sCmd = "AT+QCFG=\"diversity\","; - sCmd += jArgs["enabled"].asString(); - return sendBasicCommand(sCmd); -} + if (sRadioCode == "LNA7D") { + networks = static_cast(CELLULAR_MODE_3G | CELLULAR_MODE_4G); + } else { + networks = static_cast(CELLULAR_MODE_2G | CELLULAR_MODE_3G | CELLULAR_MODE_4G); + } -ICellularRadio::CODE EG95Radio::getSupportedCellularModes(CELLULAR_MODES &networks) { - networks = static_cast(CELLULAR_MODE_2G | CELLULAR_MODE_3G | CELLULAR_MODE_4G); return SUCCESS; } \ No newline at end of file -- cgit v1.2.3