1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2026-06-01 21:54:55 -04:00

REST API: updates for MIMO (4)

This commit is contained in:
f4exb
2019-12-24 19:08:11 +01:00
parent 6855602a7f
commit d11f56adb9
16 changed files with 799 additions and 41 deletions
+88 -10
View File
@@ -214,6 +214,8 @@ int WebAPIAdapterGUI::instanceDevices(
nbSamplingDevices = DeviceEnumerator::instance()->getNbRxSamplingDevices();
} else if (direction == 1) { // Single Tx stream device
nbSamplingDevices = DeviceEnumerator::instance()->getNbTxSamplingDevices();
} else if (direction == 2) { // MIMO device
nbSamplingDevices = DeviceEnumerator::instance()->getNbMIMOSamplingDevices();
} else { // not supported
nbSamplingDevices = 0;
}
@@ -229,6 +231,8 @@ int WebAPIAdapterGUI::instanceDevices(
samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(i);
} else if (direction == 1) {
samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(i);
} else if (direction == 2) {
samplingDevice = DeviceEnumerator::instance()->getMIMOSamplingDevice(i);
} else {
continue;
}
@@ -1458,11 +1462,36 @@ int WebAPIAdapterGUI::devicesetDeviceRunGet(
response.init();
return sink->webapiRunGet(response, *error.getMessage());
}
else if (deviceSet->m_deviceMIMOEngine) // MIMO
else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterGUI::devicesetDeviceSubsystemRunGet(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainWindow.m_deviceUIs.size()))
{
DeviceUISet *deviceSet = m_mainWindow.m_deviceUIs[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init();
return mimo->webapiRunGet(response, *error.getMessage());
return mimo->webapiRunGet(subsystemIndex, response, *error.getMessage());
}
else
{
@@ -1500,11 +1529,36 @@ int WebAPIAdapterGUI::devicesetDeviceRunPost(
response.init();
return sink->webapiRun(true, response, *error.getMessage());
}
else if (deviceSet->m_deviceMIMOEngine) // MIMO
else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterGUI::devicesetDeviceSubsystemRunPost(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainWindow.m_deviceUIs.size()))
{
DeviceUISet *deviceSet = m_mainWindow.m_deviceUIs[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init();
return mimo->webapiRun(true, response, *error.getMessage());
return mimo->webapiRun(true, subsystemIndex, response, *error.getMessage());
}
else
{
@@ -1542,12 +1596,6 @@ int WebAPIAdapterGUI::devicesetDeviceRunDelete(
response.init();
return sink->webapiRun(false, response, *error.getMessage());
}
else if (deviceSet->m_deviceMIMOEngine) // MIMO
{
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init();
return mimo->webapiRun(false, response, *error.getMessage());
}
else
{
*error.getMessage() = QString("DeviceSet error");
@@ -1561,6 +1609,36 @@ int WebAPIAdapterGUI::devicesetDeviceRunDelete(
}
}
int WebAPIAdapterGUI::devicesetDeviceSubsystemRunDelete(
int deviceSetIndex,
int subsystemIndex,
SWGSDRangel::SWGDeviceState& response,
SWGSDRangel::SWGErrorResponse& error)
{
error.init();
if ((deviceSetIndex >= 0) && (deviceSetIndex < (int) m_mainWindow.m_deviceUIs.size()))
{
DeviceUISet *deviceSet = m_mainWindow.m_deviceUIs[deviceSetIndex];
if (deviceSet->m_deviceMIMOEngine) // MIMO
{
DeviceSampleMIMO *mimo = deviceSet->m_deviceAPI->getSampleMIMO();
response.init();
return mimo->webapiRun(false, subsystemIndex, response, *error.getMessage());
}
else
{
*error.getMessage() = QString("DeviceSet error");
return 500;
}
}
else
{
*error.getMessage() = QString("There is no device set with index %1").arg(deviceSetIndex);
return 404;
}
}
int WebAPIAdapterGUI::devicesetDeviceReportGet(
int deviceSetIndex,