diff --git a/plugins/feature/limerfe/limerfe.cpp b/plugins/feature/limerfe/limerfe.cpp index bf49c64bd..fc631375c 100644 --- a/plugins/feature/limerfe/limerfe.cpp +++ b/plugins/feature/limerfe/limerfe.cpp @@ -302,13 +302,16 @@ int LimeRFE::setRx(bool rxOn) } } - qDebug("LimeRFE::setRx: switch %s mode: %d", rxOn ? "on" : "off", mode); int rc = RFE_Mode(m_rfeDevice, mode); - if (rc == 0) { + if (rc == 0) + { m_rxOn = rxOn; - } else { - qInfo("LimeRFE::setRx: %s", getError(rc).c_str()); + qDebug("LimeRFE::setRx: switch %s mode: %d", rxOn ? "on" : "off", mode); + } + else + { + qInfo("LimeRFE::setRx %s: %s", rxOn ? "on" : "off", getError(rc).c_str()); } return rc; @@ -337,13 +340,16 @@ int LimeRFE::setTx(bool txOn) } } - qDebug("LimeRFE::setTx: switch %s mode: %d", txOn ? "on" : "off", mode); int rc = RFE_Mode(m_rfeDevice, mode); - if (rc == 0) { + if (rc == 0) + { m_txOn = txOn; - } else { - qInfo("LimeRFE::setTx: %s", getError(rc).c_str()); + qDebug("LimeRFE::setTx: switch %s mode: %d", txOn ? "on" : "off", mode); + } + else + { + qInfo("LimeRFE::setTx %s: %s", txOn ? "on" : "off", getError(rc).c_str()); } return rc; @@ -905,6 +911,46 @@ int LimeRFE::webapiActionsPost( unknownAction = false; } + if (featureActionsKeys.contains("setRx")) + { + int rc = setRx(swgLimeRFEActions->getSetRx() != 0); + unknownAction = false; + + if (rc == 0) + { + if (getMessageQueueToGUI()) + { + MsgReportSetRx *msg = MsgReportSetRx::create(swgLimeRFEActions->getSetRx() != 0); + getMessageQueueToGUI()->push(msg); + } + } + else + { + errorMessage = QString("Cannot switch Rx"); + return 500; + } + } + + if (featureActionsKeys.contains("setTx")) + { + int rc = setTx(swgLimeRFEActions->getSetTx() != 0); + unknownAction = false; + + if (rc == 0) + { + if (getMessageQueueToGUI()) + { + MsgReportSetTx *msg = MsgReportSetTx::create(swgLimeRFEActions->getSetTx() != 0); + getMessageQueueToGUI()->push(msg); + } + } + else + { + errorMessage = QString("Cannot switch Tx"); + return 500; + } + } + if (unknownAction) { errorMessage = "Unknown action"; diff --git a/sdrbase/resources/webapi/doc/html2/index.html b/sdrbase/resources/webapi/doc/html2/index.html index 762c2bdb2..a33947d89 100644 --- a/sdrbase/resources/webapi/doc/html2/index.html +++ b/sdrbase/resources/webapi/doc/html2/index.html @@ -7318,6 +7318,14 @@ margin-bottom: 20px; "openCloseDevice" : { "type" : "integer", "description" : "Open or close device\n * 0 - Close device\n * 1 - Open device\n" + }, + "setRx" : { + "type" : "integer", + "description" : "Set Rx om or off\n * 0 - Rx off\n * 1 - Rx on\n" + }, + "setTx" : { + "type" : "integer", + "description" : "Set Tx om or off\n * 0 - Tx off\n * 1 - Tx on\n" } }, "description" : "LimeRFE" @@ -56597,7 +56605,7 @@ except ApiException as e:
- Generated 2022-08-16T14:53:35.735+02:00 + Generated 2022-08-16T18:08:01.866+02:00
diff --git a/sdrbase/resources/webapi/doc/swagger/include/LimeRFE.yaml b/sdrbase/resources/webapi/doc/swagger/include/LimeRFE.yaml index 8757eb8ee..ab91cf81e 100644 --- a/sdrbase/resources/webapi/doc/swagger/include/LimeRFE.yaml +++ b/sdrbase/resources/webapi/doc/swagger/include/LimeRFE.yaml @@ -172,3 +172,15 @@ LimeRFEActions: Open or close device * 0 - Close device * 1 - Open device + setRx: + type: integer + description: > + Set Rx om or off + * 0 - Rx off + * 1 - Rx on + setTx: + type: integer + description: > + Set Tx om or off + * 0 - Tx off + * 1 - Tx on diff --git a/swagger/sdrangel/api/swagger/include/LimeRFE.yaml b/swagger/sdrangel/api/swagger/include/LimeRFE.yaml index b1704019a..2fd55d050 100644 --- a/swagger/sdrangel/api/swagger/include/LimeRFE.yaml +++ b/swagger/sdrangel/api/swagger/include/LimeRFE.yaml @@ -172,3 +172,15 @@ LimeRFEActions: Open or close device * 0 - Close device * 1 - Open device + setRx: + type: integer + description: > + Set Rx om or off + * 0 - Rx off + * 1 - Rx on + setTx: + type: integer + description: > + Set Tx om or off + * 0 - Tx off + * 1 - Tx on diff --git a/swagger/sdrangel/code/html2/index.html b/swagger/sdrangel/code/html2/index.html index 762c2bdb2..a33947d89 100644 --- a/swagger/sdrangel/code/html2/index.html +++ b/swagger/sdrangel/code/html2/index.html @@ -7318,6 +7318,14 @@ margin-bottom: 20px; "openCloseDevice" : { "type" : "integer", "description" : "Open or close device\n * 0 - Close device\n * 1 - Open device\n" + }, + "setRx" : { + "type" : "integer", + "description" : "Set Rx om or off\n * 0 - Rx off\n * 1 - Rx on\n" + }, + "setTx" : { + "type" : "integer", + "description" : "Set Tx om or off\n * 0 - Tx off\n * 1 - Tx on\n" } }, "description" : "LimeRFE" @@ -56597,7 +56605,7 @@ except ApiException as e:
- Generated 2022-08-16T14:53:35.735+02:00 + Generated 2022-08-16T18:08:01.866+02:00
diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.cpp b/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.cpp index 0ca4f36b8..ea239b828 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.cpp +++ b/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.cpp @@ -40,6 +40,10 @@ SWGLimeRFEActions::SWGLimeRFEActions() { m_from_to_settings_isSet = false; open_close_device = 0; m_open_close_device_isSet = false; + set_rx = 0; + m_set_rx_isSet = false; + set_tx = 0; + m_set_tx_isSet = false; } SWGLimeRFEActions::~SWGLimeRFEActions() { @@ -60,6 +64,10 @@ SWGLimeRFEActions::init() { m_from_to_settings_isSet = false; open_close_device = 0; m_open_close_device_isSet = false; + set_rx = 0; + m_set_rx_isSet = false; + set_tx = 0; + m_set_tx_isSet = false; } void @@ -70,6 +78,8 @@ SWGLimeRFEActions::cleanup() { + + } SWGLimeRFEActions* @@ -95,6 +105,10 @@ SWGLimeRFEActions::fromJsonObject(QJsonObject &pJson) { ::SWGSDRangel::setValue(&open_close_device, pJson["openCloseDevice"], "qint32", ""); + ::SWGSDRangel::setValue(&set_rx, pJson["setRx"], "qint32", ""); + + ::SWGSDRangel::setValue(&set_tx, pJson["setTx"], "qint32", ""); + } QString @@ -129,6 +143,12 @@ SWGLimeRFEActions::asJsonObject() { if(m_open_close_device_isSet){ obj->insert("openCloseDevice", QJsonValue(open_close_device)); } + if(m_set_rx_isSet){ + obj->insert("setRx", QJsonValue(set_rx)); + } + if(m_set_tx_isSet){ + obj->insert("setTx", QJsonValue(set_tx)); + } return obj; } @@ -193,6 +213,26 @@ SWGLimeRFEActions::setOpenCloseDevice(qint32 open_close_device) { this->m_open_close_device_isSet = true; } +qint32 +SWGLimeRFEActions::getSetRx() { + return set_rx; +} +void +SWGLimeRFEActions::setSetRx(qint32 set_rx) { + this->set_rx = set_rx; + this->m_set_rx_isSet = true; +} + +qint32 +SWGLimeRFEActions::getSetTx() { + return set_tx; +} +void +SWGLimeRFEActions::setSetTx(qint32 set_tx) { + this->set_tx = set_tx; + this->m_set_tx_isSet = true; +} + bool SWGLimeRFEActions::isSet(){ @@ -216,6 +256,12 @@ SWGLimeRFEActions::isSet(){ if(m_open_close_device_isSet){ isObjectUpdated = true; break; } + if(m_set_rx_isSet){ + isObjectUpdated = true; break; + } + if(m_set_tx_isSet){ + isObjectUpdated = true; break; + } }while(false); return isObjectUpdated; } diff --git a/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.h b/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.h index 74e1dc096..7ddea418e 100644 --- a/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.h +++ b/swagger/sdrangel/code/qt5/client/SWGLimeRFEActions.h @@ -59,6 +59,12 @@ public: qint32 getOpenCloseDevice(); void setOpenCloseDevice(qint32 open_close_device); + qint32 getSetRx(); + void setSetRx(qint32 set_rx); + + qint32 getSetTx(); + void setSetTx(qint32 set_tx); + virtual bool isSet() override; @@ -81,6 +87,12 @@ private: qint32 open_close_device; bool m_open_close_device_isSet; + qint32 set_rx; + bool m_set_rx_isSet; + + qint32 set_tx; + bool m_set_tx_isSet; + }; }