Channel Analyzer NG: deserialization: set decimation and filters in appropriate order

This commit is contained in:
f4exb 2017-02-21 06:08:02 +01:00
parent 4894c8d3ba
commit 91377b8a59
2 changed files with 11 additions and 13 deletions

View File

@ -132,7 +132,7 @@ void ChannelAnalyzerNG::stop()
bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
{
float band, lowCutoff;
float bandwidth, lowCutoff;
qDebug() << "ChannelAnalyzerNG::handleMessage";
@ -152,12 +152,12 @@ bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
{
MsgConfigureChannelAnalyzer& cfg = (MsgConfigureChannelAnalyzer&) cmd;
band = cfg.getBandwidth();
bandwidth = cfg.getBandwidth();
lowCutoff = cfg.getLoCutoff();
if (band < 0)
if (bandwidth < 0)
{
band = -band;
bandwidth = -bandwidth;
lowCutoff = -lowCutoff;
m_usb = false;
}
@ -166,15 +166,15 @@ bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
m_usb = true;
}
if (band < 100.0f)
if (bandwidth < 100.0f)
{
band = 100.0f;
bandwidth = 100.0f;
lowCutoff = 0;
}
m_settingsMutex.lock();
m_Bandwidth = band;
m_Bandwidth = bandwidth;
m_LowCutoff = lowCutoff;
SSBFilter->create_filter(m_LowCutoff / m_sampleRate, m_Bandwidth / m_sampleRate);

View File

@ -111,7 +111,7 @@ bool ChannelAnalyzerNGGUI::deserialize(const QByteArray& data)
{
QByteArray bytetmp;
quint32 u32tmp;
qint32 tmp, bw, lowCut;
qint32 tmp, spanLog2, bw, lowCut;
bool tmpBool;
blockApplySettings(true);
@ -120,7 +120,6 @@ bool ChannelAnalyzerNGGUI::deserialize(const QByteArray& data)
d.readS32(1, &tmp, 0);
m_channelMarker.setCenterFrequency(tmp);
d.readS32(2, &bw, 30);
ui->BW->setValue(bw);
d.readBlob(3, &bytetmp);
ui->spectrumGUI->deserialize(bytetmp);
@ -130,10 +129,7 @@ bool ChannelAnalyzerNGGUI::deserialize(const QByteArray& data)
}
d.readS32(5, &lowCut, 3);
ui->lowCut->setValue(lowCut);
d.readS32(6, &tmp, 20);
ui->spanLog2->setValue(tmp);
setNewRate(tmp);
d.readS32(6, &spanLog2, 3);
d.readBool(7, &tmpBool, false);
ui->ssb->setChecked(tmpBool);
d.readBlob(8, &bytetmp);
@ -142,6 +138,8 @@ bool ChannelAnalyzerNGGUI::deserialize(const QByteArray& data)
blockApplySettings(false);
m_channelMarker.blockSignals(false);
ui->spanLog2->setValue(spanLog2);
setNewRate(spanLog2);
ui->BW->setValue(bw);
ui->lowCut->setValue(lowCut); // does applySettings();