1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2024-11-16 05:11:49 -05:00

Channel Analyzer NG: reviewed deserialization sequence

This commit is contained in:
f4exb 2017-02-21 04:57:44 +01:00
parent 946d1cf68a
commit 1174875551
2 changed files with 30 additions and 25 deletions

View File

@ -132,9 +132,7 @@ void ChannelAnalyzerNG::stop()
bool ChannelAnalyzerNG::handleMessage(const Message& cmd) bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
{ {
float band, lowCutoff; float bandwidth, lowCutoff;
qDebug() << "ChannelAnalyzerNG::handleMessage";
if (DownChannelizer::MsgChannelizerNotification::match(cmd)) if (DownChannelizer::MsgChannelizerNotification::match(cmd))
{ {
@ -142,6 +140,8 @@ bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
m_sampleRate = notif.getSampleRate(); m_sampleRate = notif.getSampleRate();
m_nco.setFreq(-notif.getFrequencyOffset(), m_sampleRate); m_nco.setFreq(-notif.getFrequencyOffset(), m_sampleRate);
SSBFilter->create_filter(m_LowCutoff / m_sampleRate, m_Bandwidth / m_sampleRate);
DSBFilter->create_dsb_filter(m_Bandwidth / m_sampleRate);
qDebug() << "ChannelAnalyzerNG::handleMessage: MsgChannelizerNotification: m_sampleRate: " << m_sampleRate qDebug() << "ChannelAnalyzerNG::handleMessage: MsgChannelizerNotification: m_sampleRate: " << m_sampleRate
<< " frequencyOffset: " << notif.getFrequencyOffset(); << " frequencyOffset: " << notif.getFrequencyOffset();
@ -152,12 +152,12 @@ bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
{ {
MsgConfigureChannelAnalyzer& cfg = (MsgConfigureChannelAnalyzer&) cmd; MsgConfigureChannelAnalyzer& cfg = (MsgConfigureChannelAnalyzer&) cmd;
band = cfg.getBandwidth(); bandwidth = cfg.getBandwidth();
lowCutoff = cfg.getLoCutoff(); lowCutoff = cfg.getLoCutoff();
if (band < 0) if (bandwidth < 0)
{ {
band = -band; bandwidth = -bandwidth;
lowCutoff = -lowCutoff; lowCutoff = -lowCutoff;
m_usb = false; m_usb = false;
} }
@ -166,15 +166,15 @@ bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
m_usb = true; m_usb = true;
} }
if (band < 100.0f) if (bandwidth < 100.0f)
{ {
band = 100.0f; bandwidth = 100.0f;
lowCutoff = 0; lowCutoff = 0;
} }
m_settingsMutex.lock(); m_settingsMutex.lock();
m_Bandwidth = band; m_Bandwidth = bandwidth;
m_LowCutoff = lowCutoff; m_LowCutoff = lowCutoff;
SSBFilter->create_filter(m_LowCutoff / m_sampleRate, m_Bandwidth / m_sampleRate); SSBFilter->create_filter(m_LowCutoff / m_sampleRate, m_Bandwidth / m_sampleRate);
@ -185,7 +185,8 @@ bool ChannelAnalyzerNG::handleMessage(const Message& cmd)
m_settingsMutex.unlock(); m_settingsMutex.unlock();
qDebug() << " - MsgConfigureChannelAnalyzer: m_Bandwidth: " << m_Bandwidth qDebug() << "ChannelAnalyzerNG::handleMessage: MsgConfigureChannelAnalyzer:"
<< " m_Bandwidth: " << m_Bandwidth
<< " m_LowCutoff: " << m_LowCutoff << " m_LowCutoff: " << m_LowCutoff
<< " m_spanLog2: " << m_spanLog2 << " m_spanLog2: " << m_spanLog2
<< " m_ssb: " << m_ssb; << " m_ssb: " << m_ssb;

View File

@ -111,16 +111,16 @@ bool ChannelAnalyzerNGGUI::deserialize(const QByteArray& data)
{ {
QByteArray bytetmp; QByteArray bytetmp;
quint32 u32tmp; quint32 u32tmp;
qint32 tmp, bw, lowCut; qint32 tmp, spanLog2, bw, lowCut;
bool tmpBool; bool tmpBool;
blockApplySettings(true); blockApplySettings(true);
m_channelMarker.blockSignals(true); m_channelMarker.blockSignals(true);
d.readS32(1, &tmp, 0); d.readS32(1, &tmp, 0);
m_channelMarker.setCenterFrequency(tmp); m_channelMarker.setCenterFrequency(tmp);
d.readS32(2, &bw, 30); d.readS32(2, &bw, 30);
ui->BW->setValue(bw); ui->BW->setValue(bw);
d.readBlob(3, &bytetmp); d.readBlob(3, &bytetmp);
ui->spectrumGUI->deserialize(bytetmp); ui->spectrumGUI->deserialize(bytetmp);
@ -129,23 +129,28 @@ bool ChannelAnalyzerNGGUI::deserialize(const QByteArray& data)
m_channelMarker.setColor(u32tmp); m_channelMarker.setColor(u32tmp);
} }
d.readS32(5, &lowCut, 3); d.readS32(5, &lowCut, 3);
ui->lowCut->setValue(lowCut); ui->lowCut->setValue(lowCut);
d.readS32(6, &tmp, 20); d.readS32(6, &spanLog2, 3);
ui->spanLog2->setValue(tmp); ui->spanLog2->setValue(spanLog2);
setNewRate(tmp); d.readBool(7, &tmpBool, false);
d.readBool(7, &tmpBool, false); ui->ssb->setChecked(tmpBool);
ui->ssb->setChecked(tmpBool);
d.readBlob(8, &bytetmp); d.readBlob(8, &bytetmp);
ui->scopeGUI->deserialize(bytetmp); ui->scopeGUI->deserialize(bytetmp);
blockApplySettings(false); blockApplySettings(false);
m_channelMarker.blockSignals(false); m_channelMarker.blockSignals(false);
ui->BW->setValue(bw); // qDebug() << "ChannelAnalyzerNGGUI::deserialize:"
ui->lowCut->setValue(lowCut); // does applySettings(); // << " spanLog2: " << spanLog2
// << " bw: " << bw
// << " lowCut: " << lowCut;
return true; setNewRate(spanLog2);
ui->BW->setValue(bw);
ui->lowCut->setValue(lowCut);
return true;
} }
else else
{ {
@ -258,7 +263,6 @@ void ChannelAnalyzerNGGUI::on_spanLog2_valueChanged(int value)
if (setNewRate(value)) { if (setNewRate(value)) {
applySettings(); applySettings();
} }
} }
void ChannelAnalyzerNGGUI::on_ssb_toggled(bool checked) void ChannelAnalyzerNGGUI::on_ssb_toggled(bool checked)