mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-07 15:47:50 -04:00
Pass device item index to the device API when creating or assigning a new device
This commit is contained in:
parent
7650d11486
commit
a32d508256
@ -27,6 +27,7 @@ DeviceSinkAPI::DeviceSinkAPI(int deviceTabIndex,
|
|||||||
m_deviceTabIndex(deviceTabIndex),
|
m_deviceTabIndex(deviceTabIndex),
|
||||||
m_deviceSinkEngine(deviceSinkEngine),
|
m_deviceSinkEngine(deviceSinkEngine),
|
||||||
m_sampleSinkSequence(0),
|
m_sampleSinkSequence(0),
|
||||||
|
m_itemIndex(0),
|
||||||
m_pluginInterface(0),
|
m_pluginInterface(0),
|
||||||
m_sampleSinkPluginInstanceUI(0),
|
m_sampleSinkPluginInstanceUI(0),
|
||||||
m_buddySharedPtr(0),
|
m_buddySharedPtr(0),
|
||||||
@ -159,6 +160,11 @@ void DeviceSinkAPI::setSampleSinkSequence(int sequence)
|
|||||||
m_deviceSinkEngine->setSinkSequence(sequence);
|
m_deviceSinkEngine->setSinkSequence(sequence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeviceSinkAPI::setItemIndex(uint32_t index)
|
||||||
|
{
|
||||||
|
m_itemIndex = index;
|
||||||
|
}
|
||||||
|
|
||||||
void DeviceSinkAPI::setSampleSinkPluginInterface(PluginInterface *iface)
|
void DeviceSinkAPI::setSampleSinkPluginInterface(PluginInterface *iface)
|
||||||
{
|
{
|
||||||
m_pluginInterface = iface;
|
m_pluginInterface = iface;
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
void setSampleSinkSerial(const QString& serial);
|
void setSampleSinkSerial(const QString& serial);
|
||||||
void setSampleSinkDisplayName(const QString& serial);
|
void setSampleSinkDisplayName(const QString& serial);
|
||||||
void setSampleSinkSequence(int sequence);
|
void setSampleSinkSequence(int sequence);
|
||||||
|
void setItemIndex(uint32_t index);
|
||||||
void setSampleSinkPluginInterface(PluginInterface *iface);
|
void setSampleSinkPluginInterface(PluginInterface *iface);
|
||||||
void setSampleSinkPluginInstanceUI(PluginInstanceGUI *gui);
|
void setSampleSinkPluginInstanceUI(PluginInstanceGUI *gui);
|
||||||
|
|
||||||
@ -73,8 +74,9 @@ public:
|
|||||||
const QString& getSampleSinkId() const { return m_sampleSinkId; }
|
const QString& getSampleSinkId() const { return m_sampleSinkId; }
|
||||||
const QString& getSampleSinkSerial() const { return m_sampleSinkSerial; }
|
const QString& getSampleSinkSerial() const { return m_sampleSinkSerial; }
|
||||||
const QString& getSampleSinkDisplayName() const { return m_sampleSinkDisplayName; }
|
const QString& getSampleSinkDisplayName() const { return m_sampleSinkDisplayName; }
|
||||||
PluginInterface *getPluginInterface() { return m_pluginInterface; }
|
|
||||||
uint32_t getSampleSinkSequence() const { return m_sampleSinkSequence; }
|
uint32_t getSampleSinkSequence() const { return m_sampleSinkSequence; }
|
||||||
|
uint32_t getItemIndex() const { return m_itemIndex; }
|
||||||
|
PluginInterface *getPluginInterface() { return m_pluginInterface; }
|
||||||
PluginInstanceGUI *getSampleSinkPluginInstanceGUI() { return m_sampleSinkPluginInstanceUI; }
|
PluginInstanceGUI *getSampleSinkPluginInstanceGUI() { return m_sampleSinkPluginInstanceUI; }
|
||||||
|
|
||||||
void registerChannelInstance(const QString& channelName, PluginInstanceGUI* pluginGUI);
|
void registerChannelInstance(const QString& channelName, PluginInstanceGUI* pluginGUI);
|
||||||
@ -104,11 +106,12 @@ protected:
|
|||||||
int m_deviceTabIndex;
|
int m_deviceTabIndex;
|
||||||
DSPDeviceSinkEngine *m_deviceSinkEngine;
|
DSPDeviceSinkEngine *m_deviceSinkEngine;
|
||||||
|
|
||||||
QString m_hardwareId;
|
QString m_hardwareId; //!< The internal id that identifies the type of hardware (i.e. HackRF, BladeRF, ...)
|
||||||
QString m_sampleSinkId;
|
QString m_sampleSinkId; //!< The internal plugin ID corresponding to the device (i.e. for HackRF input, for HackRF output ...)
|
||||||
QString m_sampleSinkSerial;
|
QString m_sampleSinkSerial; //!< The device serial number defined by the vendor
|
||||||
QString m_sampleSinkDisplayName;
|
QString m_sampleSinkDisplayName; //!< The human readable name identifying this instance
|
||||||
uint32_t m_sampleSinkSequence;
|
uint32_t m_sampleSinkSequence; //!< The device sequence. >0 when more than one device of the same type is connected
|
||||||
|
uint32_t m_itemIndex; //!< The Rx stream index. Can be >0 for NxM devices (i.e. 0 or 1 for LimeSDR)
|
||||||
PluginInterface* m_pluginInterface;
|
PluginInterface* m_pluginInterface;
|
||||||
PluginInstanceGUI* m_sampleSinkPluginInstanceUI;
|
PluginInstanceGUI* m_sampleSinkPluginInstanceUI;
|
||||||
|
|
||||||
|
@ -27,6 +27,7 @@ DeviceSourceAPI::DeviceSourceAPI(int deviceTabIndex,
|
|||||||
m_deviceTabIndex(deviceTabIndex),
|
m_deviceTabIndex(deviceTabIndex),
|
||||||
m_deviceSourceEngine(deviceSourceEngine),
|
m_deviceSourceEngine(deviceSourceEngine),
|
||||||
m_sampleSourceSequence(0),
|
m_sampleSourceSequence(0),
|
||||||
|
m_itemIndex(0),
|
||||||
m_pluginInterface(0),
|
m_pluginInterface(0),
|
||||||
m_sampleSourcePluginInstanceUI(0),
|
m_sampleSourcePluginInstanceUI(0),
|
||||||
m_buddySharedPtr(0),
|
m_buddySharedPtr(0),
|
||||||
@ -151,6 +152,11 @@ void DeviceSourceAPI::setSampleSourceSequence(int sequence)
|
|||||||
m_deviceSourceEngine->setSourceSequence(sequence);
|
m_deviceSourceEngine->setSourceSequence(sequence);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void DeviceSourceAPI::setItemIndex(uint32_t index)
|
||||||
|
{
|
||||||
|
m_itemIndex = index;
|
||||||
|
}
|
||||||
|
|
||||||
void DeviceSourceAPI::setSampleSourcePluginInterface(PluginInterface *iface)
|
void DeviceSourceAPI::setSampleSourcePluginInterface(PluginInterface *iface)
|
||||||
{
|
{
|
||||||
m_pluginInterface = iface;
|
m_pluginInterface = iface;
|
||||||
|
@ -66,6 +66,7 @@ public:
|
|||||||
void setSampleSourceSerial(const QString& serial);
|
void setSampleSourceSerial(const QString& serial);
|
||||||
void setSampleSourceDisplayName(const QString& serial);
|
void setSampleSourceDisplayName(const QString& serial);
|
||||||
void setSampleSourceSequence(int sequence);
|
void setSampleSourceSequence(int sequence);
|
||||||
|
void setItemIndex(uint32_t index);
|
||||||
void setSampleSourcePluginInterface(PluginInterface *iface);
|
void setSampleSourcePluginInterface(PluginInterface *iface);
|
||||||
void setSampleSourcePluginInstanceGUI(PluginInstanceGUI *gui);
|
void setSampleSourcePluginInstanceGUI(PluginInstanceGUI *gui);
|
||||||
|
|
||||||
@ -73,8 +74,9 @@ public:
|
|||||||
const QString& getSampleSourceId() const { return m_sampleSourceId; }
|
const QString& getSampleSourceId() const { return m_sampleSourceId; }
|
||||||
const QString& getSampleSourceSerial() const { return m_sampleSourceSerial; }
|
const QString& getSampleSourceSerial() const { return m_sampleSourceSerial; }
|
||||||
const QString& getSampleSourceDisplayName() const { return m_sampleSourceDisplayName; }
|
const QString& getSampleSourceDisplayName() const { return m_sampleSourceDisplayName; }
|
||||||
PluginInterface *getPluginInterface() { return m_pluginInterface; }
|
|
||||||
uint32_t getSampleSourceSequence() const { return m_sampleSourceSequence; }
|
uint32_t getSampleSourceSequence() const { return m_sampleSourceSequence; }
|
||||||
|
uint32_t getItemIndex() const { return m_itemIndex; }
|
||||||
|
PluginInterface *getPluginInterface() { return m_pluginInterface; }
|
||||||
PluginInstanceGUI *getSampleSourcePluginInstanceGUI() { return m_sampleSourcePluginInstanceUI; }
|
PluginInstanceGUI *getSampleSourcePluginInstanceGUI() { return m_sampleSourcePluginInstanceUI; }
|
||||||
|
|
||||||
void loadSourceSettings(const Preset* preset);
|
void loadSourceSettings(const Preset* preset);
|
||||||
@ -100,11 +102,12 @@ protected:
|
|||||||
int m_deviceTabIndex;
|
int m_deviceTabIndex;
|
||||||
DSPDeviceSourceEngine *m_deviceSourceEngine;
|
DSPDeviceSourceEngine *m_deviceSourceEngine;
|
||||||
|
|
||||||
QString m_hardwareId;
|
QString m_hardwareId; //!< The internal id that identifies the type of hardware (i.e. HackRF, BladeRF, ...)
|
||||||
QString m_sampleSourceId;
|
QString m_sampleSourceId; //!< The internal plugin ID corresponding to the device (i.e. for HackRF input, for HackRF output ...)
|
||||||
QString m_sampleSourceSerial;
|
QString m_sampleSourceSerial; //!< The device serial number defined by the vendor or a fake one (SDRplay)
|
||||||
QString m_sampleSourceDisplayName;
|
QString m_sampleSourceDisplayName; //!< The human readable name identifying this instance
|
||||||
uint32_t m_sampleSourceSequence;
|
uint32_t m_sampleSourceSequence; //!< The device sequence. >0 when more than one device of the same type is connected
|
||||||
|
uint32_t m_itemIndex; //!< The Rx stream index. Can be >0 for NxM devices (i.e. 0 or 1 for LimeSDR)
|
||||||
PluginInterface* m_pluginInterface;
|
PluginInterface* m_pluginInterface;
|
||||||
PluginInstanceGUI* m_sampleSourcePluginInstanceUI;
|
PluginInstanceGUI* m_sampleSourcePluginInstanceUI;
|
||||||
|
|
||||||
|
@ -36,7 +36,7 @@ public:
|
|||||||
QString displayedName; //!< The human readable name
|
QString displayedName; //!< The human readable name
|
||||||
QString hardwareId; //!< The internal id that identifies the type of hardware (i.e. HackRF, BladeRF, ...)
|
QString hardwareId; //!< The internal id that identifies the type of hardware (i.e. HackRF, BladeRF, ...)
|
||||||
QString id; //!< The internal plugin ID corresponding to the device (i.e. for HackRF input, for HackRF output ...)
|
QString id; //!< The internal plugin ID corresponding to the device (i.e. for HackRF input, for HackRF output ...)
|
||||||
QString serial; //!< The device serial number
|
QString serial; //!< The device serial number defined by the vendor or a fake one (SDRplay)
|
||||||
int sequence; //!< The device sequence. >0 when more than one device of the same type is connected
|
int sequence; //!< The device sequence. >0 when more than one device of the same type is connected
|
||||||
SamplingDeviceType type; //!< The sampling device type for behavior information
|
SamplingDeviceType type; //!< The sampling device type for behavior information
|
||||||
bool rxElseTx; //!< This is the Rx part else the Tx part of the device
|
bool rxElseTx; //!< This is the Rx part else the Tx part of the device
|
||||||
|
@ -155,6 +155,7 @@ MainWindow::MainWindow(QWidget* parent) :
|
|||||||
|
|
||||||
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(deviceIndex);
|
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(deviceIndex);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSequence(samplingDevice.sequence);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSequence(samplingDevice.sequence);
|
||||||
|
m_deviceUIs.back()->m_deviceSourceAPI->setItemIndex(samplingDevice.deviceItemIndex);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setHardwareId(samplingDevice.hardwareId);
|
m_deviceUIs.back()->m_deviceSourceAPI->setHardwareId(samplingDevice.hardwareId);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceId(samplingDevice.id);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceId(samplingDevice.id);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSerial(samplingDevice.serial);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSerial(samplingDevice.serial);
|
||||||
@ -243,6 +244,7 @@ void MainWindow::addSourceDevice()
|
|||||||
int fileSourceDeviceIndex = DeviceEnumerator::instance()->getFileSourceDeviceIndex();
|
int fileSourceDeviceIndex = DeviceEnumerator::instance()->getFileSourceDeviceIndex();
|
||||||
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(fileSourceDeviceIndex);
|
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(fileSourceDeviceIndex);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSequence(samplingDevice.sequence);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSequence(samplingDevice.sequence);
|
||||||
|
m_deviceUIs.back()->m_deviceSourceAPI->setItemIndex(samplingDevice.deviceItemIndex);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setHardwareId(samplingDevice.hardwareId);
|
m_deviceUIs.back()->m_deviceSourceAPI->setHardwareId(samplingDevice.hardwareId);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceId(samplingDevice.id);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceId(samplingDevice.id);
|
||||||
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSerial(samplingDevice.serial);
|
m_deviceUIs.back()->m_deviceSourceAPI->setSampleSourceSerial(samplingDevice.serial);
|
||||||
@ -312,6 +314,7 @@ void MainWindow::addSinkDevice()
|
|||||||
int fileSinkDeviceIndex = DeviceEnumerator::instance()->getFileSinkDeviceIndex();
|
int fileSinkDeviceIndex = DeviceEnumerator::instance()->getFileSinkDeviceIndex();
|
||||||
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(fileSinkDeviceIndex);
|
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(fileSinkDeviceIndex);
|
||||||
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkSequence(samplingDevice.sequence);
|
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkSequence(samplingDevice.sequence);
|
||||||
|
m_deviceUIs.back()->m_deviceSinkAPI->setItemIndex(samplingDevice.deviceItemIndex);
|
||||||
m_deviceUIs.back()->m_deviceSinkAPI->setHardwareId(samplingDevice.hardwareId);
|
m_deviceUIs.back()->m_deviceSinkAPI->setHardwareId(samplingDevice.hardwareId);
|
||||||
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkId(samplingDevice.id);
|
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkId(samplingDevice.id);
|
||||||
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkSerial(samplingDevice.serial);
|
m_deviceUIs.back()->m_deviceSinkAPI->setSampleSinkSerial(samplingDevice.serial);
|
||||||
@ -898,6 +901,7 @@ void MainWindow::on_sampleSource_changed()
|
|||||||
|
|
||||||
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(deviceUI->m_samplingDeviceControl->getSelectedDeviceIndex());
|
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getRxSamplingDevice(deviceUI->m_samplingDeviceControl->getSelectedDeviceIndex());
|
||||||
deviceUI->m_deviceSourceAPI->setSampleSourceSequence(samplingDevice.sequence);
|
deviceUI->m_deviceSourceAPI->setSampleSourceSequence(samplingDevice.sequence);
|
||||||
|
deviceUI->m_deviceSourceAPI->setItemIndex(samplingDevice.deviceItemIndex);
|
||||||
deviceUI->m_deviceSourceAPI->setHardwareId(samplingDevice.hardwareId);
|
deviceUI->m_deviceSourceAPI->setHardwareId(samplingDevice.hardwareId);
|
||||||
deviceUI->m_deviceSourceAPI->setSampleSourceId(samplingDevice.id);
|
deviceUI->m_deviceSourceAPI->setSampleSourceId(samplingDevice.id);
|
||||||
deviceUI->m_deviceSourceAPI->setSampleSourceSerial(samplingDevice.serial);
|
deviceUI->m_deviceSourceAPI->setSampleSourceSerial(samplingDevice.serial);
|
||||||
@ -984,6 +988,7 @@ void MainWindow::on_sampleSink_changed()
|
|||||||
|
|
||||||
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(deviceUI->m_samplingDeviceControl->getSelectedDeviceIndex());
|
PluginInterface::SamplingDevice samplingDevice = DeviceEnumerator::instance()->getTxSamplingDevice(deviceUI->m_samplingDeviceControl->getSelectedDeviceIndex());
|
||||||
deviceUI->m_deviceSinkAPI->setSampleSinkSequence(samplingDevice.sequence);
|
deviceUI->m_deviceSinkAPI->setSampleSinkSequence(samplingDevice.sequence);
|
||||||
|
deviceUI->m_deviceSinkAPI->setItemIndex(samplingDevice.deviceItemIndex);
|
||||||
deviceUI->m_deviceSinkAPI->setHardwareId(samplingDevice.hardwareId);
|
deviceUI->m_deviceSinkAPI->setHardwareId(samplingDevice.hardwareId);
|
||||||
deviceUI->m_deviceSinkAPI->setSampleSinkId(samplingDevice.id);
|
deviceUI->m_deviceSinkAPI->setSampleSinkId(samplingDevice.id);
|
||||||
deviceUI->m_deviceSinkAPI->setSampleSinkSerial(samplingDevice.serial);
|
deviceUI->m_deviceSinkAPI->setSampleSinkSerial(samplingDevice.serial);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user