20 #include <QMessageBox> 31 #include "ui_plutosdrinputgui.h" 36 ui(new
Ui::PlutoSDRInputGUI),
37 m_deviceUISet(deviceUISet),
39 m_sampleRateMode(true),
40 m_forceSettings(true),
43 m_deviceCenterFrequency(0),
44 m_lastEngineState(
DeviceAPI::StNotStarted),
45 m_doApplySettings(true),
59 quint32 minLimit, maxLimit;
61 ui->lpf->setValueRange(5, minLimit/1000, maxLimit/1000);
64 ui->lpFIR->setValueRange(5, 1U, 56000U);
66 ui->swDecimLabel->setText(QString::fromUtf8(
"S\u2193"));
67 ui->lpFIRDecimationLabel->setText(QString::fromUtf8(
"\u2193"));
70 connect(startStopRightClickEnabler, SIGNAL(rightClick(
const QPoint &)),
this, SLOT(
openDeviceSettingsDialog(
const QPoint &)));
195 ui->record->setStyleSheet(
"QToolButton { background-color : red; }");
197 ui->record->setStyleSheet(
"QToolButton { background:rgb(79,79,79); }");
212 ui->loPPMText->setText(QString(
"%1").
arg(QString::number(value/10.0,
'f', 1)));
289 ui->lpFIRDecimation->setEnabled(checked);
290 ui->lpFIRGain->setEnabled(checked);
322 ui->gainText->setText(tr(
"%1").
arg(value));
351 ui->sampleRate->blockSignals(
true);
356 ui->sampleRateMode->setStyleSheet(
"QToolButton { background:rgb(60,60,60); }");
357 ui->sampleRateMode->setText(
"SR");
360 ui->sampleRate->setToolTip(
"Device to host sample rate (S/s)");
361 ui->deviceRateText->setToolTip(
"Baseband sample rate (S/s)");
363 ui->deviceRateText->setText(tr(
"%1k").
arg(QString::number(basebandSampleRate / 1000.0f,
'g', 5)));
367 ui->sampleRateMode->setStyleSheet(
"QToolButton { background:rgb(50,50,50); }");
368 ui->sampleRateMode->setText(
"BB");
371 ui->sampleRate->setToolTip(
"Baseband sample rate (S/s)");
372 ui->deviceRateText->setToolTip(
"Device to host sample rate (S/s)");
376 ui->sampleRate->blockSignals(
false);
385 DeviceSampleSource::FrequencyShiftScheme::FSHIFT_STD
387 ui->fcPos->setToolTip(tr(
"Relative position of device center frequency: %1 kHz").
arg(QString::number(fShift / 1000.0f,
'g', 5)));
438 qDebug() <<
"PlutoSDRInputGui::updateHardware";
460 ui->startStop->setStyleSheet(
"QToolButton { background:rgb(79,79,79); }");
463 ui->startStop->setStyleSheet(
"QToolButton { background-color : blue; }");
466 ui->startStop->setStyleSheet(
"QToolButton { background-color : green; }");
469 ui->startStop->setStyleSheet(
"QToolButton { background-color : red; }");
483 if (adcRate < 100000000) {
484 ui->adcRateText->setText(tr(
"%1k").
arg(QString::number(adcRate / 1000.0f,
'g', 5)));
486 ui->adcRateText->setText(tr(
"%1M").
arg(QString::number(adcRate / 1000000.0f,
'g', 5)));
494 ui->rssiText->setText(tr(
"-%1").
arg(QString::fromStdString(rssiStr)));
497 ui->actualGainText->setText(tr(
"%1").
arg(gaindB));
516 ui->lpFIR->setValueRange(5, (
int(low)/1000)+1, (
int(high)/1000)+1);
529 qint64 minLimit, maxLimit;
534 minLimit = minLimit/1000 + deltaFrequency;
535 maxLimit = maxLimit/1000 + deltaFrequency;
537 minLimit = minLimit < 0 ? 0 : minLimit > 9999999 ? 9999999 : minLimit;
538 maxLimit = maxLimit < 0 ? 0 : maxLimit > 9999999 ? 9999999 : maxLimit;
540 qDebug(
"PlutoSDRInputGui::updateFrequencyLimits: delta: %lld min: %lld max: %lld", deltaFrequency, minLimit, maxLimit);
542 ui->centerFrequency->setValueRange(7, minLimit, maxLimit);
551 qDebug(
"PlutoSDRInputGui::handleInputMessages: message: %s", message->
getIdentifier());
558 qDebug(
"PlutoSDRInputGui::handleInputMessages: DSPSignalNotification: SampleRate: %d, CenterFrequency: %llu", notif->
getSampleRate(), notif->
getCenterFrequency());
Message * pop()
Pop message from queue.
const QString & getReverseAPIAddress() const
static const uint32_t srHighLimitFreq
Device sample rate higher limit in S/s.
static qint32 calculateFrequencyShift(int log2Decim, fcPos_t fcPos, quint32 devSampleRate, FrequencyShiftScheme frequencyShiftScheme)
void push(Message *message, bool emitSignal=true)
Push message onto queue.
void setSampleRate(qint32 sampleRate)
static const float firBWHighLimitFactor
Factor by which the FIR working sample rate is multiplied to yield bandwidth higher limit...
uint32_t getLpfFiRlog2IntDec() const
bool isBuddyLeader() const
DeviceSampleSource * getSampleSource()
Return pointer to the device sample source (single Rx) or nullptr.
void setUseReverseAPI(bool useReverseAPI)
bool isLpfFirEnable() const
MessageQueue * getInputMessageQueue()
uint16_t getReverseAPIDeviceIndex() const
QString errorMessage()
Last error message from the device engine.
static const uint32_t srLowLimitFreq
Device sample rate lower limit in S/s.
Fixed< IntType, IntBits > arg(const std::complex< Fixed< IntType, IntBits > > &val)
GLSpectrum * getSpectrum()
Direct spectrum getter.
engine is before initialization
qint64 getCenterFrequency() const
EngineState state() const
Return the state of the device engine corresponding to the stream type.
uint16_t getReverseAPIPort() const
static bool match(const Message *message)
uint32_t getLpfFirbw() const
int32_t getLoPPMTenths() const
int getSampleRate() const
static const float firBWLowLimitFactor
Factor by which the FIR working sample rate is multiplied to yield bandwidth lower limit...
void setCenterFrequency(qint64 frequency)
virtual const char * getIdentifier() const
void setReverseAPIAddress(const QString &address)
void setReverseAPIDeviceIndex(uint16_t deviceIndex)
void setReverseAPIPort(uint16_t port)
virtual void setMessageQueueToGUI(MessageQueue *queue)=0
bool useReverseAPI() const
uint64_t getDevSampleRate() const