1
0
mirror of https://github.com/f4exb/sdrangel.git synced 2025-05-29 13:32:26 -04:00

use ValueDial for SSB channel shift thus allowing fine tuning

This commit is contained in:
f4exb 2015-05-11 00:45:00 +02:00
parent c92909d78d
commit 92c8aa78f8
3 changed files with 125 additions and 37 deletions

View File

@ -33,6 +33,7 @@ void SSBDemodGUI::resetToDefaults()
{ {
ui->BW->setValue(3); ui->BW->setValue(3);
ui->volume->setValue(4); ui->volume->setValue(4);
ui->deltaFrequency->setValue(0);
applySettings(); applySettings();
} }
@ -88,6 +89,26 @@ void SSBDemodGUI::viewChanged()
applySettings(); applySettings();
} }
void SSBDemodGUI::on_deltaMinus_clicked(bool minus)
{
int deltaFrequency = m_channelMarker->getCenterFrequency();
bool minusDelta = (deltaFrequency < 0);
if (minus ^ minusDelta) // sign change
{
m_channelMarker->setCenterFrequency(-deltaFrequency);
}
}
void SSBDemodGUI::on_deltaFrequency_changed(quint64 value)
{
if (ui->deltaMinus->isChecked()) {
m_channelMarker->setCenterFrequency(-value);
} else {
m_channelMarker->setCenterFrequency(value);
}
}
void SSBDemodGUI::on_BW_valueChanged(int value) void SSBDemodGUI::on_BW_valueChanged(int value)
{ {
ui->BWText->setText(QString("%1 kHz").arg(value)); ui->BWText->setText(QString("%1 kHz").arg(value));
@ -172,6 +193,8 @@ SSBDemodGUI::~SSBDemodGUI()
void SSBDemodGUI::applySettings() void SSBDemodGUI::applySettings()
{ {
setTitleColor(m_channelMarker->getColor()); setTitleColor(m_channelMarker->getColor());
ui->deltaFrequency->setValue(abs(m_channelMarker->getCenterFrequency()));
ui->deltaMinus->setChecked(m_channelMarker->getCenterFrequency() < 0);
m_channelizer->configure(m_threadedSampleSink->getMessageQueue(), m_channelizer->configure(m_threadedSampleSink->getMessageQueue(),
48000, 48000,
m_channelMarker->getCenterFrequency()); m_channelMarker->getCenterFrequency());

View File

@ -34,6 +34,8 @@ public:
private slots: private slots:
void viewChanged(); void viewChanged();
void on_deltaFrequency_changed(quint64 value);
void on_deltaMinus_clicked(bool minus);
void on_BW_valueChanged(int value); void on_BW_valueChanged(int value);
void on_volume_valueChanged(int value); void on_volume_valueChanged(int value);
void onWidgetRolled(QWidget* widget, bool rollDown); void onWidgetRolled(QWidget* widget, bool rollDown);

View File

@ -26,20 +26,51 @@
<string>Settings</string> <string>Settings</string>
</property> </property>
<layout class="QGridLayout" name="gridLayout"> <layout class="QGridLayout" name="gridLayout">
<property name="margin"> <property name="leftMargin">
<number>2</number>
</property>
<property name="topMargin">
<number>2</number>
</property>
<property name="rightMargin">
<number>2</number>
</property>
<property name="bottomMargin">
<number>2</number> <number>2</number>
</property> </property>
<property name="spacing"> <property name="spacing">
<number>3</number> <number>3</number>
</property> </property>
<item row="0" column="0"> <item row="1" column="2">
<widget class="QLabel" name="label"> <widget class="QLabel" name="BWText">
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="text"> <property name="text">
<string>Bandwidth</string> <string>3 kHz</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="1"> <item row="2" column="1">
<widget class="QSlider" name="volume">
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>20</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QSlider" name="BW"> <widget class="QSlider" name="BW">
<property name="minimum"> <property name="minimum">
<number>-8</number> <number>-8</number>
@ -58,43 +89,14 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="0" column="2"> <item row="2" column="0">
<widget class="QLabel" name="BWText">
<property name="minimumSize">
<size>
<width>50</width>
<height>0</height>
</size>
</property>
<property name="text">
<string>3 kHz</string>
</property>
<property name="alignment">
<set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
</property>
</widget>
</item>
<item row="1" column="0">
<widget class="QLabel" name="label_2"> <widget class="QLabel" name="label_2">
<property name="text"> <property name="text">
<string>Volume</string> <string>Volume</string>
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="1"> <item row="2" column="2">
<widget class="QSlider" name="volume">
<property name="maximum">
<number>100</number>
</property>
<property name="value">
<number>20</number>
</property>
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
</widget>
</item>
<item row="1" column="2">
<widget class="QLabel" name="volumeText"> <widget class="QLabel" name="volumeText">
<property name="minimumSize"> <property name="minimumSize">
<size> <size>
@ -110,6 +112,58 @@
</property> </property>
</widget> </widget>
</item> </item>
<item row="1" column="0">
<widget class="QLabel" name="label">
<property name="text">
<string>Bandwidth</string>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QRadioButton" name="deltaMinus">
<property name="layoutDirection">
<enum>Qt::RightToLeft</enum>
</property>
<property name="text">
<string>Minus</string>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="ValueDial" name="deltaFrequency" native="true">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="minimumSize">
<size>
<width>32</width>
<height>16</height>
</size>
</property>
<property name="font">
<font>
<family>Monospace</family>
<pointsize>12</pointsize>
</font>
</property>
<property name="focusPolicy">
<enum>Qt::StrongFocus</enum>
</property>
<property name="toolTip">
<string>Demod shift frequency from center in Hz</string>
</property>
</widget>
</item>
<item row="0" column="2">
<widget class="QLabel" name="deltaUnits">
<property name="text">
<string>Hz</string>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
<widget class="QWidget" name="spectrumContainer" native="true"> <widget class="QWidget" name="spectrumContainer" native="true">
@ -128,7 +182,16 @@
<property name="spacing"> <property name="spacing">
<number>2</number> <number>2</number>
</property> </property>
<property name="margin"> <property name="leftMargin">
<number>3</number>
</property>
<property name="topMargin">
<number>3</number>
</property>
<property name="rightMargin">
<number>3</number>
</property>
<property name="bottomMargin">
<number>3</number> <number>3</number>
</property> </property>
<item> <item>