mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-09-29 16:26:47 -04:00
NFM demod: use settings in GUI
This commit is contained in:
parent
57367021c8
commit
f8fe5e2e13
@ -168,6 +168,10 @@ bool NFMDemodGUI::handleMessage(const Message& message __attribute__((unused)))
|
|||||||
void NFMDemodGUI::channelMarkerChanged()
|
void NFMDemodGUI::channelMarkerChanged()
|
||||||
{
|
{
|
||||||
this->setWindowTitle(m_channelMarker.getTitle());
|
this->setWindowTitle(m_channelMarker.getTitle());
|
||||||
|
m_settings.m_inputFrequencyOffset = m_channelMarker.getCenterFrequency();
|
||||||
|
m_settings.m_udpAddress = m_channelMarker.getUDPAddress(),
|
||||||
|
m_settings.m_udpPort = m_channelMarker.getUDPSendPort(),
|
||||||
|
m_settings.m_rgbColor = m_channelMarker.getColor().rgb();
|
||||||
displayUDPAddress();
|
displayUDPAddress();
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
@ -175,37 +179,44 @@ void NFMDemodGUI::channelMarkerChanged()
|
|||||||
void NFMDemodGUI::on_deltaFrequency_changed(qint64 value)
|
void NFMDemodGUI::on_deltaFrequency_changed(qint64 value)
|
||||||
{
|
{
|
||||||
m_channelMarker.setCenterFrequency(value);
|
m_channelMarker.setCenterFrequency(value);
|
||||||
|
m_settings.m_inputFrequencyOffset = m_channelMarker.getCenterFrequency();
|
||||||
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_rfBW_currentIndexChanged(int index)
|
void NFMDemodGUI::on_rfBW_currentIndexChanged(int index)
|
||||||
{
|
{
|
||||||
qDebug() << "NFMDemodGUI::on_rfBW_currentIndexChanged" << index;
|
qDebug() << "NFMDemodGUI::on_rfBW_currentIndexChanged" << index;
|
||||||
//ui->rfBWText->setText(QString("%1 k").arg(m_rfBW[value] / 1000.0));
|
//ui->rfBWText->setText(QString("%1 k").arg(m_rfBW[value] / 1000.0));
|
||||||
m_channelMarker.setBandwidth(m_rfBW[index]);
|
m_channelMarker.setBandwidth(NFMDemodSettings::getRFBW(index));
|
||||||
|
m_settings.m_rfBandwidth = NFMDemodSettings::getRFBW(index);
|
||||||
|
m_settings.m_fmDeviation = NFMDemodSettings::getFMDev(index);
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_afBW_valueChanged(int value)
|
void NFMDemodGUI::on_afBW_valueChanged(int value)
|
||||||
{
|
{
|
||||||
ui->afBWText->setText(QString("%1 k").arg(value));
|
ui->afBWText->setText(QString("%1 k").arg(value));
|
||||||
|
m_settings.m_afBandwidth = value * 1000.0;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_volume_valueChanged(int value)
|
void NFMDemodGUI::on_volume_valueChanged(int value)
|
||||||
{
|
{
|
||||||
ui->volumeText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1));
|
ui->volumeText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1));
|
||||||
|
m_settings.m_volume = value / 10.0;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_squelchGate_valueChanged(int value __attribute__((unused)))
|
void NFMDemodGUI::on_squelchGate_valueChanged(int value)
|
||||||
{
|
{
|
||||||
ui->squelchGateText->setText(QString("%1").arg(ui->squelchGate->value() * 10.0f, 0, 'f', 0));
|
ui->squelchGateText->setText(QString("%1").arg(value * 10.0f, 0, 'f', 0));
|
||||||
|
m_settings.m_squelchGate = value;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_deltaSquelch_toggled(bool checked __attribute__((unused)))
|
void NFMDemodGUI::on_deltaSquelch_toggled(bool checked)
|
||||||
{
|
{
|
||||||
if (ui->deltaSquelch->isChecked())
|
if (checked)
|
||||||
{
|
{
|
||||||
ui->squelchText->setText(QString("%1").arg((-ui->squelch->value()) / 10.0, 0, 'f', 1));
|
ui->squelchText->setText(QString("%1").arg((-ui->squelch->value()) / 10.0, 0, 'f', 1));
|
||||||
ui->squelchText->setToolTip(tr("Squelch AF balance threshold (%)"));
|
ui->squelchText->setToolTip(tr("Squelch AF balance threshold (%)"));
|
||||||
@ -217,6 +228,7 @@ void NFMDemodGUI::on_deltaSquelch_toggled(bool checked __attribute__((unused)))
|
|||||||
ui->squelchText->setToolTip(tr("Squelch power threshold (dB)"));
|
ui->squelchText->setToolTip(tr("Squelch power threshold (dB)"));
|
||||||
ui->squelch->setToolTip(tr("Squelch AF balance threshold (%)"));
|
ui->squelch->setToolTip(tr("Squelch AF balance threshold (%)"));
|
||||||
}
|
}
|
||||||
|
m_settings.m_deltaSquelch = checked;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -232,23 +244,25 @@ void NFMDemodGUI::on_squelch_valueChanged(int value)
|
|||||||
ui->squelchText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1));
|
ui->squelchText->setText(QString("%1").arg(value / 10.0, 0, 'f', 1));
|
||||||
ui->squelchText->setToolTip(tr("Squelch power threshold (dB)"));
|
ui->squelchText->setToolTip(tr("Squelch power threshold (dB)"));
|
||||||
}
|
}
|
||||||
|
m_settings.m_squelch = value * 1.0;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_ctcssOn_toggled(bool checked)
|
void NFMDemodGUI::on_ctcssOn_toggled(bool checked)
|
||||||
{
|
{
|
||||||
m_ctcssOn = checked;
|
m_settings.m_ctcssOn = checked;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_audioMute_toggled(bool checked)
|
void NFMDemodGUI::on_audioMute_toggled(bool checked)
|
||||||
{
|
{
|
||||||
m_audioMute = checked;
|
m_settings.m_audioMute = checked;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::on_copyAudioToUDP_toggled(bool checked __attribute__((unused)))
|
void NFMDemodGUI::on_copyAudioToUDP_toggled(bool checked)
|
||||||
{
|
{
|
||||||
|
m_settings.m_copyAudioToUDP = checked;
|
||||||
applySettings();
|
applySettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -258,6 +272,7 @@ void NFMDemodGUI::on_ctcss_currentIndexChanged(int index)
|
|||||||
{
|
{
|
||||||
m_nfmDemod->setSelectedCtcssIndex(index);
|
m_nfmDemod->setSelectedCtcssIndex(index);
|
||||||
}
|
}
|
||||||
|
m_settings.m_ctcssIndex = index;
|
||||||
}
|
}
|
||||||
|
|
||||||
void NFMDemodGUI::onWidgetRolled(QWidget* widget __attribute__((unused)), bool rollDown __attribute__((unused)))
|
void NFMDemodGUI::onWidgetRolled(QWidget* widget __attribute__((unused)), bool rollDown __attribute__((unused)))
|
||||||
@ -374,16 +389,16 @@ void NFMDemodGUI::applySettings(bool force)
|
|||||||
ui->deltaFrequency->setValue(m_channelMarker.getCenterFrequency());
|
ui->deltaFrequency->setValue(m_channelMarker.getCenterFrequency());
|
||||||
|
|
||||||
m_nfmDemod->configure(m_nfmDemod->getInputMessageQueue(),
|
m_nfmDemod->configure(m_nfmDemod->getInputMessageQueue(),
|
||||||
m_rfBW[ui->rfBW->currentIndex()],
|
m_settings.m_rfBandwidth,
|
||||||
ui->afBW->value() * 1000.0f,
|
m_settings.m_afBandwidth,
|
||||||
m_fmDev[ui->rfBW->currentIndex()],
|
m_settings.m_fmDeviation,
|
||||||
ui->volume->value() / 10.0f,
|
m_settings.m_volume,
|
||||||
ui->squelchGate->value(), // in 10ths of ms 1 -> 50
|
m_settings.m_squelchGate, // in 10ths of ms 1 -> 50
|
||||||
ui->deltaSquelch->isChecked(),
|
m_settings.m_deltaSquelch,
|
||||||
ui->squelch->value(), // -1000 -> 0
|
m_settings.m_squelch, // -1000 -> 0
|
||||||
ui->ctcssOn->isChecked(),
|
m_settings.m_ctcssOn,
|
||||||
ui->audioMute->isChecked(),
|
m_settings.m_audioMute,
|
||||||
ui->copyAudioToUDP->isChecked(),
|
m_settings.m_copyAudioToUDP,
|
||||||
m_channelMarker.getUDPAddress(),
|
m_channelMarker.getUDPAddress(),
|
||||||
m_channelMarker.getUDPSendPort(),
|
m_channelMarker.getUDPSendPort(),
|
||||||
force);
|
force);
|
||||||
|
@ -8,6 +8,8 @@
|
|||||||
#include "dsp/movingaverage.h"
|
#include "dsp/movingaverage.h"
|
||||||
#include "util/messagequeue.h"
|
#include "util/messagequeue.h"
|
||||||
|
|
||||||
|
#include "nfmdemodsettings.h"
|
||||||
|
|
||||||
class PluginAPI;
|
class PluginAPI;
|
||||||
class DeviceSourceAPI;
|
class DeviceSourceAPI;
|
||||||
|
|
||||||
@ -62,14 +64,13 @@ private:
|
|||||||
PluginAPI* m_pluginAPI;
|
PluginAPI* m_pluginAPI;
|
||||||
DeviceSourceAPI* m_deviceAPI;
|
DeviceSourceAPI* m_deviceAPI;
|
||||||
ChannelMarker m_channelMarker;
|
ChannelMarker m_channelMarker;
|
||||||
|
NFMDemodSettings m_settings;
|
||||||
bool m_basicSettingsShown;
|
bool m_basicSettingsShown;
|
||||||
bool m_doApplySettings;
|
bool m_doApplySettings;
|
||||||
|
|
||||||
ThreadedBasebandSampleSink* m_threadedChannelizer;
|
ThreadedBasebandSampleSink* m_threadedChannelizer;
|
||||||
DownChannelizer* m_channelizer;
|
DownChannelizer* m_channelizer;
|
||||||
NFMDemod* m_nfmDemod;
|
NFMDemod* m_nfmDemod;
|
||||||
bool m_ctcssOn;
|
|
||||||
bool m_audioMute;
|
|
||||||
bool m_squelchOpen;
|
bool m_squelchOpen;
|
||||||
uint32_t m_tickCount;
|
uint32_t m_tickCount;
|
||||||
MessageQueue m_inputMessageQueue;
|
MessageQueue m_inputMessageQueue;
|
||||||
|
@ -1,13 +1,12 @@
|
|||||||
#include "../../channelrx/demodnfm/nfmplugin.h"
|
|
||||||
|
|
||||||
#include <QtPlugin>
|
#include <QtPlugin>
|
||||||
#include "plugin/pluginapi.h"
|
#include "plugin/pluginapi.h"
|
||||||
|
|
||||||
#include "../../channelrx/demodnfm/nfmdemodgui.h"
|
#include "nfmplugin.h"
|
||||||
|
#include "nfmdemodgui.h"
|
||||||
|
|
||||||
const PluginDescriptor NFMPlugin::m_pluginDescriptor = {
|
const PluginDescriptor NFMPlugin::m_pluginDescriptor = {
|
||||||
QString("NFM Demodulator"),
|
QString("NFM Demodulator"),
|
||||||
QString("3.6.1"),
|
QString("3.7.4"),
|
||||||
QString("(c) Edouard Griffiths, F4EXB"),
|
QString("(c) Edouard Griffiths, F4EXB"),
|
||||||
QString("https://github.com/f4exb/sdrangel"),
|
QString("https://github.com/f4exb/sdrangel"),
|
||||||
true,
|
true,
|
||||||
|
Loading…
Reference in New Issue
Block a user