18 #ifndef SDRBASE_DEVICE_DEVICEAPI_H_ 19 #define SDRBASE_DEVICE_DEVICEAPI_H_ 70 void addSourceStream(
bool connect);
71 void removeLastSourceStream();
72 void addSinkStream(
bool connect);
73 void removeLastSinkStream();
77 void setSpectrumSinkInput(
bool sourceElseSink =
true,
unsigned int index = 0);
84 void addChannelSinkAPI(
ChannelAPI* channelAPI,
int streamIndex = 0);
85 void removeChannelSinkAPI(
ChannelAPI* channelAPI,
int streamIndex = 0);
86 void addChannelSourceAPI(
ChannelAPI* channelAPI,
int streamIndex = 0);
87 void removeChannelSourceAPI(
ChannelAPI* channelAPI,
int streamIndex = 0);
96 bool initDeviceEngine();
97 bool startDeviceEngine();
98 void stopDeviceEngine();
100 QString errorMessage();
101 uint getDeviceUID()
const;
107 void configureCorrections(
bool dcOffsetCorrection,
bool iqImbalanceCorrection,
int streamIndex = 0);
109 void setHardwareId(
const QString&
id);
126 void setDeviceNbItems(
uint32_t nbItems);
127 void setDeviceItemIndex(
uint32_t index);
138 void getDeviceEngineStateStr(QString& state);
140 ChannelAPI *getChanelSinkAPIAt(
int index,
int streamIndex = 0);
141 ChannelAPI *getChanelSourceAPIAt(
int index,
int streamIndex = 0);
146 void loadSamplingDeviceSettings(
const Preset* preset);
149 void saveSamplingDeviceSettings(
Preset* preset);
158 void removeSourceBuddy(
DeviceAPI* buddy);
160 void clearBuddiesLists();
216 void renumerateChannels();
218 #endif // SDRBASE_DEVICE_DEVICEAPI_H_
void setBuddyLeader(bool isBuddyLeader)
const QTimer & m_masterTimer
This is the DSPEngine master timer.
void setNbSourceStreams(uint32_t nbSourceStreams)
QString m_samplingDeviceId
The internal plugin ID corresponding to the device (i.e. for HackRF input, for HackRF output ...
uint32_t m_deviceNbItems
Number of items in the physical device either Rx or Tx. Can be >1 for NxM devices (i...
bool isBuddyLeader() const
const std::vector< DeviceAPI * > & getSinkBuddies() const
Exposes a single output stream that can be one of the streams of a physical device.
DSPDeviceSinkEngine * m_deviceSinkEngine
uint32_t getDeviceItemIndex() const
void setNbSinkStreams(uint32_t nbSinkStreams)
int m_deviceTabIndex
This is the tab index in the GUI and also the device set index.
const QTimer & getMasterTimer() const
This is the DSPEngine master timer.
PluginInstanceGUI * m_samplingDevicePluginInstanceUI
uint32_t m_deviceItemIndex
The item index inb the Rx or Tx side of the physical device. Can be >0 for NxM devices (i...
uint32_t getDeviceNbItems() const
void setSamplingDeviceSequence(int sequence)
const QString & getHardwareUserArguments() const
PluginInterface * m_pluginInterface
uint32_t m_nbSourceStreams
The number of source streams in the logical device. 1 for Single Rx (SI) can be 0 or more for MIMO...
Exposes a single input stream that can be one of the streams of a physical device.
DSPDeviceSourceEngine * m_deviceSourceEngine
void setSamplingDeviceId(const QString &id)
QList< ChannelAPI * > m_channelSourceAPIs
engine is before initialization
void setSamplingDeviceDisplayName(const QString &name)
uint32_t getNbSinkStreams() const
int getDeviceSetIndex() const
void * getBuddySharedPtr() const
DSPDeviceSourceEngine * getDeviceSourceEngine()
const QString & getSamplingDeviceId() const
QString m_hardwareUserArguments
User given arguments to be used at hardware level i.e. for the hardware device and device sequence...
DSPDeviceSinkEngine * getDeviceSinkEngine()
uint32_t m_nbSinkStreams
The number of sink streams in the logical device. 1 for Single Tx (SO) can be 0 or more for MIMO...
QString m_samplingDeviceSerial
The device serial number defined by the vendor or a fake one (SDRplay)
void setBuddySharedPtr(void *ptr)
QString m_hardwareId
The internal id that identifies the type of hardware (i.e. HackRF, BladeRF, ...)
QString m_samplingDeviceDisplayName
The human readable name identifying this instance.
DSPDeviceMIMOEngine * m_deviceMIMOEngine
StreamType
< This is the same enum as in PluginInterface
const QString & getSamplingDeviceSerial() const
PluginInterface * getPluginInterface()
std::vector< DeviceAPI * > m_sourceBuddies
Device source APIs referencing the same physical device.
PluginInstanceGUI * getSamplingDevicePluginInstanceGUI()
const QString & getHardwareId() const
int getNbSourceChannels() const
void setSamplingDeviceSerial(const QString &serial)
const std::vector< DeviceAPI * > & getSourceBuddies() const
uint32_t getNbSourceStreams() const
const QString & getSamplingDeviceDisplayName() const
void resetSamplingDeviceId()
std::vector< DeviceAPI * > m_sinkBuddies
Device sink APIs referencing the same physical device.
uint32_t m_samplingDeviceSequence
The device sequence. >0 when more than one device of the same type is connected.
uint32_t getSamplingDeviceSequence() const
void setHardwareUserArguments(const QString &userArguments)
QList< ChannelAPI * > m_channelSinkAPIs
int getNbSinkChannels() const