From 60a114b7b8c25c3c8d4b144191a430d3e60c9348 Mon Sep 17 00:00:00 2001 From: f4exb Date: Thu, 26 May 2022 12:28:18 +0200 Subject: [PATCH] Fixed Interferometer and BeamSteeringCW absolute center frequency display --- .../beamsteeringcwmod/beamsteeringcwmodgui.cpp | 8 ++++++++ .../channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.h | 1 + plugins/channelmimo/interferometer/interferometergui.cpp | 8 ++++++++ plugins/channelmimo/interferometer/interferometergui.h | 1 + 4 files changed, 18 insertions(+) diff --git a/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.cpp b/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.cpp index f54ec2100..a280239ea 100644 --- a/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.cpp +++ b/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.cpp @@ -78,6 +78,7 @@ bool BeamSteeringCWModGUI::handleMessage(const Message& message) m_basebandSampleRate = notif.getSampleRate(); m_centerFrequency = notif.getCenterFrequency(); displayRateAndShift(); + updateAbsoluteCenterFrequency(); return true; } else if (BeamSteeringCWMod::MsgConfigureBeamSteeringCWMod::match(message)) @@ -182,6 +183,7 @@ void BeamSteeringCWModGUI::displaySettings() applyInterpolation(); ui->steeringDegreesText->setText(tr("%1").arg(m_settings.m_steerDegrees)); getRollupContents()->restoreState(m_rollupState); + updateAbsoluteCenterFrequency(); blockApplySettings(false); } @@ -308,6 +310,7 @@ void BeamSteeringCWModGUI::applyPosition() ui->filterChainText->setText(s); displayRateAndShift(); + updateAbsoluteCenterFrequency(); applySettings(); } @@ -325,3 +328,8 @@ void BeamSteeringCWModGUI::makeUIConnections() QObject::connect(ui->position, &QSlider::valueChanged, this, &BeamSteeringCWModGUI::on_position_valueChanged); QObject::connect(ui->steeringDegrees, &QSlider::valueChanged, this, &BeamSteeringCWModGUI::on_steeringDegrees_valueChanged); } + +void BeamSteeringCWModGUI::updateAbsoluteCenterFrequency() +{ + setStatusFrequency(m_centerFrequency + m_shiftFrequencyFactor * m_basebandSampleRate); +} diff --git a/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.h b/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.h index b515573b1..4878c3aa6 100644 --- a/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.h +++ b/plugins/channelmimo/beamsteeringcwmod/beamsteeringcwmodgui.h @@ -86,6 +86,7 @@ private: void displayRateAndShift(); bool handleMessage(const Message& message); void makeUIConnections(); + void updateAbsoluteCenterFrequency(); void leaveEvent(QEvent*); void enterEvent(QEvent*); diff --git a/plugins/channelmimo/interferometer/interferometergui.cpp b/plugins/channelmimo/interferometer/interferometergui.cpp index d97dfb80d..6a1a52e8e 100644 --- a/plugins/channelmimo/interferometer/interferometergui.cpp +++ b/plugins/channelmimo/interferometer/interferometergui.cpp @@ -79,6 +79,7 @@ bool InterferometerGUI::handleMessage(const Message& message) m_sampleRate = notif.getSampleRate(); m_centerFrequency = notif.getCenterFrequency(); displayRateAndShift(); + updateAbsoluteCenterFrequency(); return true; } else if (Interferometer::MsgConfigureInterferometer::match(message)) @@ -206,6 +207,7 @@ void InterferometerGUI::displaySettings() ui->phaseCorrection->setValue(m_settings.m_phase); ui->phaseCorrectionText->setText(tr("%1").arg(m_settings.m_phase)); getRollupContents()->restoreState(m_rollupState); + updateAbsoluteCenterFrequency(); blockApplySettings(false); } @@ -345,6 +347,7 @@ void InterferometerGUI::applyPosition() ui->filterChainText->setText(s); displayRateAndShift(); + updateAbsoluteCenterFrequency(); applySettings(); } @@ -362,3 +365,8 @@ void InterferometerGUI::makeUIConnections() QObject::connect(ui->phaseCorrection, &QSlider::valueChanged, this, &InterferometerGUI::on_phaseCorrection_valueChanged); QObject::connect(ui->correlationType, QOverload::of(&QComboBox::currentIndexChanged), this, &InterferometerGUI::on_correlationType_currentIndexChanged); } + +void InterferometerGUI::updateAbsoluteCenterFrequency() +{ + setStatusFrequency(m_centerFrequency + m_shiftFrequencyFactor * m_sampleRate); +} diff --git a/plugins/channelmimo/interferometer/interferometergui.h b/plugins/channelmimo/interferometer/interferometergui.h index b4b2d6fa2..02bcf6cab 100644 --- a/plugins/channelmimo/interferometer/interferometergui.h +++ b/plugins/channelmimo/interferometer/interferometergui.h @@ -88,6 +88,7 @@ private: void displayRateAndShift(); bool handleMessage(const Message& message); void makeUIConnections(); + void updateAbsoluteCenterFrequency(); void leaveEvent(QEvent*); void enterEvent(QEvent*);