LimeSDR: implemented external clock frequency handling in the GUI

This commit is contained in:
f4exb 2017-11-05 05:59:04 +01:00
parent 045652f5cb
commit 5a2b16d464
6 changed files with 34 additions and 8 deletions

View File

@ -257,6 +257,9 @@ void LimeSDROutputGUI::updateDACRate()
void LimeSDROutputGUI::displaySettings() void LimeSDROutputGUI::displaySettings()
{ {
ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq);
ui->extClock->setExternalClockActive(m_settings.m_extClock);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->sampleRate->setValue(m_settings.m_devSampleRate); ui->sampleRate->setValue(m_settings.m_devSampleRate);
@ -470,3 +473,12 @@ void LimeSDROutputGUI::on_antenna_currentIndexChanged(int index)
m_settings.m_antennaPath = (LimeSDROutputSettings::PathRFE) index; m_settings.m_antennaPath = (LimeSDROutputSettings::PathRFE) index;
sendSettings(); sendSettings();
} }
void LimeSDROutputGUI::on_extClock_clicked()
{
m_settings.m_extClock = ui->extClock->getExternalClockActive();
m_settings.m_extClockFreq = ui->extClock->getExternalClockFrequency();
qDebug("LimeSDROutputGUI::on_extClock_clicked: %u Hz %s", m_settings.m_extClockFreq, m_settings.m_extClock ? "on" : "off");
sendSettings();
}

View File

@ -90,6 +90,7 @@ private slots:
void on_lpFIR_changed(quint64 value); void on_lpFIR_changed(quint64 value);
void on_gain_valueChanged(int value); void on_gain_valueChanged(int value);
void on_antenna_currentIndexChanged(int index); void on_antenna_currentIndexChanged(int index);
void on_extClock_clicked();
void updateHardware(); void updateHardware();
void updateStatus(); void updateStatus();

View File

@ -254,6 +254,9 @@ void LimeSDRInputGUI::updateSampleRateAndFrequency()
void LimeSDRInputGUI::displaySettings() void LimeSDRInputGUI::displaySettings()
{ {
ui->extClock->setExternalClockFrequency(m_settings.m_extClockFreq);
ui->extClock->setExternalClockActive(m_settings.m_extClock);
ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000); ui->centerFrequency->setValue(m_settings.m_centerFrequency / 1000);
ui->sampleRate->setValue(m_settings.m_devSampleRate); ui->sampleRate->setValue(m_settings.m_devSampleRate);
@ -556,3 +559,12 @@ void LimeSDRInputGUI::on_antenna_currentIndexChanged(int index)
m_settings.m_antennaPath = (LimeSDRInputSettings::PathRFE) index; m_settings.m_antennaPath = (LimeSDRInputSettings::PathRFE) index;
sendSettings(); sendSettings();
} }
void LimeSDRInputGUI::on_extClock_clicked()
{
m_settings.m_extClock = ui->extClock->getExternalClockActive();
m_settings.m_extClockFreq = ui->extClock->getExternalClockFrequency();
qDebug("LimeSDRInputGUI::on_extClock_clicked: %u Hz %s", m_settings.m_extClockFreq, m_settings.m_extClock ? "on" : "off");
sendSettings();
}

View File

@ -96,6 +96,7 @@ private slots:
void on_tiaGain_currentIndexChanged(int index); void on_tiaGain_currentIndexChanged(int index);
void on_pgaGain_valueChanged(int value); void on_pgaGain_valueChanged(int value);
void on_antenna_currentIndexChanged(int index); void on_antenna_currentIndexChanged(int index);
void on_extClock_clicked();
void updateHardware(); void updateHardware();
void updateStatus(); void updateStatus();

View File

@ -24,7 +24,7 @@
ExternalClockButton::ExternalClockButton(QWidget* parent) : ExternalClockButton::ExternalClockButton(QWidget* parent) :
QPushButton(parent), QPushButton(parent),
m_externalClockFrequency(0), m_externalClockFrequency(0),
m_externalClockFrequencyActive(false) m_externalClockActive(false)
{ {
setObjectName("ExternalClockButton"); setObjectName("ExternalClockButton");
connect(this, SIGNAL(clicked()), this, SLOT(onClicked())); connect(this, SIGNAL(clicked()), this, SLOT(onClicked()));
@ -32,7 +32,7 @@ ExternalClockButton::ExternalClockButton(QWidget* parent) :
void ExternalClockButton::onClicked() void ExternalClockButton::onClicked()
{ {
ExternalClockDialog externalClockDialog(m_externalClockFrequency, m_externalClockFrequencyActive, this); ExternalClockDialog externalClockDialog(m_externalClockFrequency, m_externalClockActive, this);
externalClockDialog.exec(); externalClockDialog.exec();
updateState(); updateState();
} }
@ -41,9 +41,9 @@ void ExternalClockButton::updateState()
{ {
setToolTip(tr("External clock dialog. External clock frequency %1 MHz %2") setToolTip(tr("External clock dialog. External clock frequency %1 MHz %2")
.arg(m_externalClockFrequency/1000000.0) .arg(m_externalClockFrequency/1000000.0)
.arg(m_externalClockFrequencyActive ? "enabled" : "disabled")); .arg(m_externalClockActive ? "enabled" : "disabled"));
if(m_externalClockFrequencyActive) if(m_externalClockActive)
{ {
setStyleSheet("ExternalClockButton { background:rgb(128, 70, 0); }"); setStyleSheet("ExternalClockButton { background:rgb(128, 70, 0); }");
} }

View File

@ -29,7 +29,7 @@ class ExternalClockButton : public QPushButton {
public: public:
ExternalClockButton(QWidget* parent = 0); ExternalClockButton(QWidget* parent = 0);
qint64 getExternalClockFrequency() const { return m_externalClockFrequency; } qint64 getExternalClockFrequency() const { return m_externalClockFrequency; }
bool getExternalClockFrequencyActive() const { return m_externalClockFrequencyActive; } bool getExternalClockActive() const { return m_externalClockActive; }
void setExternalClockFrequency(qint64 deltaFrequency) void setExternalClockFrequency(qint64 deltaFrequency)
{ {
@ -37,9 +37,9 @@ public:
updateState(); updateState();
} }
void setExternalcClockFrequencyActive(bool active) void setExternalClockActive(bool active)
{ {
m_externalClockFrequencyActive = active; m_externalClockActive = active;
updateState(); updateState();
} }
@ -48,7 +48,7 @@ private slots:
private: private:
qint64 m_externalClockFrequency; qint64 m_externalClockFrequency;
bool m_externalClockFrequencyActive; bool m_externalClockActive;
void updateState(); void updateState();
}; };