mirror of
https://github.com/f4exb/sdrangel.git
synced 2024-11-13 20:01:46 -05:00
RTLSDR tranverter mode interim state (1)
This commit is contained in:
parent
25272f21d0
commit
87a60ff220
@ -179,12 +179,15 @@ void RTLSDRGui::updateSampleRateAndFrequency()
|
|||||||
void RTLSDRGui::updateFrequencyLimits()
|
void RTLSDRGui::updateFrequencyLimits()
|
||||||
{
|
{
|
||||||
// values in kHz
|
// values in kHz
|
||||||
qint64 minLimit = (m_settings.m_noModMode ? RTLSDRInput::frequencyLowRangeMin : RTLSDRInput::frequencyHighRangeMin) + m_settings.m_transverterDeltaFrequency/1000;
|
qint64 deltaFrequency = m_settings.m_transverterMode ? m_settings.m_transverterDeltaFrequency/1000 : 0;
|
||||||
qint64 maxLimit = (m_settings.m_noModMode ? RTLSDRInput::frequencyLowRangeMax : RTLSDRInput::frequencyHighRangeMax) + m_settings.m_transverterDeltaFrequency/1000;
|
qint64 minLimit = (m_settings.m_noModMode ? RTLSDRInput::frequencyLowRangeMin : RTLSDRInput::frequencyHighRangeMin) + deltaFrequency;
|
||||||
|
qint64 maxLimit = (m_settings.m_noModMode ? RTLSDRInput::frequencyLowRangeMax : RTLSDRInput::frequencyHighRangeMax) + deltaFrequency;
|
||||||
|
|
||||||
minLimit = minLimit < 0 ? 0 : minLimit > 9999999 ? 9999999 : minLimit;
|
minLimit = minLimit < 0 ? 0 : minLimit > 9999999 ? 9999999 : minLimit;
|
||||||
maxLimit = maxLimit < 0 ? 0 : maxLimit > 9999999 ? 9999999 : maxLimit;
|
maxLimit = maxLimit < 0 ? 0 : maxLimit > 9999999 ? 9999999 : maxLimit;
|
||||||
|
|
||||||
|
qDebug("RTLSDRGui::updateFrequencyLimits: delta: %lld min: %lld max: %lld", deltaFrequency, minLimit, maxLimit);
|
||||||
|
|
||||||
ui->centerFrequency->setValueRange(7, minLimit, maxLimit);
|
ui->centerFrequency->setValueRange(7, minLimit, maxLimit);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -299,10 +302,6 @@ void RTLSDRGui::on_gain_valueChanged(int value)
|
|||||||
sendSettings();
|
sendSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTLSDRGui::on_sampleRate_currentIndexChanged(int index __attribute__((unused)))
|
|
||||||
{
|
|
||||||
}
|
|
||||||
|
|
||||||
void RTLSDRGui::on_startStop_toggled(bool checked)
|
void RTLSDRGui::on_startStop_toggled(bool checked)
|
||||||
{
|
{
|
||||||
if (checked)
|
if (checked)
|
||||||
@ -332,10 +331,11 @@ void RTLSDRGui::on_record_toggled(bool checked)
|
|||||||
m_sampleSource->getInputMessageQueue()->push(message);
|
m_sampleSource->getInputMessageQueue()->push(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
void RTLSDRGui::on_transverter_toggled(bool checked)
|
void RTLSDRGui::on_transverter_clicked()
|
||||||
{
|
{
|
||||||
m_settings.m_transverterMode = checked;
|
m_settings.m_transverterMode = ui->transverter->getDeltaFrequencyAcive();
|
||||||
m_settings.m_transverterDeltaFrequency = checked ? ui->transverter->getDeltaFrequency() : 0;
|
m_settings.m_transverterDeltaFrequency = ui->transverter->getDeltaFrequency();
|
||||||
|
qDebug("RTLSDRGui::on_transverter_clicked: %lld Hz %s", m_settings.m_transverterDeltaFrequency, m_settings.m_transverterMode ? "on" : "off");
|
||||||
updateFrequencyLimits();
|
updateFrequencyLimits();
|
||||||
m_settings.m_centerFrequency = ui->centerFrequency->getValueNew()*1000;
|
m_settings.m_centerFrequency = ui->centerFrequency->getValueNew()*1000;
|
||||||
sendSettings();
|
sendSettings();
|
||||||
|
@ -82,12 +82,11 @@ private slots:
|
|||||||
void on_fcPos_currentIndexChanged(int index);
|
void on_fcPos_currentIndexChanged(int index);
|
||||||
void on_ppm_valueChanged(int value);
|
void on_ppm_valueChanged(int value);
|
||||||
void on_gain_valueChanged(int value);
|
void on_gain_valueChanged(int value);
|
||||||
void on_sampleRate_currentIndexChanged(int index);
|
|
||||||
void on_checkBox_stateChanged(int state);
|
void on_checkBox_stateChanged(int state);
|
||||||
void on_agc_stateChanged(int state);
|
void on_agc_stateChanged(int state);
|
||||||
void on_startStop_toggled(bool checked);
|
void on_startStop_toggled(bool checked);
|
||||||
void on_record_toggled(bool checked);
|
void on_record_toggled(bool checked);
|
||||||
void on_transverter_toggled(bool checked);
|
void on_transverter_clicked();
|
||||||
void updateHardware();
|
void updateHardware();
|
||||||
void updateStatus();
|
void updateStatus();
|
||||||
};
|
};
|
||||||
|
@ -300,12 +300,21 @@
|
|||||||
</item>
|
</item>
|
||||||
<item row="0" column="6">
|
<item row="0" column="6">
|
||||||
<widget class="TransverterButton" name="transverter">
|
<widget class="TransverterButton" name="transverter">
|
||||||
|
<property name="maximumSize">
|
||||||
|
<size>
|
||||||
|
<width>24</width>
|
||||||
|
<height>24</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Transverter frequency translation toggle</string>
|
<string>Transverter frequency translation toggle</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>X</string>
|
<string>X</string>
|
||||||
</property>
|
</property>
|
||||||
|
<property name="checkable">
|
||||||
|
<bool>false</bool>
|
||||||
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
|
@ -22,22 +22,18 @@
|
|||||||
#include "transverterbutton.h"
|
#include "transverterbutton.h"
|
||||||
|
|
||||||
TransverterButton::TransverterButton(QWidget* parent) :
|
TransverterButton::TransverterButton(QWidget* parent) :
|
||||||
ButtonSwitch(parent),
|
QPushButton(parent),
|
||||||
m_deltaFrequency(0)
|
m_deltaFrequency(0),
|
||||||
|
m_deltaFrequencyActive(false)
|
||||||
{
|
{
|
||||||
connect(this, SIGNAL(toggled(bool)), this, SLOT(onToggled(bool)));
|
connect(this, SIGNAL(clicked(bool)), this, SLOT(onClicked(bool)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void TransverterButton::onToggled(bool checked)
|
void TransverterButton::onClicked()
|
||||||
{
|
{
|
||||||
if (checked) {
|
TransverterDialog transverterDialog(m_deltaFrequency, m_deltaFrequencyActive, this);
|
||||||
TransverterDialog transverterDialog(&m_deltaFrequency, this);
|
|
||||||
transverterDialog.exec();
|
transverterDialog.exec();
|
||||||
setToolTip(tr("Transverter frequency translation toggle. Delta frequency %1 MHz").arg(m_deltaFrequency/1000000.0));
|
setToolTip(tr("Transverter frequency translation dialog. Delta frequency %1 MHz %2")
|
||||||
}
|
.arg(m_deltaFrequency/1000000.0)
|
||||||
}
|
.arg(m_deltaFrequencyActive ? "enabled" : "disabled"));
|
||||||
|
|
||||||
void TransverterButton::doToggle(bool checked)
|
|
||||||
{
|
|
||||||
onToggled(checked);
|
|
||||||
}
|
}
|
||||||
|
@ -21,22 +21,24 @@
|
|||||||
#ifndef SDRBASE_GUI_TRANSVERTERBUTTON_H_
|
#ifndef SDRBASE_GUI_TRANSVERTERBUTTON_H_
|
||||||
#define SDRBASE_GUI_TRANSVERTERBUTTON_H_
|
#define SDRBASE_GUI_TRANSVERTERBUTTON_H_
|
||||||
|
|
||||||
#include "buttonswitch.h"
|
#include <QPushButton>
|
||||||
|
|
||||||
class TransverterButton : public ButtonSwitch {
|
class TransverterButton : public QPushButton {
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
TransverterButton(QWidget* parent = 0);
|
TransverterButton(QWidget* parent = 0);
|
||||||
void doToggle(bool checked);
|
|
||||||
qint64 getDeltaFrequency() const { return m_deltaFrequency; }
|
qint64 getDeltaFrequency() const { return m_deltaFrequency; }
|
||||||
void setDeltaFrequency(qint64 deltaFrequency) { m_deltaFrequency = deltaFrequency; }
|
void setDeltaFrequency(qint64 deltaFrequency) { m_deltaFrequency = deltaFrequency; }
|
||||||
|
bool getDeltaFrequencyAcive() const { return m_deltaFrequencyActive; }
|
||||||
|
void setDeltaFrequencyActive(bool active) { m_deltaFrequencyActive = active; }
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void onToggled(bool checked);
|
void onClicked();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
qint64 m_deltaFrequency;
|
qint64 m_deltaFrequency;
|
||||||
|
bool m_deltaFrequencyActive;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -23,16 +23,18 @@
|
|||||||
#include "ui_transverterdialog.h"
|
#include "ui_transverterdialog.h"
|
||||||
|
|
||||||
|
|
||||||
TransverterDialog::TransverterDialog(qint64 *deltaFrequency, QWidget* parent) :
|
TransverterDialog::TransverterDialog(qint64& deltaFrequency, bool& deltaFrequencyActive, QWidget* parent) :
|
||||||
QDialog(parent),
|
QDialog(parent),
|
||||||
ui(new Ui::TransverterDialog),
|
ui(new Ui::TransverterDialog),
|
||||||
m_deltaFrequency(deltaFrequency)
|
m_deltaFrequency(deltaFrequency),
|
||||||
|
m_deltaFrequencyActive(deltaFrequencyActive)
|
||||||
{
|
{
|
||||||
ui->setupUi(this);
|
ui->setupUi(this);
|
||||||
ui->deltaFrequencyLabel->setText(QString("%1f").arg(QChar(0x94, 0x03)));
|
ui->deltaFrequencyLabel->setText(QString("%1f").arg(QChar(0x94, 0x03)));
|
||||||
ui->deltaFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
ui->deltaFrequency->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||||
ui->deltaFrequency->setValueRange(false, 10, -9999999999L, 9999999999L);
|
ui->deltaFrequency->setValueRange(false, 10, -9999999999L, 9999999999L);
|
||||||
ui->deltaFrequency->setValue(*m_deltaFrequency);
|
ui->deltaFrequency->setValue(m_deltaFrequency);
|
||||||
|
ui->deltaFrequencyActive->setChecked(m_deltaFrequencyActive);
|
||||||
}
|
}
|
||||||
|
|
||||||
TransverterDialog::~TransverterDialog()
|
TransverterDialog::~TransverterDialog()
|
||||||
@ -42,6 +44,7 @@ TransverterDialog::~TransverterDialog()
|
|||||||
|
|
||||||
void TransverterDialog::accept()
|
void TransverterDialog::accept()
|
||||||
{
|
{
|
||||||
*m_deltaFrequency = ui->deltaFrequency->getValueNew();
|
m_deltaFrequency = ui->deltaFrequency->getValueNew();
|
||||||
|
m_deltaFrequencyActive = ui->deltaFrequencyActive->isChecked();
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
}
|
}
|
||||||
|
@ -31,12 +31,13 @@ class TransverterDialog : public QDialog {
|
|||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
|
|
||||||
public:
|
public:
|
||||||
explicit TransverterDialog(qint64 *deltaFrequency, QWidget* parent = 0);
|
explicit TransverterDialog(qint64& deltaFrequency, bool& deltaFrequencyActive, QWidget* parent = 0);
|
||||||
~TransverterDialog();
|
~TransverterDialog();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::TransverterDialog* ui;
|
Ui::TransverterDialog* ui;
|
||||||
qint64 *m_deltaFrequency;
|
qint64& m_deltaFrequency;
|
||||||
|
bool& m_deltaFrequencyActive;
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void accept();
|
void accept();
|
||||||
|
@ -60,7 +60,6 @@
|
|||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Transverter delta frequency (Hz)</string>
|
<string>Transverter delta frequency (Hz)</string>
|
||||||
</property>
|
</property>
|
||||||
<zorder>deltaFrequencyUnits</zorder>
|
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item>
|
<item>
|
||||||
@ -83,6 +82,20 @@
|
|||||||
</property>
|
</property>
|
||||||
</spacer>
|
</spacer>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="ButtonSwitch" name="deltaFrequencyActive">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Enable or disable frequency translation</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string/>
|
||||||
|
</property>
|
||||||
|
<property name="icon">
|
||||||
|
<iconset resource="../resources/res.qrc">
|
||||||
|
<normaloff>:/checkmark.png</normaloff>:/checkmark.png</iconset>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</item>
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
@ -106,11 +119,18 @@
|
|||||||
<header>gui/valuedialz.h</header>
|
<header>gui/valuedialz.h</header>
|
||||||
<container>1</container>
|
<container>1</container>
|
||||||
</customwidget>
|
</customwidget>
|
||||||
|
<customwidget>
|
||||||
|
<class>ButtonSwitch</class>
|
||||||
|
<extends>QToolButton</extends>
|
||||||
|
<header>gui/buttonswitch.h</header>
|
||||||
|
</customwidget>
|
||||||
</customwidgets>
|
</customwidgets>
|
||||||
<tabstops>
|
<tabstops>
|
||||||
<tabstop>buttonBox</tabstop>
|
<tabstop>buttonBox</tabstop>
|
||||||
</tabstops>
|
</tabstops>
|
||||||
<resources/>
|
<resources>
|
||||||
|
<include location="../resources/res.qrc"/>
|
||||||
|
</resources>
|
||||||
<connections>
|
<connections>
|
||||||
<connection>
|
<connection>
|
||||||
<sender>buttonBox</sender>
|
<sender>buttonBox</sender>
|
||||||
|
Loading…
Reference in New Issue
Block a user