SDRAngel  4.11.5
Developer docs for <a href="https://github.com/f4exb/sdrangel">SDRangel<\a>, an Open Source Qt5 / OpenGL 3.0+ SDR and signal analyzer frontend to various hardware.
Public Member Functions | Private Slots | Private Member Functions | Private Attributes | List of all members
XTRXOutputGUI Class Reference

#include <xtrxoutputgui.h>

+ Inheritance diagram for XTRXOutputGUI:
+ Collaboration diagram for XTRXOutputGUI:

Public Member Functions

 XTRXOutputGUI (DeviceUISet *deviceUISet, QWidget *parent=0)
 
virtual ~XTRXOutputGUI ()
 
virtual void destroy ()
 
void setName (const QString &name)
 
QString getName () const
 
void resetToDefaults ()
 
virtual qint64 getCenterFrequency () const
 
virtual void setCenterFrequency (qint64 centerFrequency)
 
QByteArray serialize () const
 
bool deserialize (const QByteArray &data)
 
virtual MessageQueuegetInputMessageQueue ()
 
virtual bool handleMessage (const Message &message)
 
- Public Member Functions inherited from PluginInstanceGUI
 PluginInstanceGUI ()
 
virtual ~PluginInstanceGUI ()
 

Private Slots

void handleInputMessages ()
 
void on_startStop_toggled (bool checked)
 
void on_centerFrequency_changed (quint64 value)
 
void on_ncoFrequency_changed (qint64 value)
 
void on_ncoEnable_toggled (bool checked)
 
void on_sampleRate_changed (quint64 value)
 
void on_hwInterp_currentIndexChanged (int index)
 
void on_swInterp_currentIndexChanged (int index)
 
void on_lpf_changed (quint64 value)
 
void on_gain_valueChanged (int value)
 
void on_antenna_currentIndexChanged (int index)
 
void on_extClock_clicked ()
 
void on_pwrmode_currentIndexChanged (int index)
 
void on_sampleRateMode_toggled (bool checked)
 
void updateHardware ()
 
void updateStatus ()
 
void openDeviceSettingsDialog (const QPoint &p)
 

Private Member Functions

void displaySettings ()
 
void displaySampleRate ()
 
void setNCODisplay ()
 
void setCenterFrequencyDisplay ()
 
void setCenterFrequencySetting (uint64_t kHzValue)
 
void sendSettings ()
 
void updateSampleRateAndFrequency ()
 
void updateDACRate ()
 
void blockApplySettings (bool block)
 

Private Attributes

Ui::XTRXOutputGUI * ui
 
DeviceUISetm_deviceUISet
 
XTRXOutputm_XTRXOutput
 Same object as above but gives easy access to XTRXInput methods and attributes that are used intensively. More...
 
XTRXOutputSettings m_settings
 
bool m_sampleRateMode
 true: device, false: base band sample rate update mode More...
 
QTimer m_updateTimer
 
QTimer m_statusTimer
 
int m_sampleRate
 
quint64 m_deviceCenterFrequency
 Center frequency in device. More...
 
int m_lastEngineState
 
bool m_doApplySettings
 
bool m_forceSettings
 
int m_statusCounter
 
int m_deviceStatusCounter
 
MessageQueue m_inputMessageQueue
 

Detailed Description

Definition at line 35 of file xtrxoutputgui.h.

Constructor & Destructor Documentation

◆ XTRXOutputGUI()

XTRXOutputGUI::XTRXOutputGUI ( DeviceUISet deviceUISet,
QWidget *  parent = 0 
)
explicit

Definition at line 34 of file xtrxoutputgui.cpp.

References arg(), displaySettings(), XTRXOutput::getChannelIndex(), XTRXOutput::getLORange(), XTRXOutput::getLPRange(), DeviceAPI::getSampleSink(), XTRXOutput::getSRRange(), ColorMapper::GrayGold, ColorMapper::GrayGreenYellow, ColorMapper::GrayYellow, handleInputMessages(), DeviceUISet::m_deviceAPI, m_deviceUISet, m_inputMessageQueue, m_statusTimer, m_updateTimer, m_XTRXOutput, openDeviceSettingsDialog(), ui, updateHardware(), and updateStatus().

34  :
35  QWidget(parent),
36  ui(new Ui::XTRXOutputGUI),
37  m_deviceUISet(deviceUISet),
38  m_settings(),
39  m_sampleRateMode(true),
40  m_sampleRate(0),
42  m_doApplySettings(true),
43  m_forceSettings(true),
44  m_statusCounter(0),
46 {
48 
49  ui->setupUi(this);
50 
51  float minF, maxF, stepF;
52 
53  m_XTRXOutput->getLORange(minF, maxF, stepF);
54  ui->centerFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
55  ui->centerFrequency->setValueRange(7, ((uint32_t) minF)/1000, ((uint32_t) maxF)/1000); // frequency dial is in kHz
56 
57  m_XTRXOutput->getSRRange(minF, maxF, stepF);
58  ui->sampleRate->setColorMapper(ColorMapper(ColorMapper::GrayGreenYellow));
59  ui->sampleRate->setValueRange(8, (uint32_t) minF, (uint32_t) maxF);
60 
61  m_XTRXOutput->getLPRange(minF, maxF, stepF);
62  ui->lpf->setColorMapper(ColorMapper(ColorMapper::GrayYellow));
63  ui->lpf->setValueRange(6, (minF/1000)+1, maxF/1000);
64 
65  ui->ncoFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
66 
67  ui->channelNumberText->setText(tr("#%1").arg(m_XTRXOutput->getChannelIndex()));
68 
69  connect(&m_updateTimer, SIGNAL(timeout()), this, SLOT(updateHardware()));
70  connect(&m_statusTimer, SIGNAL(timeout()), this, SLOT(updateStatus()));
71  m_statusTimer.start(500);
72 
73  CRightClickEnabler *startStopRightClickEnabler = new CRightClickEnabler(ui->startStop);
74  connect(startStopRightClickEnabler, SIGNAL(rightClick(const QPoint &)), this, SLOT(openDeviceSettingsDialog(const QPoint &)));
75 
77 
78  connect(&m_inputMessageQueue, SIGNAL(messageEnqueued()), this, SLOT(handleInputMessages()), Qt::QueuedConnection);
79 }
void getLPRange(float &minF, float &maxF, float &stepF) const
Definition: xtrxoutput.cpp:578
QTimer m_statusTimer
Definition: xtrxoutputgui.h:62
void handleInputMessages()
bool m_doApplySettings
Definition: xtrxoutputgui.h:66
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
std::size_t getChannelIndex()
Definition: xtrxoutput.cpp:555
DeviceSampleSink * getSampleSink()
Return pointer to the device sample sink (single Tx) or nullptr.
Definition: deviceapi.cpp:222
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
unsigned int uint32_t
Definition: rtptypes_win.h:46
void displaySettings()
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
engine is before initialization
Definition: deviceapi.h:53
void openDeviceSettingsDialog(const QPoint &p)
DeviceAPI * m_deviceAPI
Definition: deviceuiset.h:48
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
DeviceUISet * m_deviceUISet
Definition: xtrxoutputgui.h:57
bool m_sampleRateMode
true: device, false: base band sample rate update mode
Definition: xtrxoutputgui.h:60
bool m_forceSettings
Definition: xtrxoutputgui.h:67
QTimer m_updateTimer
Definition: xtrxoutputgui.h:61
int m_deviceStatusCounter
Definition: xtrxoutputgui.h:69
void getLORange(float &minF, float &maxF, float &stepF) const
Definition: xtrxoutput.cpp:560
void getSRRange(float &minF, float &maxF, float &stepF) const
Definition: xtrxoutput.cpp:569
MessageQueue m_inputMessageQueue
Definition: xtrxoutputgui.h:70
+ Here is the call graph for this function:

◆ ~XTRXOutputGUI()

XTRXOutputGUI::~XTRXOutputGUI ( )
virtual

Definition at line 81 of file xtrxoutputgui.cpp.

References ui.

82 {
83  delete ui;
84 }
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55

Member Function Documentation

◆ blockApplySettings()

void XTRXOutputGUI::blockApplySettings ( bool  block)
private

Definition at line 455 of file xtrxoutputgui.cpp.

References m_doApplySettings.

Referenced by handleMessage().

456 {
457  m_doApplySettings = !block;
458 }
bool m_doApplySettings
Definition: xtrxoutputgui.h:66
+ Here is the caller graph for this function:

◆ deserialize()

bool XTRXOutputGUI::deserialize ( const QByteArray &  data)
virtual

Implements PluginInstanceGUI.

Definition at line 125 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::deserialize(), displaySettings(), m_forceSettings, m_settings, resetToDefaults(), and sendSettings().

126 {
127  if (m_settings.deserialize(data))
128  {
129  displaySettings();
130  m_forceSettings = true;
131  sendSettings();
132  return true;
133  }
134  else
135  {
136  resetToDefaults();
137  return false;
138  }
139 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
void displaySettings()
bool m_forceSettings
Definition: xtrxoutputgui.h:67
bool deserialize(const QByteArray &data)
void resetToDefaults()
+ Here is the call graph for this function:

◆ destroy()

void XTRXOutputGUI::destroy ( )
virtual

Implements PluginInstanceGUI.

Definition at line 86 of file xtrxoutputgui.cpp.

87 {
88  delete this;
89 }

◆ displaySampleRate()

void XTRXOutputGUI::displaySampleRate ( )
private

Definition at line 283 of file xtrxoutputgui.cpp.

References arg(), XTRXOutput::getSRRange(), XTRXOutputSettings::m_devSampleRate, XTRXOutputSettings::m_log2SoftInterp, m_sampleRateMode, m_settings, m_XTRXOutput, and ui.

Referenced by displaySettings(), on_sampleRateMode_toggled(), on_swInterp_currentIndexChanged(), and updateSampleRateAndFrequency().

284 {
285  float minF, maxF, stepF;
286  m_XTRXOutput->getSRRange(minF, maxF, stepF);
287 
288  ui->sampleRate->blockSignals(true);
289 
290  if (m_sampleRateMode)
291  {
292  ui->sampleRateMode->setStyleSheet("QToolButton { background:rgb(60,60,60); }");
293  ui->sampleRateMode->setText("SR");
294  ui->sampleRate->setValueRange(8, (uint32_t) minF, (uint32_t) maxF);
295  ui->sampleRate->setValue(m_settings.m_devSampleRate);
296  ui->sampleRate->setToolTip("Device to host sample rate (S/s)");
297  ui->deviceRateText->setToolTip("Baseband sample rate (S/s)");
299  ui->deviceRateText->setText(tr("%1k").arg(QString::number(basebandSampleRate / 1000.0f, 'g', 5)));
300  }
301  else
302  {
303  ui->sampleRateMode->setStyleSheet("QToolButton { background:rgb(50,50,50); }");
304  ui->sampleRateMode->setText("BB");
305  ui->sampleRate->setValueRange(8, (uint32_t) minF/(1<<m_settings.m_log2SoftInterp), (uint32_t) maxF/(1<<m_settings.m_log2SoftInterp));
306  ui->sampleRate->setValue(m_settings.m_devSampleRate/(1<<m_settings.m_log2SoftInterp));
307  ui->sampleRate->setToolTip("Baseband sample rate (S/s)");
308  ui->deviceRateText->setToolTip("Device to host sample rate (S/s)");
309  ui->deviceRateText->setText(tr("%1k").arg(QString::number(m_settings.m_devSampleRate / 1000.0f, 'g', 5)));
310  }
311 
312  ui->sampleRate->blockSignals(false);
313 }
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
unsigned int uint32_t
Definition: rtptypes_win.h:46
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
bool m_sampleRateMode
true: device, false: base band sample rate update mode
Definition: xtrxoutputgui.h:60
void getSRRange(float &minF, float &maxF, float &stepF) const
Definition: xtrxoutput.cpp:569
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ displaySettings()

void XTRXOutputGUI::displaySettings ( )
private

Definition at line 315 of file xtrxoutputgui.cpp.

References arg(), displaySampleRate(), XTRXOutputSettings::m_antennaPath, XTRXOutputSettings::m_extClock, XTRXOutputSettings::m_extClockFreq, XTRXOutputSettings::m_gain, XTRXOutputSettings::m_log2HardInterp, XTRXOutputSettings::m_log2SoftInterp, XTRXOutputSettings::m_lpfBW, XTRXOutputSettings::m_ncoEnable, XTRXOutputSettings::m_pwrmode, m_settings, setCenterFrequencyDisplay(), setNCODisplay(), ui, and updateDACRate().

Referenced by deserialize(), handleInputMessages(), handleMessage(), resetToDefaults(), setCenterFrequency(), and XTRXOutputGUI().

316 {
317  ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq);
318  ui->extClock->setExternalClockActive(m_settings.m_extClock);
319 
322 
323  ui->hwInterp->setCurrentIndex(m_settings.m_log2HardInterp);
324  ui->swInterp->setCurrentIndex(m_settings.m_log2SoftInterp);
325 
326  updateDACRate();
327 
328  ui->lpf->setValue(m_settings.m_lpfBW / 1000);
329  ui->pwrmode->setCurrentIndex(m_settings.m_pwrmode);
330 
331  ui->gain->setValue(m_settings.m_gain);
332  ui->gainText->setText(tr("%1").arg(m_settings.m_gain));
333 
334  ui->antenna->setCurrentIndex((int) m_settings.m_antennaPath - (int) XTRX_TX_H);
335 
336  setNCODisplay();
337 
338  ui->ncoEnable->setChecked(m_settings.m_ncoEnable);
339 }
void setCenterFrequencyDisplay()
bool m_extClock
True if external clock source.
uint32_t m_gain
Optimally distributed gain (dB)
xtrx_antenna_t m_antennaPath
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
bool m_ncoEnable
Enable TSP NCO and mixing.
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
uint32_t m_extClockFreq
Frequency (Hz) of external clock source.
float m_lpfBW
LMS analog lowpass filter bandwidth (Hz)
void displaySampleRate()
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCenterFrequency()

qint64 XTRXOutputGUI::getCenterFrequency ( ) const
virtual

Implements PluginInstanceGUI.

Definition at line 108 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_centerFrequency, XTRXOutputSettings::m_ncoEnable, XTRXOutputSettings::m_ncoFrequency, and m_settings.

109 {
111 }
int m_ncoFrequency
Actual NCO frequency (the resulting frequency with mixing is displayed)
bool m_ncoEnable
Enable TSP NCO and mixing.
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59

◆ getInputMessageQueue()

virtual MessageQueue* XTRXOutputGUI::getInputMessageQueue ( )
inlinevirtual

Implements PluginInstanceGUI.

Definition at line 51 of file xtrxoutputgui.h.

51 { return &m_inputMessageQueue; }
MessageQueue m_inputMessageQueue
Definition: xtrxoutputgui.h:70

◆ getName()

QString XTRXOutputGUI::getName ( ) const
virtual

Implements PluginInstanceGUI.

Definition at line 96 of file xtrxoutputgui.cpp.

97 {
98  return objectName();
99 }

◆ handleInputMessages

void XTRXOutputGUI::handleInputMessages ( )
privateslot

Definition at line 231 of file xtrxoutputgui.cpp.

References displaySettings(), DSPSignalNotification::getCenterFrequency(), DSPSignalNotification::getSampleRate(), XTRXOutput::MsgConfigureXTRX::getSettings(), handleMessage(), m_deviceCenterFrequency, m_inputMessageQueue, m_sampleRate, m_settings, Message::match(), MessageQueue::pop(), and updateSampleRateAndFrequency().

Referenced by XTRXOutputGUI().

232 {
233  Message* message;
234 
235  while ((message = m_inputMessageQueue.pop()) != 0)
236  {
237  if (DSPSignalNotification::match(*message))
238  {
239  DSPSignalNotification* notif = (DSPSignalNotification*) message;
240  m_sampleRate = notif->getSampleRate();
242  qDebug("XTRXOutputGUI::handleInputMessages: DSPSignalNotification: SampleRate: %d, CenterFrequency: %llu", notif->getSampleRate(), notif->getCenterFrequency());
244 
245  delete message;
246  }
247  else if (XTRXOutput::MsgConfigureXTRX::match(*message))
248  {
249  qDebug("XTRXOutputGUI::handleInputMessages: MsgConfigureXTRX");
251  m_settings = cfg.getSettings();
252  displaySettings();
253 
254  delete message;
255  }
256  else
257  {
258  if (handleMessage(*message)) {
259  delete message;
260  }
261  }
262  }
263 }
Message * pop()
Pop message from queue.
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
void displaySettings()
qint64 getCenterFrequency() const
Definition: dspcommands.h:329
quint64 m_deviceCenterFrequency
Center frequency in device.
Definition: xtrxoutputgui.h:64
static bool match(const Message *message)
Definition: message.cpp:45
virtual bool handleMessage(const Message &message)
const XTRXOutputSettings & getSettings() const
Definition: xtrxoutput.h:45
int getSampleRate() const
Definition: dspcommands.h:328
void updateSampleRateAndFrequency()
MessageQueue m_inputMessageQueue
Definition: xtrxoutputgui.h:70
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleMessage()

bool XTRXOutputGUI::handleMessage ( const Message message)
virtual

Implements PluginInstanceGUI.

Definition at line 141 of file xtrxoutputgui.cpp.

References arg(), blockApplySettings(), displaySettings(), XTRXOutput::MsgReportStreamInfo::getActive(), DeviceXTRXShared::MsgReportBuddyChange::getCenterFrequency(), DeviceXTRXShared::MsgReportBuddyChange::getDevSampleRate(), XTRXOutput::getDevSampleRate(), DeviceXTRXShared::MsgReportClockSourceChange::getExtClock(), DeviceXTRXShared::MsgReportClockSourceChange::getExtClockFeq(), XTRXOutput::MsgReportStreamInfo::getFifoFilledCount(), XTRXOutput::MsgReportStreamInfo::getFifoSize(), DeviceXTRXShared::MsgReportDeviceInfo::getGPSLocked(), DeviceXTRXShared::MsgReportBuddyChange::getLog2HardDecimInterp(), DeviceXTRXShared::MsgReportBuddyChange::getRxElseTx(), XTRXOutput::MsgStartStop::getStartStop(), XTRXOutput::MsgReportStreamInfo::getSuccess(), DeviceXTRXShared::MsgReportDeviceInfo::getTemperature(), XTRXOutputSettings::m_centerFrequency, XTRXOutputSettings::m_devSampleRate, XTRXOutputSettings::m_extClock, XTRXOutputSettings::m_extClockFreq, XTRXOutputSettings::m_log2HardInterp, m_settings, m_XTRXOutput, Message::match(), and ui.

Referenced by handleInputMessages().

142 {
143 
145  {
149 
150  if (!report.getRxElseTx()) {
152  }
153 
154  blockApplySettings(true);
155  displaySettings();
156  blockApplySettings(false);
157 
158  return true;
159  }
161  {
164  m_settings.m_extClock = report.getExtClock();
165 
166  blockApplySettings(true);
167  ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq);
168  ui->extClock->setExternalClockActive(m_settings.m_extClock);
169  blockApplySettings(false);
170 
171  return true;
172  }
174  {
176 
177  blockApplySettings(true);
178  displaySettings();
179  blockApplySettings(false);
180 
181  return true;
182  }
183  else if (XTRXOutput::MsgReportStreamInfo::match(message))
184  {
186 
187  if (report.getSuccess())
188  {
189  if (report.getActive()) {
190  ui->streamStatusLabel->setStyleSheet("QLabel { background-color : green; }");
191  } else {
192  ui->streamStatusLabel->setStyleSheet("QLabel { background-color : blue; }");
193  }
194 
195  ui->fifoBar->setMaximum(report.getFifoSize());
196  ui->fifoBar->setValue(report.getFifoFilledCount());
197  ui->fifoBar->setToolTip(tr("FIFO fill %1/%2 samples").arg(QString::number(report.getFifoFilledCount())).arg(QString::number(report.getFifoSize())));
198  }
199  else
200  {
201  ui->streamStatusLabel->setStyleSheet("QLabel { background:rgb(79,79,79); }");
202  }
203 
204  return true;
205  }
207  {
209  ui->temperatureText->setText(tr("%1C").arg(QString::number(report.getTemperature(), 'f', 0)));
210 
211  if (report.getGPSLocked()) {
212  ui->gpsStatusLabel->setStyleSheet("QLabel { background-color : green; }");
213  } else {
214  ui->gpsStatusLabel->setStyleSheet("QLabel { background:rgb(48,48,48); }");
215  }
216 
217  return true;
218  }
219  else if (XTRXOutput::MsgStartStop::match(message))
220  {
222  blockApplySettings(true);
223  ui->startStop->setChecked(notif.getStartStop());
224  blockApplySettings(false);
225 
226  return true;
227  }
228  return false;
229 }
bool m_extClock
True if external clock source.
uint32_t getDevSampleRate() const
Definition: xtrxoutput.cpp:504
void blockApplySettings(bool block)
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
void displaySettings()
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
uint32_t m_extClockFreq
Frequency (Hz) of external clock source.
static bool match(const Message *message)
Definition: message.cpp:45
uint32_t getFifoSize() const
Definition: xtrxoutput.h:116
bool getStartStop() const
Definition: xtrxoutput.h:158
uint32_t getFifoFilledCount() const
Definition: xtrxoutput.h:115
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ on_antenna_currentIndexChanged

void XTRXOutputGUI::on_antenna_currentIndexChanged ( int  index)
privateslot

Definition at line 545 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_antennaPath, m_settings, and sendSettings().

546 {
547  m_settings.m_antennaPath = (xtrx_antenna_t) (index + (int) XTRX_TX_H);
548  sendSettings();
549 }
xtrx_antenna_t m_antennaPath
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
+ Here is the call graph for this function:

◆ on_centerFrequency_changed

void XTRXOutputGUI::on_centerFrequency_changed ( quint64  value)
privateslot

Definition at line 469 of file xtrxoutputgui.cpp.

References sendSettings(), and setCenterFrequencySetting().

470 {
472  sendSettings();
473 }
void setCenterFrequencySetting(uint64_t kHzValue)
+ Here is the call graph for this function:

◆ on_extClock_clicked

void XTRXOutputGUI::on_extClock_clicked ( )
privateslot

Definition at line 551 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_extClock, XTRXOutputSettings::m_extClockFreq, m_settings, sendSettings(), and ui.

552 {
553  m_settings.m_extClock = ui->extClock->getExternalClockActive();
554  m_settings.m_extClockFreq = ui->extClock->getExternalClockFrequency();
555  qDebug("XTRXOutputGUI::on_extClock_clicked: %u Hz %s", m_settings.m_extClockFreq, m_settings.m_extClock ? "on" : "off");
556  sendSettings();
557 }
bool m_extClock
True if external clock source.
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
uint32_t m_extClockFreq
Frequency (Hz) of external clock source.
+ Here is the call graph for this function:

◆ on_gain_valueChanged

void XTRXOutputGUI::on_gain_valueChanged ( int  value)
privateslot

Definition at line 538 of file xtrxoutputgui.cpp.

References arg(), XTRXOutputSettings::m_gain, m_settings, sendSettings(), and ui.

539 {
540  m_settings.m_gain = value;
541  ui->gainText->setText(tr("%1").arg(m_settings.m_gain));
542  sendSettings();
543 }
uint32_t m_gain
Optimally distributed gain (dB)
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
+ Here is the call graph for this function:

◆ on_hwInterp_currentIndexChanged

void XTRXOutputGUI::on_hwInterp_currentIndexChanged ( int  index)
privateslot

Definition at line 501 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_log2HardInterp, m_settings, sendSettings(), setNCODisplay(), and updateDACRate().

502 {
503  if ((index <0) || (index > 5)) {
504  return;
505  }
506 
508 
509  updateDACRate();
510  setNCODisplay();
511  sendSettings();
512 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
+ Here is the call graph for this function:

◆ on_lpf_changed

void XTRXOutputGUI::on_lpf_changed ( quint64  value)
privateslot

Definition at line 532 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_lpfBW, m_settings, and sendSettings().

533 {
534  m_settings.m_lpfBW = value * 1000;
535  sendSettings();
536 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
float m_lpfBW
LMS analog lowpass filter bandwidth (Hz)
+ Here is the call graph for this function:

◆ on_ncoEnable_toggled

void XTRXOutputGUI::on_ncoEnable_toggled ( bool  checked)
privateslot

Definition at line 482 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_ncoEnable, m_settings, sendSettings(), and setCenterFrequencyDisplay().

483 {
484  m_settings.m_ncoEnable = checked;
486  sendSettings();
487 }
void setCenterFrequencyDisplay()
bool m_ncoEnable
Enable TSP NCO and mixing.
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
+ Here is the call graph for this function:

◆ on_ncoFrequency_changed

void XTRXOutputGUI::on_ncoFrequency_changed ( qint64  value)
privateslot

Definition at line 475 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_ncoFrequency, m_settings, sendSettings(), and setCenterFrequencyDisplay().

476 {
477  m_settings.m_ncoFrequency = value;
479  sendSettings();
480 }
void setCenterFrequencyDisplay()
int m_ncoFrequency
Actual NCO frequency (the resulting frequency with mixing is displayed)
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
+ Here is the call graph for this function:

◆ on_pwrmode_currentIndexChanged

void XTRXOutputGUI::on_pwrmode_currentIndexChanged ( int  index)
privateslot

Definition at line 559 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_pwrmode, m_settings, and sendSettings().

560 {
561  m_settings.m_pwrmode = index;
562  sendSettings();
563 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
+ Here is the call graph for this function:

◆ on_sampleRate_changed

void XTRXOutputGUI::on_sampleRate_changed ( quint64  value)
privateslot

Definition at line 489 of file xtrxoutputgui.cpp.

References XTRXOutputSettings::m_devSampleRate, XTRXOutputSettings::m_log2SoftInterp, m_sampleRateMode, m_settings, sendSettings(), setNCODisplay(), and updateDACRate().

490 {
491  if (m_sampleRateMode) {
492  m_settings.m_devSampleRate = value;
493  } else {
495  }
496 
497  updateDACRate();
498  setNCODisplay();
499  sendSettings();}
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
bool m_sampleRateMode
true: device, false: base band sample rate update mode
Definition: xtrxoutputgui.h:60
+ Here is the call graph for this function:

◆ on_sampleRateMode_toggled

void XTRXOutputGUI::on_sampleRateMode_toggled ( bool  checked)
privateslot

Definition at line 565 of file xtrxoutputgui.cpp.

References displaySampleRate(), and m_sampleRateMode.

566 {
567  m_sampleRateMode = checked;
569 }
bool m_sampleRateMode
true: device, false: base band sample rate update mode
Definition: xtrxoutputgui.h:60
void displaySampleRate()
+ Here is the call graph for this function:

◆ on_startStop_toggled

void XTRXOutputGUI::on_startStop_toggled ( bool  checked)
privateslot

Definition at line 460 of file xtrxoutputgui.cpp.

References XTRXOutput::MsgStartStop::create(), DeviceSampleSink::getInputMessageQueue(), m_doApplySettings, m_XTRXOutput, and MessageQueue::push().

461 {
462  if (m_doApplySettings)
463  {
466  }
467 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
bool m_doApplySettings
Definition: xtrxoutputgui.h:66
MessageQueue * getInputMessageQueue()
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
static MsgStartStop * create(bool startStop)
Definition: xtrxoutput.h:160
+ Here is the call graph for this function:

◆ on_swInterp_currentIndexChanged

void XTRXOutputGUI::on_swInterp_currentIndexChanged ( int  index)
privateslot

Definition at line 514 of file xtrxoutputgui.cpp.

References displaySampleRate(), XTRXOutputSettings::m_devSampleRate, XTRXOutputSettings::m_log2SoftInterp, m_sampleRateMode, m_settings, sendSettings(), and ui.

515 {
516  if ((index <0) || (index > 6)) {
517  return;
518  }
519 
522 
523  if (m_sampleRateMode) {
524  m_settings.m_devSampleRate = ui->sampleRate->getValueNew();
525  } else {
526  m_settings.m_devSampleRate = ui->sampleRate->getValueNew() * (1 << m_settings.m_log2SoftInterp);
527  }
528 
529  sendSettings();
530 }
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
bool m_sampleRateMode
true: device, false: base band sample rate update mode
Definition: xtrxoutputgui.h:60
void displaySampleRate()
+ Here is the call graph for this function:

◆ openDeviceSettingsDialog

void XTRXOutputGUI::openDeviceSettingsDialog ( const QPoint &  p)
privateslot

Definition at line 571 of file xtrxoutputgui.cpp.

References BasicDeviceSettingsDialog::getReverseAPIAddress(), BasicDeviceSettingsDialog::getReverseAPIDeviceIndex(), BasicDeviceSettingsDialog::getReverseAPIPort(), XTRXOutputSettings::m_reverseAPIAddress, XTRXOutputSettings::m_reverseAPIDeviceIndex, XTRXOutputSettings::m_reverseAPIPort, m_settings, XTRXOutputSettings::m_useReverseAPI, sendSettings(), BasicDeviceSettingsDialog::setReverseAPIAddress(), BasicDeviceSettingsDialog::setReverseAPIDeviceIndex(), BasicDeviceSettingsDialog::setReverseAPIPort(), BasicDeviceSettingsDialog::setUseReverseAPI(), and BasicDeviceSettingsDialog::useReverseAPI().

Referenced by XTRXOutputGUI().

572 {
573  BasicDeviceSettingsDialog dialog(this);
574  dialog.setUseReverseAPI(m_settings.m_useReverseAPI);
575  dialog.setReverseAPIAddress(m_settings.m_reverseAPIAddress);
576  dialog.setReverseAPIPort(m_settings.m_reverseAPIPort);
577  dialog.setReverseAPIDeviceIndex(m_settings.m_reverseAPIDeviceIndex);
578 
579  dialog.move(p);
580  dialog.exec();
581 
582  m_settings.m_useReverseAPI = dialog.useReverseAPI();
583  m_settings.m_reverseAPIAddress = dialog.getReverseAPIAddress();
584  m_settings.m_reverseAPIPort = dialog.getReverseAPIPort();
585  m_settings.m_reverseAPIDeviceIndex = dialog.getReverseAPIDeviceIndex();
586 
587  sendSettings();
588 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
uint16_t m_reverseAPIDeviceIndex
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetToDefaults()

void XTRXOutputGUI::resetToDefaults ( )
virtual

Implements PluginInstanceGUI.

Definition at line 101 of file xtrxoutputgui.cpp.

References displaySettings(), m_settings, XTRXOutputSettings::resetToDefaults(), and sendSettings().

Referenced by deserialize().

102 {
104  displaySettings();
105  sendSettings();
106 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
void displaySettings()
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ sendSettings()

void XTRXOutputGUI::sendSettings ( )
private

◆ serialize()

QByteArray XTRXOutputGUI::serialize ( ) const
virtual

Implements PluginInstanceGUI.

Definition at line 120 of file xtrxoutputgui.cpp.

References m_settings, and XTRXOutputSettings::serialize().

121 {
122  return m_settings.serialize();
123 }
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
QByteArray serialize() const
+ Here is the call graph for this function:

◆ setCenterFrequency()

void XTRXOutputGUI::setCenterFrequency ( qint64  centerFrequency)
virtual

Implements PluginInstanceGUI.

Definition at line 113 of file xtrxoutputgui.cpp.

References displaySettings(), XTRXOutputSettings::m_centerFrequency, XTRXOutputSettings::m_ncoEnable, XTRXOutputSettings::m_ncoFrequency, m_settings, and sendSettings().

114 {
116  displaySettings();
117  sendSettings();
118 }
int m_ncoFrequency
Actual NCO frequency (the resulting frequency with mixing is displayed)
bool m_ncoEnable
Enable TSP NCO and mixing.
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
void displaySettings()
+ Here is the call graph for this function:

◆ setCenterFrequencyDisplay()

void XTRXOutputGUI::setCenterFrequencyDisplay ( )
private

Definition at line 356 of file xtrxoutputgui.cpp.

References arg(), XTRXOutputSettings::m_centerFrequency, XTRXOutputSettings::m_ncoEnable, XTRXOutputSettings::m_ncoFrequency, m_settings, and ui.

Referenced by displaySettings(), on_ncoEnable_toggled(), and on_ncoFrequency_changed().

357 {
358  int64_t centerFrequency = m_settings.m_centerFrequency;
359  ui->centerFrequency->setToolTip(QString("Main center frequency in kHz (LO: %1 kHz)").arg(centerFrequency/1000));
360 
361  if (m_settings.m_ncoEnable) {
362  centerFrequency += m_settings.m_ncoFrequency;
363  }
364 
365  ui->centerFrequency->blockSignals(true);
366  ui->centerFrequency->setValue(centerFrequency < 0 ? 0 : (uint64_t) centerFrequency/1000); // kHz
367  ui->centerFrequency->blockSignals(false);
368 }
int m_ncoFrequency
Actual NCO frequency (the resulting frequency with mixing is displayed)
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
bool m_ncoEnable
Enable TSP NCO and mixing.
__int64 int64_t
Definition: rtptypes_win.h:47
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
unsigned __int64 uint64_t
Definition: rtptypes_win.h:48
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setCenterFrequencySetting()

void XTRXOutputGUI::setCenterFrequencySetting ( uint64_t  kHzValue)
private

Definition at line 370 of file xtrxoutputgui.cpp.

References arg(), XTRXOutputSettings::m_centerFrequency, XTRXOutputSettings::m_ncoEnable, XTRXOutputSettings::m_ncoFrequency, m_settings, and ui.

Referenced by on_centerFrequency_changed().

371 {
372  int64_t centerFrequency = kHzValue*1000;
373 
374  if (m_settings.m_ncoEnable) {
375  centerFrequency -= m_settings.m_ncoFrequency;
376  }
377 
378  m_settings.m_centerFrequency = centerFrequency < 0 ? 0 : (uint64_t) centerFrequency;
379  ui->centerFrequency->setToolTip(QString("Main center frequency in kHz (LO: %1 kHz)").arg(centerFrequency/1000));
380 }
int m_ncoFrequency
Actual NCO frequency (the resulting frequency with mixing is displayed)
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
bool m_ncoEnable
Enable TSP NCO and mixing.
__int64 int64_t
Definition: rtptypes_win.h:47
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
unsigned __int64 uint64_t
Definition: rtptypes_win.h:48
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setName()

void XTRXOutputGUI::setName ( const QString &  name)
virtual

Implements PluginInstanceGUI.

Definition at line 91 of file xtrxoutputgui.cpp.

92 {
93  setObjectName(name);
94 }

◆ setNCODisplay()

void XTRXOutputGUI::setNCODisplay ( )
private

Definition at line 341 of file xtrxoutputgui.cpp.

References arg(), XTRXOutputSettings::m_devSampleRate, XTRXOutputSettings::m_log2HardInterp, XTRXOutputSettings::m_ncoFrequency, m_settings, and ui.

Referenced by displaySettings(), on_hwInterp_currentIndexChanged(), and on_sampleRate_changed().

342 {
343  int ncoHalfRange = (m_settings.m_devSampleRate * (1<<(m_settings.m_log2HardInterp)))/2;
344  ui->ncoFrequency->setValueRange(
345  false,
346  8,
347  -ncoHalfRange,
348  ncoHalfRange);
349 
350  ui->ncoFrequency->blockSignals(true);
351  ui->ncoFrequency->setToolTip(QString("NCO frequency shift in Hz (Range: +/- %1 kHz)").arg(ncoHalfRange/1000));
352  ui->ncoFrequency->setValue(m_settings.m_ncoFrequency);
353  ui->ncoFrequency->blockSignals(false);
354 }
int m_ncoFrequency
Actual NCO frequency (the resulting frequency with mixing is displayed)
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateDACRate()

void XTRXOutputGUI::updateDACRate ( )
private

Definition at line 265 of file xtrxoutputgui.cpp.

References arg(), XTRXOutput::getClockGen(), m_XTRXOutput, and ui.

Referenced by displaySettings(), on_hwInterp_currentIndexChanged(), and on_sampleRate_changed().

266 {
267  uint32_t dacRate = m_XTRXOutput->getClockGen() / 4;
268 
269  if (dacRate < 100000000) {
270  ui->dacRateLabel->setText(tr("%1k").arg(QString::number(dacRate / 1000.0f, 'g', 5)));
271  } else {
272  ui->dacRateLabel->setText(tr("%1M").arg(QString::number(dacRate / 1000000.0f, 'g', 5)));
273  }
274 }
double getClockGen() const
Definition: xtrxoutput.cpp:526
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
unsigned int uint32_t
Definition: rtptypes_win.h:46
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
Definition: fixed.h:2401
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateHardware

void XTRXOutputGUI::updateHardware ( )
privateslot

Definition at line 388 of file xtrxoutputgui.cpp.

References XTRXOutput::MsgConfigureXTRX::create(), DeviceSampleSink::getInputMessageQueue(), m_doApplySettings, m_forceSettings, m_settings, m_updateTimer, m_XTRXOutput, and MessageQueue::push().

Referenced by XTRXOutputGUI().

389 {
390  if (m_doApplySettings)
391  {
392  qDebug() << "XTRXOutputGUI::updateHardware";
395  m_forceSettings = false;
396  m_updateTimer.stop();
397  }
398 }
void push(Message *message, bool emitSignal=true)
Push message onto queue.
static MsgConfigureXTRX * create(const XTRXOutputSettings &settings, bool force)
Definition: xtrxoutput.h:48
bool m_doApplySettings
Definition: xtrxoutputgui.h:66
XTRXOutputSettings m_settings
Definition: xtrxoutputgui.h:59
MessageQueue * getInputMessageQueue()
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
bool m_forceSettings
Definition: xtrxoutputgui.h:67
QTimer m_updateTimer
Definition: xtrxoutputgui.h:61
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateSampleRateAndFrequency()

void XTRXOutputGUI::updateSampleRateAndFrequency ( )
private

Definition at line 276 of file xtrxoutputgui.cpp.

References displaySampleRate(), DeviceUISet::getSpectrum(), m_deviceCenterFrequency, m_deviceUISet, m_sampleRate, GLSpectrum::setCenterFrequency(), and GLSpectrum::setSampleRate().

Referenced by handleInputMessages().

277 {
281 }
void setSampleRate(qint32 sampleRate)
Definition: glspectrum.cpp:211
GLSpectrum * getSpectrum()
Direct spectrum getter.
Definition: deviceuiset.h:57
quint64 m_deviceCenterFrequency
Center frequency in device.
Definition: xtrxoutputgui.h:64
DeviceUISet * m_deviceUISet
Definition: xtrxoutputgui.h:57
void setCenterFrequency(qint64 frequency)
Definition: glspectrum.cpp:175
void displaySampleRate()
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateStatus

void XTRXOutputGUI::updateStatus ( )
privateslot

Definition at line 400 of file xtrxoutputgui.cpp.

References XTRXOutput::MsgGetStreamInfo::create(), XTRXOutput::MsgGetDeviceInfo::create(), DeviceAPI::errorMessage(), DeviceSampleSink::getInputMessageQueue(), DeviceAPI::isBuddyLeader(), DeviceUISet::m_deviceAPI, m_deviceStatusCounter, m_deviceUISet, m_lastEngineState, m_statusCounter, m_XTRXOutput, MessageQueue::push(), DeviceAPI::state(), DeviceAPI::StError, DeviceAPI::StIdle, DeviceAPI::StNotStarted, DeviceAPI::StRunning, and ui.

Referenced by XTRXOutputGUI().

401 {
402  int state = m_deviceUISet->m_deviceAPI->state();
403 
404  if(m_lastEngineState != state)
405  {
406  switch(state)
407  {
409  ui->startStop->setStyleSheet("QToolButton { background:rgb(79,79,79); }");
410  break;
411  case DeviceAPI::StIdle:
412  ui->startStop->setStyleSheet("QToolButton { background-color : blue; }");
413  break;
415  ui->startStop->setStyleSheet("QToolButton { background-color : green; }");
416  break;
417  case DeviceAPI::StError:
418  ui->startStop->setStyleSheet("QToolButton { background-color : red; }");
419  QMessageBox::information(this, tr("Message"), m_deviceUISet->m_deviceAPI->errorMessage());
420  break;
421  default:
422  break;
423  }
424 
425  m_lastEngineState = state;
426  }
427 
428  if (m_statusCounter < 1)
429  {
430  m_statusCounter++;
431  }
432  else
433  {
436  m_statusCounter = 0;
437  }
438 
439  if (m_deviceStatusCounter < 10)
440  {
442  }
443  else
444  {
446  {
449  }
450 
452  }
453 }
static MsgGetDeviceInfo * create()
Definition: xtrxoutput.h:83
void push(Message *message, bool emitSignal=true)
Push message onto queue.
bool isBuddyLeader() const
Definition: deviceapi.h:163
static MsgGetStreamInfo * create()
Definition: xtrxoutput.h:68
Ui::XTRXOutputGUI * ui
Definition: xtrxoutputgui.h:55
QString errorMessage()
Last error message from the device engine.
Definition: deviceapi.cpp:290
engine is before initialization
Definition: deviceapi.h:53
EngineState state() const
Return the state of the device engine corresponding to the stream type.
Definition: deviceapi.cpp:277
DeviceAPI * m_deviceAPI
Definition: deviceuiset.h:48
engine is idle
Definition: deviceapi.h:54
MessageQueue * getInputMessageQueue()
XTRXOutput * m_XTRXOutput
Same object as above but gives easy access to XTRXInput methods and attributes that are used intensiv...
Definition: xtrxoutputgui.h:58
DeviceUISet * m_deviceUISet
Definition: xtrxoutputgui.h:57
int m_deviceStatusCounter
Definition: xtrxoutputgui.h:69
engine is running
Definition: deviceapi.h:56
engine is in error
Definition: deviceapi.h:57
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Member Data Documentation

◆ m_deviceCenterFrequency

quint64 XTRXOutputGUI::m_deviceCenterFrequency
private

Center frequency in device.

Definition at line 64 of file xtrxoutputgui.h.

Referenced by handleInputMessages(), and updateSampleRateAndFrequency().

◆ m_deviceStatusCounter

int XTRXOutputGUI::m_deviceStatusCounter
private

Definition at line 69 of file xtrxoutputgui.h.

Referenced by updateStatus().

◆ m_deviceUISet

DeviceUISet* XTRXOutputGUI::m_deviceUISet
private

Definition at line 57 of file xtrxoutputgui.h.

Referenced by updateSampleRateAndFrequency(), updateStatus(), and XTRXOutputGUI().

◆ m_doApplySettings

bool XTRXOutputGUI::m_doApplySettings
private

Definition at line 66 of file xtrxoutputgui.h.

Referenced by blockApplySettings(), on_startStop_toggled(), and updateHardware().

◆ m_forceSettings

bool XTRXOutputGUI::m_forceSettings
private

Definition at line 67 of file xtrxoutputgui.h.

Referenced by deserialize(), and updateHardware().

◆ m_inputMessageQueue

MessageQueue XTRXOutputGUI::m_inputMessageQueue
private

Definition at line 70 of file xtrxoutputgui.h.

Referenced by handleInputMessages(), and XTRXOutputGUI().

◆ m_lastEngineState

int XTRXOutputGUI::m_lastEngineState
private

Definition at line 65 of file xtrxoutputgui.h.

Referenced by updateStatus().

◆ m_sampleRate

int XTRXOutputGUI::m_sampleRate
private

Definition at line 63 of file xtrxoutputgui.h.

Referenced by handleInputMessages(), and updateSampleRateAndFrequency().

◆ m_sampleRateMode

bool XTRXOutputGUI::m_sampleRateMode
private

true: device, false: base band sample rate update mode

Definition at line 60 of file xtrxoutputgui.h.

Referenced by displaySampleRate(), on_sampleRate_changed(), on_sampleRateMode_toggled(), and on_swInterp_currentIndexChanged().

◆ m_settings

XTRXOutputSettings XTRXOutputGUI::m_settings
private

◆ m_statusCounter

int XTRXOutputGUI::m_statusCounter
private

Definition at line 68 of file xtrxoutputgui.h.

Referenced by updateStatus().

◆ m_statusTimer

QTimer XTRXOutputGUI::m_statusTimer
private

Definition at line 62 of file xtrxoutputgui.h.

Referenced by XTRXOutputGUI().

◆ m_updateTimer

QTimer XTRXOutputGUI::m_updateTimer
private

Definition at line 61 of file xtrxoutputgui.h.

Referenced by sendSettings(), updateHardware(), and XTRXOutputGUI().

◆ m_XTRXOutput

XTRXOutput* XTRXOutputGUI::m_XTRXOutput
private

Same object as above but gives easy access to XTRXInput methods and attributes that are used intensively.

Definition at line 58 of file xtrxoutputgui.h.

Referenced by displaySampleRate(), handleMessage(), on_startStop_toggled(), updateDACRate(), updateHardware(), updateStatus(), and XTRXOutputGUI().

◆ ui

Ui::XTRXOutputGUI* XTRXOutputGUI::ui
private

The documentation for this class was generated from the following files: