All concerned demods: call applyChannelSettings with force=true at construction and start.

pull/127/head
f4exb 2018-01-09 00:59:10 +01:00
rodzic 0af04cf66f
commit 6885dd1fe6
18 zmienionych plików z 42 dodań i 30 usunięć

Wyświetl plik

@ -67,6 +67,7 @@ AMDemod::AMDemod(DeviceSourceAPI *deviceAPI) :
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
applySettings(m_settings, true);
}
@ -133,6 +134,7 @@ void AMDemod::start()
qDebug("AMDemod::start");
m_squelchCount = 0;
m_audioFifo.clear();
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
}
void AMDemod::stop()
@ -181,19 +183,19 @@ bool AMDemod::handleMessage(const Message& cmd)
}
}
void AMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset)
void AMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force)
{
qDebug() << "AMDemod::applyChannelSettings:"
<< " inputSampleRate: " << inputSampleRate
<< " inputFrequencyOffset: " << inputFrequencyOffset;
if ((m_inputFrequencyOffset != inputFrequencyOffset) ||
(m_inputSampleRate != inputSampleRate))
(m_inputSampleRate != inputSampleRate) || force)
{
m_nco.setFreq(-inputFrequencyOffset, inputSampleRate);
}
if (m_inputSampleRate != inputSampleRate)
if ((m_inputSampleRate != inputSampleRate) || force)
{
m_settingsMutex.lock();
m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.2f);

Wyświetl plik

@ -156,7 +156,7 @@ private:
QMutex m_settingsMutex;
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false);
void applySettings(const AMDemodSettings& settings, bool force = false);
void processOneSample(Complex &ci)

Wyświetl plik

@ -8,7 +8,7 @@
const PluginDescriptor AMDemodPlugin::m_pluginDescriptor = {
QString("AM Demodulator"),
QString("3.9.0"),
QString("3.10.1"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,

Wyświetl plik

@ -91,6 +91,7 @@ BFMDemod::BFMDemod(DeviceSourceAPI *deviceAPI) :
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
applySettings(m_settings, true);
}
@ -300,6 +301,7 @@ void BFMDemod::start()
m_squelchState = 0;
m_audioFifo.clear();
m_phaseDiscri.reset();
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
}
void BFMDemod::stop()
@ -363,19 +365,19 @@ bool BFMDemod::handleMessage(const Message& cmd)
}
}
void BFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset)
void BFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force)
{
qDebug() << "BFMDemod::applyChannelSettings:"
<< " inputSampleRate: " << inputSampleRate
<< " inputFrequencyOffset: " << inputFrequencyOffset;
if((inputFrequencyOffset != m_inputFrequencyOffset) ||
(inputSampleRate != m_inputSampleRate))
(inputSampleRate != m_inputSampleRate) || force)
{
m_nco.setFreq(-inputFrequencyOffset, inputSampleRate);
}
if (inputSampleRate != m_inputSampleRate)
if ((inputSampleRate != m_inputSampleRate) || force)
{
m_pilotPLL.configure(19000.0/inputSampleRate, 50.0/inputSampleRate, 0.01);

Wyświetl plik

@ -225,7 +225,7 @@ private:
static const int m_udpBlockSize;
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false);
void applySettings(const BFMDemodSettings& settings, bool force = false);
};

Wyświetl plik

@ -25,7 +25,7 @@
const PluginDescriptor BFMPlugin::m_pluginDescriptor = {
QString("Broadcast FM Demodulator"),
QString("3.9.0"),
QString("3.10.1"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,

Wyświetl plik

@ -86,6 +86,7 @@ DSDDemod::DSDDemod(DeviceSourceAPI *deviceAPI) :
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
applySettings(m_settings, true);
}
@ -313,6 +314,7 @@ void DSDDemod::start()
m_audioFifo1.clear();
m_audioFifo2.clear();
m_phaseDiscri.reset();
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
}
void DSDDemod::stop()
@ -365,19 +367,19 @@ bool DSDDemod::handleMessage(const Message& cmd)
}
}
void DSDDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset)
void DSDDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force)
{
qDebug() << "DSDDemod::applyChannelSettings:"
<< " inputSampleRate: " << inputSampleRate
<< " inputFrequencyOffset: " << inputFrequencyOffset;
if ((inputFrequencyOffset != m_inputFrequencyOffset) ||
(inputSampleRate != m_inputSampleRate))
(inputSampleRate != m_inputSampleRate) || force)
{
m_nco.setFreq(-inputFrequencyOffset, inputSampleRate);
}
if (inputSampleRate != m_inputSampleRate)
if ((inputSampleRate != m_inputSampleRate) || force)
{
m_settingsMutex.lock();
m_interpolator.create(16, inputSampleRate, (m_settings.m_rfBandwidth) / 2.2);

Wyświetl plik

@ -202,7 +202,7 @@ private:
static const int m_udpBlockSize;
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false);
void applySettings(const DSDDemodSettings& settings, bool force = false);
};

Wyświetl plik

@ -25,7 +25,7 @@
const PluginDescriptor DSDDemodPlugin::m_pluginDescriptor = {
QString("DSD Demodulator"),
QString("3.9.1"),
QString("3.10.1"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,

Wyświetl plik

@ -86,6 +86,7 @@ NFMDemod::NFMDemod(DeviceSourceAPI *devieAPI) :
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
applySettings(m_settings, true);
}
@ -315,6 +316,7 @@ void NFMDemod::start()
m_squelchCount = 0;
m_audioFifo.clear();
m_phaseDiscri.reset();
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
}
void NFMDemod::stop()
@ -361,19 +363,19 @@ bool NFMDemod::handleMessage(const Message& cmd)
}
}
void NFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset)
void NFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force)
{
qDebug() << "NFMDemod::applyChannelSettings:"
<< " inputSampleRate: " << inputSampleRate
<< " inputFrequencyOffset: " << inputFrequencyOffset;
if ((inputFrequencyOffset != m_inputFrequencyOffset) ||
(inputSampleRate != m_inputSampleRate))
(inputSampleRate != m_inputSampleRate) || force)
{
m_nco.setFreq(-inputFrequencyOffset, inputSampleRate);
}
if (inputSampleRate != m_inputSampleRate)
if ((inputSampleRate != m_inputSampleRate) || force)
{
m_settingsMutex.lock();
m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.2);

Wyświetl plik

@ -220,7 +220,7 @@ private:
static const int m_udpBlockSize;
// void apply(bool force = false);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false);
void applySettings(const NFMDemodSettings& settings, bool force = false);
void webapiFormatChannelSettings(SWGSDRangel::SWGChannelSettings& response, const NFMDemodSettings& settings);
};

Wyświetl plik

@ -7,7 +7,7 @@
const PluginDescriptor NFMPlugin::m_pluginDescriptor = {
QString("NFM Demodulator"),
QString("3.9.0"),
QString("3.10.1"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,

Wyświetl plik

@ -70,6 +70,7 @@ WFMDemod::WFMDemod(DeviceSourceAPI* deviceAPI) :
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
applySettings(m_settings, true);
}
@ -200,6 +201,7 @@ void WFMDemod::start()
m_squelchState = 0;
m_audioFifo.clear();
m_phaseDiscri.reset();
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
}
void WFMDemod::stop()
@ -253,19 +255,19 @@ bool WFMDemod::handleMessage(const Message& cmd)
}
}
void WFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset)
void WFMDemod::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force)
{
qDebug() << "WFMDemod::applyChannelSettings:"
<< " inputSampleRate: " << inputSampleRate
<< " inputFrequencyOffset: " << inputFrequencyOffset;
if((inputFrequencyOffset != m_inputFrequencyOffset) ||
(inputSampleRate != m_inputSampleRate))
(inputSampleRate != m_inputSampleRate) || force)
{
m_nco.setFreq(-inputFrequencyOffset, inputSampleRate);
}
if (inputSampleRate != m_inputSampleRate)
if ((inputSampleRate != m_inputSampleRate) || force)
{
qDebug() << "WFMDemod::applyChannelSettings: m_interpolator.create";
m_interpolator.create(16, inputSampleRate, m_settings.m_afBandwidth);

Wyświetl plik

@ -167,7 +167,7 @@ private:
static const int m_udpBlockSize;
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = false);
void applySettings(const WFMDemodSettings& settings, bool force = false);
};

Wyświetl plik

@ -8,7 +8,7 @@
const PluginDescriptor WFMPlugin::m_pluginDescriptor = {
QString("WFM Demodulator"),
QString("3.9.0"),
QString("3.10.1"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,

Wyświetl plik

@ -102,6 +102,7 @@ UDPSrc::UDPSrc(DeviceSourceAPI *deviceAPI) :
m_deviceAPI->addThreadedSink(m_threadedChannelizer);
m_deviceAPI->addChannelAPI(this);
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
applySettings(m_settings, true);
}
@ -313,6 +314,7 @@ void UDPSrc::feed(const SampleVector::const_iterator& begin, const SampleVector:
void UDPSrc::start()
{
m_phaseDiscri.reset();
applyChannelSettings(m_inputSampleRate, m_inputFrequencyOffset, true);
}
void UDPSrc::stop()
@ -445,19 +447,19 @@ void UDPSrc::audioReadyRead()
//qDebug("UDPSrc::audioReadyRead: done");
}
void UDPSrc::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset)
void UDPSrc::applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force)
{
qDebug() << "UDPSrc::applyChannelSettings:"
<< " inputSampleRate: " << inputSampleRate
<< " inputFrequencyOffset: " << inputFrequencyOffset;
if((inputFrequencyOffset != m_inputFrequencyOffset) ||
(inputSampleRate != m_inputSampleRate))
(inputSampleRate != m_inputSampleRate) || force)
{
m_nco.setFreq(-inputFrequencyOffset, inputSampleRate);
}
if (inputSampleRate != m_inputSampleRate)
if ((inputSampleRate != m_inputSampleRate) || force)
{
m_settingsMutex.lock();
m_interpolator.create(16, inputSampleRate, m_settings.m_rfBandwidth / 2.0);

Wyświetl plik

@ -198,7 +198,7 @@ protected:
QMutex m_settingsMutex;
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset);
void applyChannelSettings(int inputSampleRate, int inputFrequencyOffset, bool force = true);
void applySettings(const UDPSrcSettings& settings, bool force = false);
inline void calculateSquelch(double value)

Wyświetl plik

@ -25,7 +25,7 @@
const PluginDescriptor UDPSrcPlugin::m_pluginDescriptor = {
QString("UDP Channel Source"),
QString("3.9.0"),
QString("3.10.1"),
QString("(c) Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"),
true,