diff --git a/plugins/channelrx/demoddsd/dsddemod.cpp b/plugins/channelrx/demoddsd/dsddemod.cpp index 997eb4138..38210fafc 100644 --- a/plugins/channelrx/demoddsd/dsddemod.cpp +++ b/plugins/channelrx/demoddsd/dsddemod.cpp @@ -57,7 +57,7 @@ DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) : m_config.m_inputFrequencyOffset = 0; m_config.m_rfBandwidth = 10000.0; m_config.m_fmDeviation = 5000.0; - m_config.m_demodGain = 100; + m_config.m_demodGain = 1.0; m_config.m_squelchGate = 5; // 10s of ms at 48000 Hz sample rate. Corresponds to 2400 for AGC attack m_config.m_squelch = -30.0; m_config.m_volume = 1.0; @@ -107,8 +107,8 @@ DSDDemod::~DSDDemod() void DSDDemod::configure(MessageQueue* messageQueue, Real rfBandwidth, Real fmDeviation, - int demodGain, - int volume, + Real demodGain, + Real volume, int baudRate, int squelchGate, Real squelch, @@ -182,7 +182,7 @@ void DSDDemod::feed(const SampleVector::const_iterator& begin, const SampleVecto m_magsqCount++; - Real demod = 32768.0f * m_phaseDiscri.phaseDiscriminator(ci) * ((float) m_running.m_demodGain / 100.0f); + Real demod = 32768.0f * m_phaseDiscri.phaseDiscriminator(ci) * m_running.m_demodGain; m_sampleCount++; // AF processing @@ -414,8 +414,8 @@ bool DSDDemod::handleMessage(const Message& cmd) qDebug() << "DSDDemod::handleMessage: MsgConfigureDSDDemod: m_rfBandwidth: " << m_config.m_rfBandwidth << " m_fmDeviation: " << m_config.m_fmDeviation - << " m_demodGain: " << m_config.m_demodGain / 100.0 - << " m_volume: " << m_config.m_volume / 10.0 + << " m_demodGain: " << m_config.m_demodGain + << " m_volume: " << m_config.m_volume << " m_baudRate: " << m_config.m_baudRate << " m_squelchGate" << m_config.m_squelchGate << " m_squelch: " << m_config.m_squelch @@ -483,7 +483,7 @@ void DSDDemod::apply(bool force) if ((m_config.m_volume != m_running.m_volume) || force) { - m_dsdDecoder.setAudioGain(m_config.m_volume / 10.0f); + m_dsdDecoder.setAudioGain(m_config.m_volume); } if ((m_config.m_baudRate != m_running.m_baudRate) || force) diff --git a/plugins/channelrx/demoddsd/dsddemod.h b/plugins/channelrx/demoddsd/dsddemod.h index 48a16b210..5d6e14579 100644 --- a/plugins/channelrx/demoddsd/dsddemod.h +++ b/plugins/channelrx/demoddsd/dsddemod.h @@ -69,10 +69,10 @@ public: void setScopeSink(BasebandSampleSink* sampleSink) { m_scope = sampleSink; } void configure(MessageQueue* messageQueue, - Real rfBandwidth, - Real fmDeviation, - int demodGain, - int volume, + Real rfBandwidth, + Real fmDeviation, + Real demodGain, + Real volume, int baudRate, int squelchGate, Real squelch, @@ -141,8 +141,8 @@ private: public: Real getRFBandwidth() const { return m_rfBandwidth; } Real getFMDeviation() const { return m_fmDeviation; } - int getDemodGain() const { return m_demodGain; } - int getVolume() const { return m_volume; } + Real getDemodGain() const { return m_demodGain; } + Real getVolume() const { return m_volume; } int getBaudRate() const { return m_baudRate; } int getSquelchGate() const { return m_squelchGate; } Real getSquelch() const { return m_squelch; } @@ -159,8 +159,8 @@ private: static MsgConfigureDSDDemod* create(Real rfBandwidth, Real fmDeviation, - int demodGain, - int volume, + Real demodGain, + Real volume, int baudRate, int squelchGate, Real squelch, @@ -200,7 +200,7 @@ private: Real m_rfBandwidth; Real m_fmDeviation; Real m_demodGain; - int m_volume; + Real m_volume; int m_baudRate; int m_squelchGate; Real m_squelch; @@ -216,10 +216,10 @@ private: quint16 m_udpPort; bool m_force; - MsgConfigureDSDDemod(int rfBandwidth, - int fmDeviation, - int demodGain, - int volume, + MsgConfigureDSDDemod(Real rfBandwidth, + Real fmDeviation, + Real demodGain, + Real volume, int baudRate, int squelchGate, Real squelch, @@ -266,8 +266,8 @@ private: qint64 m_inputFrequencyOffset; Real m_rfBandwidth; Real m_fmDeviation; - int m_demodGain; - int m_volume; + Real m_demodGain; + Real m_volume; int m_baudRate; int m_squelchGate; Real m_squelch; @@ -288,8 +288,8 @@ private: m_inputFrequencyOffset(0), m_rfBandwidth(10000.0), m_fmDeviation(5000.0), - m_demodGain(-1), - m_volume(-1), + m_demodGain(1.0), + m_volume(1.0), m_baudRate(4800), m_squelchGate(1), m_squelch(0), diff --git a/plugins/channelrx/demoddsd/dsddemodgui.cpp b/plugins/channelrx/demoddsd/dsddemodgui.cpp index 5924161ea..1b25679f9 100644 --- a/plugins/channelrx/demoddsd/dsddemodgui.cpp +++ b/plugins/channelrx/demoddsd/dsddemodgui.cpp @@ -409,8 +409,8 @@ void DSDDemodGUI::applySettings(bool force) m_dsdDemod->configure(m_dsdDemod->getInputMessageQueue(), ui->rfBW->value() * 100.0, ui->fmDeviation->value() * 100.0, - ui->demodGain->value(), - ui->volume->value(), + ui->demodGain->value() / 100.0, + ui->volume->value() / 10.0, DSDDemodBaudRates::getRate(ui->baudRate->currentIndex()), ui->squelchGate->value(), // in 10ths of ms ui->squelch->value(), diff --git a/plugins/channelrx/demoddsd/dsddemodsettings.cpp b/plugins/channelrx/demoddsd/dsddemodsettings.cpp index ea5ece657..46a0710f7 100644 --- a/plugins/channelrx/demoddsd/dsddemodsettings.cpp +++ b/plugins/channelrx/demoddsd/dsddemodsettings.cpp @@ -33,10 +33,10 @@ void DSDDemodSettings::resetToDefaults() m_inputSampleRate = 96000; m_inputFrequencyOffset = 0; m_rfBandwidth = 10000.0; + m_fmDeviation = 5000.0; m_demodGain = 1.0; m_volume = 1.0; m_baudRate = 4800; - m_fmDeviation = 5000.0; m_squelchGate = 5; // 10s of ms at 48000 Hz sample rate. Corresponds to 2400 for AGC attack m_squelch = -30.0; m_audioMute = false; diff --git a/plugins/channelrx/demoddsd/dsddemodsettings.h b/plugins/channelrx/demoddsd/dsddemodsettings.h index 4ccf441d5..d8729a222 100644 --- a/plugins/channelrx/demoddsd/dsddemodsettings.h +++ b/plugins/channelrx/demoddsd/dsddemodsettings.h @@ -26,10 +26,10 @@ struct DSDDemodSettings int m_inputSampleRate; qint64 m_inputFrequencyOffset; Real m_rfBandwidth; + Real m_fmDeviation; Real m_demodGain; Real m_volume; int m_baudRate; - Real m_fmDeviation; int m_squelchGate; Real m_squelch; bool m_audioMute;