From c269472f6e6ded2649372ff80e24c06fe5c754d0 Mon Sep 17 00:00:00 2001 From: f4exb Date: Fri, 26 Apr 2019 03:07:50 +0200 Subject: [PATCH] Remote sink / input: pass center frequency in Hz --- plugins/channelrx/remotesink/remotesink.cpp | 2 +- plugins/channelrx/remotesink/remotesink.h | 2 +- plugins/samplesource/remoteinput/remoteinputgui.cpp | 4 ++-- plugins/samplesource/remoteinput/remoteinputudphandler.cpp | 6 +++--- plugins/samplesource/remoteinput/remoteinputudphandler.h | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/plugins/channelrx/remotesink/remotesink.cpp b/plugins/channelrx/remotesink/remotesink.cpp index fe93af7d5..b20a0c284 100644 --- a/plugins/channelrx/remotesink/remotesink.cpp +++ b/plugins/channelrx/remotesink/remotesink.cpp @@ -129,7 +129,7 @@ void RemoteSink::feed(const SampleVector::const_iterator& begin, const SampleVec RemoteMetaDataFEC metaData; gettimeofday(&tv, 0); - metaData.m_centerFrequency = m_centerFrequency + (m_frequencyOffset/1000); // FIXME: precision issue + metaData.m_centerFrequency = m_centerFrequency + m_frequencyOffset; metaData.m_sampleRate = m_sampleRate; metaData.m_sampleBytes = (SDR_RX_SAMP_SZ <= 16 ? 2 : 4); metaData.m_sampleBits = SDR_RX_SAMP_SZ; diff --git a/plugins/channelrx/remotesink/remotesink.h b/plugins/channelrx/remotesink/remotesink.h index 899fc0f9d..58607240b 100644 --- a/plugins/channelrx/remotesink/remotesink.h +++ b/plugins/channelrx/remotesink/remotesink.h @@ -136,7 +136,7 @@ public: QString& errorMessage); /** Set center frequency given in Hz */ - void setCenterFrequency(uint64_t centerFrequency) { m_centerFrequency = centerFrequency / 1000; } + void setCenterFrequency(uint64_t centerFrequency) { m_centerFrequency = centerFrequency; } /** Set sample rate given in Hz */ void setSampleRate(uint32_t sampleRate) { m_sampleRate = sampleRate; } diff --git a/plugins/samplesource/remoteinput/remoteinputgui.cpp b/plugins/samplesource/remoteinput/remoteinputgui.cpp index 1804b6926..3f0132fb5 100644 --- a/plugins/samplesource/remoteinput/remoteinputgui.cpp +++ b/plugins/samplesource/remoteinput/remoteinputgui.cpp @@ -287,7 +287,7 @@ void RemoteInputGui::updateSampleRateAndFrequency() ui->deviceRateText->setText(tr("%1k").arg((float)m_streamSampleRate / 1000)); blockApplySettings(true); ui->centerFrequency->setValue(m_streamCenterFrequency / 1000); - ui->centerFrequencyHz->setValue(0); // TODO + ui->centerFrequencyHz->setValue(m_streamCenterFrequency % 1000); blockApplySettings(false); } @@ -296,7 +296,7 @@ void RemoteInputGui::displaySettings() blockApplySettings(true); ui->centerFrequency->setValue(m_streamCenterFrequency / 1000); - ui->centerFrequencyHz->setValue(0); // TODO + ui->centerFrequencyHz->setValue(m_streamCenterFrequency % 1000); ui->deviceRateText->setText(tr("%1k").arg(m_streamSampleRate / 1000.0)); ui->apiAddress->setText(m_settings.m_apiAddress); diff --git a/plugins/samplesource/remoteinput/remoteinputudphandler.cpp b/plugins/samplesource/remoteinput/remoteinputudphandler.cpp index 1eb5d6dda..3cf477f27 100644 --- a/plugins/samplesource/remoteinput/remoteinputudphandler.cpp +++ b/plugins/samplesource/remoteinput/remoteinputudphandler.cpp @@ -195,16 +195,16 @@ void RemoteInputUDPHandler::processData() if (change && (m_samplerate != 0)) { - qDebug("RemoteInputUDPHandler::processData: m_samplerate: %u m_centerFrequency: %u kHz", m_samplerate, m_centerFrequency); + qDebug("RemoteInputUDPHandler::processData: m_samplerate: %u S/s m_centerFrequency: %lu Hz", m_samplerate, m_centerFrequency); - DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency * 1000); // Frequency in Hz for the DSP engine + DSPSignalNotification *notif = new DSPSignalNotification(m_samplerate, m_centerFrequency); // Frequency in Hz for the DSP engine m_deviceAPI->getDeviceEngineInputMessageQueue()->push(notif); if (m_outputMessageQueueToGUI) { RemoteInput::MsgReportRemoteInputStreamData *report = RemoteInput::MsgReportRemoteInputStreamData::create( m_samplerate, - m_centerFrequency * 1000, // Frequency in Hz for the GUI + m_centerFrequency, // Frequency in Hz for the GUI m_tv_msec); m_outputMessageQueueToGUI->push(report); diff --git a/plugins/samplesource/remoteinput/remoteinputudphandler.h b/plugins/samplesource/remoteinput/remoteinputudphandler.h index 5cf05597b..2d8ac155d 100644 --- a/plugins/samplesource/remoteinput/remoteinputudphandler.h +++ b/plugins/samplesource/remoteinput/remoteinputudphandler.h @@ -47,7 +47,7 @@ public: int getNbOriginalBlocks() const { return RemoteNbOrginalBlocks; } bool isStreaming() const { return m_masterTimerConnected; } int getSampleRate() const { return m_samplerate; } - int getCenterFrequency() const { return m_centerFrequency * 1000; } + int getCenterFrequency() const { return m_centerFrequency; } int getBufferGauge() const { return m_remoteInputBuffer.getBufferGauge(); } uint64_t getTVmSec() const { return m_tv_msec; } int getMinNbBlocks() { return m_remoteInputBuffer.getMinNbBlocks(); } @@ -71,7 +71,7 @@ private: qint64 m_udpReadBytes; SampleSinkFifo *m_sampleFifo; uint32_t m_samplerate; - uint32_t m_centerFrequency; + uint64_t m_centerFrequency; uint64_t m_tv_msec; MessageQueue *m_outputMessageQueueToGUI; uint32_t m_tickCount;