mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-09-10 02:37:47 -04:00
Fix loading settings. Add remove inactive button. Restart scan when sample rate changes.
This commit is contained in:
parent
f8f9d270df
commit
d2526cdc5b
@ -225,7 +225,13 @@ bool FreqScanner::handleMessage(const Message& cmd)
|
|||||||
else if (DSPSignalNotification::match(cmd))
|
else if (DSPSignalNotification::match(cmd))
|
||||||
{
|
{
|
||||||
DSPSignalNotification& notif = (DSPSignalNotification&) cmd;
|
DSPSignalNotification& notif = (DSPSignalNotification&) cmd;
|
||||||
m_basebandSampleRate = notif.getSampleRate();
|
int newSampleRate = notif.getSampleRate();
|
||||||
|
if ((newSampleRate != m_basebandSampleRate) && (m_state != IDLE))
|
||||||
|
{
|
||||||
|
// Restart scan if sample rate changes
|
||||||
|
startScan();
|
||||||
|
}
|
||||||
|
m_basebandSampleRate = newSampleRate;
|
||||||
m_centerFrequency = notif.getCenterFrequency();
|
m_centerFrequency = notif.getCenterFrequency();
|
||||||
qDebug() << "FreqScanner::handleMessage: DSPSignalNotification";
|
qDebug() << "FreqScanner::handleMessage: DSPSignalNotification";
|
||||||
// Forward to the sink
|
// Forward to the sink
|
||||||
@ -645,7 +651,7 @@ void FreqScanner::applySettings(const FreqScannerSettings& settings, const QStri
|
|||||||
{
|
{
|
||||||
// Restart scan if any settings change
|
// Restart scan if any settings change
|
||||||
if (m_state != IDLE) {
|
if (m_state != IDLE) {
|
||||||
m_state = START_SCAN;
|
startScan();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -29,11 +29,9 @@ FreqScannerAddRangeDialog::FreqScannerAddRangeDialog(int step, QWidget* parent)
|
|||||||
ui->stop->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
ui->stop->setColorMapper(ColorMapper(ColorMapper::GrayGold));
|
||||||
ui->stop->setValueRange(false, 11, 0, 99999999999);
|
ui->stop->setValueRange(false, 11, 0, 99999999999);
|
||||||
|
|
||||||
// Airband frequency range
|
on_preset_currentTextChanged("Airband");
|
||||||
ui->start->setValue(118000000);
|
|
||||||
ui->stop->setValue(137000000);
|
|
||||||
|
|
||||||
ui->step->setCurrentText(QString::number(step));
|
//ui->step->setCurrentText(QString::number(step));
|
||||||
}
|
}
|
||||||
|
|
||||||
FreqScannerAddRangeDialog::~FreqScannerAddRangeDialog()
|
FreqScannerAddRangeDialog::~FreqScannerAddRangeDialog()
|
||||||
@ -43,8 +41,84 @@ FreqScannerAddRangeDialog::~FreqScannerAddRangeDialog()
|
|||||||
|
|
||||||
void FreqScannerAddRangeDialog::accept()
|
void FreqScannerAddRangeDialog::accept()
|
||||||
{
|
{
|
||||||
m_start = ui->start->getValue();
|
if (ui->preset->currentText() == "Digital Selective Calling")
|
||||||
m_stop = ui->stop->getValue();
|
{
|
||||||
m_step = ui->step->currentText().toInt();
|
// From ITU M.541
|
||||||
|
static const QList<qint64> dscFreqs = {
|
||||||
|
2177000, 2189500,
|
||||||
|
4208000, 4208500, 4209000,
|
||||||
|
6312500, 6313000,
|
||||||
|
8415000, 8415500, 8416000,
|
||||||
|
12577500, 12578000, 12578500,
|
||||||
|
16805000, 16805500, 16806000, 18898500, 18899000, 18899500,
|
||||||
|
22374500, 22375000, 22375500,
|
||||||
|
25208500, 25209000, 25209500
|
||||||
|
};
|
||||||
|
m_frequencies.append(dscFreqs);
|
||||||
|
}
|
||||||
|
else if (ui->preset->currentText() == "DAB")
|
||||||
|
{
|
||||||
|
static const QList<qint64> dabFreqs = {
|
||||||
|
174928000, 176640000, 178352000, 180064000,
|
||||||
|
181936000, 183648000, 185360000, 187072000,
|
||||||
|
188928000, 190640000, 192352000, 194064000,
|
||||||
|
195936000, 197648000, 199360000, 201072000,
|
||||||
|
202928000, 204640000, 206352000, 208064000,
|
||||||
|
209936000, 211648000, 213360000, 215072000,
|
||||||
|
216928000, 218640000, 220352000, 222064000,
|
||||||
|
223936000, 225648000, 227360000, 229072000,
|
||||||
|
230784000, 232496000, 234208000, 235776000,
|
||||||
|
237448000, 239200000
|
||||||
|
};
|
||||||
|
m_frequencies.append(dabFreqs);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
qint64 start = ui->start->getValue();
|
||||||
|
qint64 stop = ui->stop->getValue();
|
||||||
|
int step = ui->step->currentText().toInt();
|
||||||
|
|
||||||
|
if ((start <= stop) && (step > 0))
|
||||||
|
{
|
||||||
|
for (qint64 f = start; f <= stop; f += step) {
|
||||||
|
m_frequencies.append(f);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
QDialog::accept();
|
QDialog::accept();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FreqScannerAddRangeDialog::on_preset_currentTextChanged(const QString& text)
|
||||||
|
{
|
||||||
|
bool enableManAdjust = true;
|
||||||
|
if (text == "Airband")
|
||||||
|
{
|
||||||
|
ui->start->setValue(118000000);
|
||||||
|
ui->stop->setValue(137000000);
|
||||||
|
ui->step->setCurrentText("25000");
|
||||||
|
}
|
||||||
|
else if (text == "Broadcast FM")
|
||||||
|
{
|
||||||
|
ui->start->setValue(87500000);
|
||||||
|
ui->stop->setValue(108000000);
|
||||||
|
ui->step->setCurrentText("100000");
|
||||||
|
}
|
||||||
|
else if (text == "DAB")
|
||||||
|
{
|
||||||
|
enableManAdjust = false;
|
||||||
|
}
|
||||||
|
else if (text == "Marine")
|
||||||
|
{
|
||||||
|
ui->start->setValue(156000000);
|
||||||
|
ui->stop->setValue(162150000);
|
||||||
|
ui->step->setCurrentText("25000");
|
||||||
|
}
|
||||||
|
else if (text == "Digital Selective Calling")
|
||||||
|
{
|
||||||
|
enableManAdjust = false;
|
||||||
|
}
|
||||||
|
ui->start->setEnabled(enableManAdjust);
|
||||||
|
ui->stop->setEnabled(enableManAdjust);
|
||||||
|
ui->step->setEnabled(enableManAdjust);
|
||||||
|
}
|
||||||
|
@ -30,12 +30,11 @@ public:
|
|||||||
explicit FreqScannerAddRangeDialog(int step, QWidget* parent = nullptr);
|
explicit FreqScannerAddRangeDialog(int step, QWidget* parent = nullptr);
|
||||||
~FreqScannerAddRangeDialog();
|
~FreqScannerAddRangeDialog();
|
||||||
|
|
||||||
qint64 m_start;
|
QList<qint64> m_frequencies;
|
||||||
qint64 m_stop;
|
|
||||||
int m_step;
|
|
||||||
|
|
||||||
private slots:
|
private slots:
|
||||||
void accept();
|
void accept();
|
||||||
|
void on_preset_currentTextChanged(const QString& text);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
Ui::FreqScannerAddRangeDialog *ui;
|
Ui::FreqScannerAddRangeDialog *ui;
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>385</width>
|
<width>385</width>
|
||||||
<height>162</height>
|
<height>190</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<property name="font">
|
<property name="font">
|
||||||
@ -31,82 +31,21 @@
|
|||||||
<string>Add Frequency Range</string>
|
<string>Add Frequency Range</string>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QGridLayout" name="gridLayout">
|
<layout class="QGridLayout" name="gridLayout">
|
||||||
<item row="2" column="1">
|
<item row="4" column="0">
|
||||||
<widget class="ValueDialZ" name="stop" native="true">
|
<widget class="QLabel" name="stepLabel">
|
||||||
<property name="sizePolicy">
|
|
||||||
<sizepolicy hsizetype="Expanding" 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>Liberation Mono</family>
|
|
||||||
<pointsize>12</pointsize>
|
|
||||||
</font>
|
|
||||||
</property>
|
|
||||||
<property name="cursor">
|
|
||||||
<cursorShape>PointingHandCursor</cursorShape>
|
|
||||||
</property>
|
|
||||||
<property name="focusPolicy">
|
|
||||||
<enum>Qt::StrongFocus</enum>
|
|
||||||
</property>
|
|
||||||
<property name="toolTip">
|
|
||||||
<string>Stop frequency in Hertz</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="0">
|
|
||||||
<widget class="QLabel" name="stopLabel">
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Stop Frequency</string>
|
<string>Step</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="0">
|
<item row="1" column="2">
|
||||||
<widget class="QLabel" name="startLabel">
|
<widget class="QLabel" name="startUnits">
|
||||||
<property name="minimumSize">
|
|
||||||
<size>
|
|
||||||
<width>90</width>
|
|
||||||
<height>0</height>
|
|
||||||
</size>
|
|
||||||
</property>
|
|
||||||
<property name="text">
|
|
||||||
<string>Start Frequency</string>
|
|
||||||
</property>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="2" column="2">
|
|
||||||
<widget class="QLabel" name="stopUnits">
|
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hz</string>
|
<string>Hz</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="1">
|
<item row="1" column="1">
|
||||||
<widget class="QComboBox" name="step">
|
|
||||||
<property name="editable">
|
|
||||||
<bool>true</bool>
|
|
||||||
</property>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>25000</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
<item>
|
|
||||||
<property name="text">
|
|
||||||
<string>8333.3</string>
|
|
||||||
</property>
|
|
||||||
</item>
|
|
||||||
</widget>
|
|
||||||
</item>
|
|
||||||
<item row="0" column="1">
|
|
||||||
<widget class="ValueDialZ" name="start" native="true">
|
<widget class="ValueDialZ" name="start" native="true">
|
||||||
<property name="sizePolicy">
|
<property name="sizePolicy">
|
||||||
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
|
<sizepolicy hsizetype="Expanding" vsizetype="Maximum">
|
||||||
@ -137,24 +76,129 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="2">
|
<item row="4" column="2">
|
||||||
<widget class="QLabel" name="stepUnits">
|
<widget class="QLabel" name="stepUnits">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hz</string>
|
<string>Hz</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="0" column="2">
|
<item row="3" column="2">
|
||||||
<widget class="QLabel" name="startUnits">
|
<widget class="QLabel" name="stopUnits">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Hz</string>
|
<string>Hz</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
<item row="3" column="0">
|
<item row="3" column="0">
|
||||||
<widget class="QLabel" name="stepLabel">
|
<widget class="QLabel" name="stopLabel">
|
||||||
<property name="text">
|
<property name="text">
|
||||||
<string>Step</string>
|
<string>Stop Frequency</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="startLabel">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>90</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Start Frequency</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="4" column="1">
|
||||||
|
<widget class="QComboBox" name="step">
|
||||||
|
<property name="editable">
|
||||||
|
<bool>true</bool>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>25000</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>8333.3</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>100000</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="3" column="1">
|
||||||
|
<widget class="ValueDialZ" name="stop" native="true">
|
||||||
|
<property name="sizePolicy">
|
||||||
|
<sizepolicy hsizetype="Expanding" 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>Liberation Mono</family>
|
||||||
|
<pointsize>12</pointsize>
|
||||||
|
</font>
|
||||||
|
</property>
|
||||||
|
<property name="cursor">
|
||||||
|
<cursorShape>PointingHandCursor</cursorShape>
|
||||||
|
</property>
|
||||||
|
<property name="focusPolicy">
|
||||||
|
<enum>Qt::StrongFocus</enum>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Stop frequency in Hertz</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="1">
|
||||||
|
<widget class="QComboBox" name="preset">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Select a preset range of frequencies</string>
|
||||||
|
</property>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Airband</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Broadcast FM</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>DAB</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Digital Selective Calling</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
<item>
|
||||||
|
<property name="text">
|
||||||
|
<string>Marine</string>
|
||||||
|
</property>
|
||||||
|
</item>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
<item row="0" column="0">
|
||||||
|
<widget class="QLabel" name="presetLabel">
|
||||||
|
<property name="text">
|
||||||
|
<string>Preset</string>
|
||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
@ -504,7 +504,6 @@ void FreqScannerGUI::displaySettings()
|
|||||||
setTitle(m_channelMarker.getTitle());
|
setTitle(m_channelMarker.getTitle());
|
||||||
|
|
||||||
blockApplySettings(true);
|
blockApplySettings(true);
|
||||||
|
|
||||||
int channelIndex = ui->channels->findText(m_settings.m_channel);
|
int channelIndex = ui->channels->findText(m_settings.m_channel);
|
||||||
if (channelIndex >= 0) {
|
if (channelIndex >= 0) {
|
||||||
ui->channels->setCurrentIndex(channelIndex);
|
ui->channels->setCurrentIndex(channelIndex);
|
||||||
@ -524,6 +523,7 @@ void FreqScannerGUI::displaySettings()
|
|||||||
ui->mode->setCurrentIndex((int)m_settings.m_mode);
|
ui->mode->setCurrentIndex((int)m_settings.m_mode);
|
||||||
|
|
||||||
ui->table->blockSignals(true);
|
ui->table->blockSignals(true);
|
||||||
|
ui->table->setRowCount(0);
|
||||||
for (int i = 0; i < m_settings.m_frequencies.size(); i++)
|
for (int i = 0; i < m_settings.m_frequencies.size(); i++)
|
||||||
{
|
{
|
||||||
addRow(m_settings.m_frequencies[i], m_settings.m_enabled[i], m_settings.m_notes[i]);
|
addRow(m_settings.m_frequencies[i], m_settings.m_enabled[i], m_settings.m_notes[i]);
|
||||||
@ -618,16 +618,9 @@ void FreqScannerGUI::on_addRange_clicked()
|
|||||||
new DialogPositioner(&dialog, false);
|
new DialogPositioner(&dialog, false);
|
||||||
if (dialog.exec())
|
if (dialog.exec())
|
||||||
{
|
{
|
||||||
qint64 start = dialog.m_start;
|
|
||||||
qint64 stop = dialog.m_stop;
|
|
||||||
int step = dialog.m_step;
|
|
||||||
|
|
||||||
blockApplySettings(true);
|
blockApplySettings(true);
|
||||||
if ((start <= stop) && (step > 0))
|
for (const auto f : dialog.m_frequencies) {
|
||||||
{
|
addRow(f, true);
|
||||||
for (qint64 f = start; f <= stop; f += step) {
|
|
||||||
addRow(f, true);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
blockApplySettings(false);
|
blockApplySettings(false);
|
||||||
QList<QString> settingsKeys({
|
QList<QString> settingsKeys({
|
||||||
@ -659,6 +652,27 @@ void FreqScannerGUI::on_remove_clicked()
|
|||||||
applySettings(settingsKeys);
|
applySettings(settingsKeys);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FreqScannerGUI::on_removeInactive_clicked()
|
||||||
|
{
|
||||||
|
for (int i = ui->table->rowCount() - 1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
if (ui->table->item(i, COL_ACTIVE_COUNT)->data(Qt::DisplayRole).toInt() == 0)
|
||||||
|
{
|
||||||
|
ui->table->removeRow(i);
|
||||||
|
m_settings.m_frequencies.removeAt(i); // table_cellChanged isn't called for removeRow
|
||||||
|
m_settings.m_enabled.removeAt(i);
|
||||||
|
m_settings.m_notes.removeAt(i);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
QList<QString> settingsKeys({
|
||||||
|
"frequencies",
|
||||||
|
"enabled",
|
||||||
|
"notes"
|
||||||
|
});
|
||||||
|
applySettings(settingsKeys);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static QList<QTableWidgetItem*> takeRow(QTableWidget* table, int row)
|
static QList<QTableWidgetItem*> takeRow(QTableWidget* table, int row)
|
||||||
{
|
{
|
||||||
QList<QTableWidgetItem*> rowItems;
|
QList<QTableWidgetItem*> rowItems;
|
||||||
@ -805,6 +819,14 @@ void FreqScannerGUI::table_customContextMenuRequested(QPoint pos)
|
|||||||
});
|
});
|
||||||
tableContextMenu->addAction(copyAction);
|
tableContextMenu->addAction(copyAction);
|
||||||
|
|
||||||
|
// Remove selected rows
|
||||||
|
|
||||||
|
QAction* removeAction = new QAction("Remove", tableContextMenu);
|
||||||
|
connect(removeAction, &QAction::triggered, this, [this]()->void {
|
||||||
|
on_remove_clicked();
|
||||||
|
});
|
||||||
|
tableContextMenu->addAction(removeAction);
|
||||||
|
|
||||||
tableContextMenu->addSeparator();
|
tableContextMenu->addSeparator();
|
||||||
|
|
||||||
// Tune to frequency
|
// Tune to frequency
|
||||||
@ -904,7 +926,7 @@ void FreqScannerGUI::resizeTable()
|
|||||||
// Fill table with a row of dummy data that will size the columns nicely
|
// Fill table with a row of dummy data that will size the columns nicely
|
||||||
int row = ui->table->rowCount();
|
int row = ui->table->rowCount();
|
||||||
ui->table->setRowCount(row + 1);
|
ui->table->setRowCount(row + 1);
|
||||||
ui->table->setItem(row, COL_FREQUENCY, new QTableWidgetItem("999.000 MHz"));
|
ui->table->setItem(row, COL_FREQUENCY, new QTableWidgetItem("800,000.5 MHz"));
|
||||||
ui->table->setItem(row, COL_ANNOTATION, new QTableWidgetItem("An annotation"));
|
ui->table->setItem(row, COL_ANNOTATION, new QTableWidgetItem("An annotation"));
|
||||||
ui->table->setItem(row, COL_ENABLE, new QTableWidgetItem("Enable"));
|
ui->table->setItem(row, COL_ENABLE, new QTableWidgetItem("Enable"));
|
||||||
ui->table->setItem(row, COL_POWER, new QTableWidgetItem("-100.0"));
|
ui->table->setItem(row, COL_POWER, new QTableWidgetItem("-100.0"));
|
||||||
@ -931,6 +953,7 @@ void FreqScannerGUI::makeUIConnections()
|
|||||||
QObject::connect(ui->addSingle, &QToolButton::clicked, this, &FreqScannerGUI::on_addSingle_clicked);
|
QObject::connect(ui->addSingle, &QToolButton::clicked, this, &FreqScannerGUI::on_addSingle_clicked);
|
||||||
QObject::connect(ui->addRange, &QToolButton::clicked, this, &FreqScannerGUI::on_addRange_clicked);
|
QObject::connect(ui->addRange, &QToolButton::clicked, this, &FreqScannerGUI::on_addRange_clicked);
|
||||||
QObject::connect(ui->remove, &QToolButton::clicked, this, &FreqScannerGUI::on_remove_clicked);
|
QObject::connect(ui->remove, &QToolButton::clicked, this, &FreqScannerGUI::on_remove_clicked);
|
||||||
|
QObject::connect(ui->removeInactive, &QToolButton::clicked, this, &FreqScannerGUI::on_removeInactive_clicked);
|
||||||
QObject::connect(ui->up, &QToolButton::clicked, this, &FreqScannerGUI::on_up_clicked);
|
QObject::connect(ui->up, &QToolButton::clicked, this, &FreqScannerGUI::on_up_clicked);
|
||||||
QObject::connect(ui->down, &QToolButton::clicked, this, &FreqScannerGUI::on_down_clicked);
|
QObject::connect(ui->down, &QToolButton::clicked, this, &FreqScannerGUI::on_down_clicked);
|
||||||
QObject::connect(ui->clearActiveCount, &QToolButton::clicked, this, &FreqScannerGUI::on_clearActiveCount_clicked);
|
QObject::connect(ui->clearActiveCount, &QToolButton::clicked, this, &FreqScannerGUI::on_clearActiveCount_clicked);
|
||||||
|
@ -132,6 +132,7 @@ private slots:
|
|||||||
void on_addSingle_clicked();
|
void on_addSingle_clicked();
|
||||||
void on_addRange_clicked();
|
void on_addRange_clicked();
|
||||||
void on_remove_clicked();
|
void on_remove_clicked();
|
||||||
|
void on_removeInactive_clicked();
|
||||||
void on_up_clicked();
|
void on_up_clicked();
|
||||||
void on_down_clicked();
|
void on_down_clicked();
|
||||||
void on_clearActiveCount_clicked();
|
void on_clearActiveCount_clicked();
|
||||||
|
@ -181,6 +181,12 @@
|
|||||||
<layout class="QHBoxLayout" name="channelPowerLayout">
|
<layout class="QHBoxLayout" name="channelPowerLayout">
|
||||||
<item>
|
<item>
|
||||||
<widget class="QLabel" name="channelPower">
|
<widget class="QLabel" name="channelPower">
|
||||||
|
<property name="minimumSize">
|
||||||
|
<size>
|
||||||
|
<width>30</width>
|
||||||
|
<height>0</height>
|
||||||
|
</size>
|
||||||
|
</property>
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
<string>Active frequency power </string>
|
<string>Active frequency power </string>
|
||||||
</property>
|
</property>
|
||||||
@ -231,10 +237,10 @@
|
|||||||
<string>Power threshold in dB</string>
|
<string>Power threshold in dB</string>
|
||||||
</property>
|
</property>
|
||||||
<property name="minimum">
|
<property name="minimum">
|
||||||
<number>-1400</number>
|
<number>-1000</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="maximum">
|
<property name="maximum">
|
||||||
<number>100</number>
|
<number>0</number>
|
||||||
</property>
|
</property>
|
||||||
<property name="pageStep">
|
<property name="pageStep">
|
||||||
<number>1</number>
|
<number>1</number>
|
||||||
@ -699,6 +705,16 @@
|
|||||||
</property>
|
</property>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QToolButton" name="removeInactive">
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Remove rows with Active Count of 0</string>
|
||||||
|
</property>
|
||||||
|
<property name="text">
|
||||||
|
<string>Remove Inactive</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<widget class="QToolButton" name="up">
|
<widget class="QToolButton" name="up">
|
||||||
<property name="toolTip">
|
<property name="toolTip">
|
||||||
|
@ -87,7 +87,7 @@ Displays the current status of the Frequency Scanner.
|
|||||||
|
|
||||||
The frequency table contains the list of frequencies to be scanned, along with results of a scan. The columns are:
|
The frequency table contains the list of frequencies to be scanned, along with results of a scan. The columns are:
|
||||||
|
|
||||||
- Freq (Hz): Specifies the channel center frequencies to be scanned. These should be spaced by integer multiples of the channel bandwidth (8). Values should be entered in Hertz.
|
- Freq (Hz): Specifies the channel center frequencies to be scanned. Values should be entered in Hertz.
|
||||||
- Annotation: An annotation (description) for the frequency, that is obtained from the closest matching [annotation marker](../../../sdrgui/gui/spectrummarkers.md) in the Main Spectrum.
|
- Annotation: An annotation (description) for the frequency, that is obtained from the closest matching [annotation marker](../../../sdrgui/gui/spectrummarkers.md) in the Main Spectrum.
|
||||||
- Enable: Determines whether the frequency will be scanned. This can be used to temporaily disable frequencies you aren't interested in.
|
- Enable: Determines whether the frequency will be scanned. This can be used to temporaily disable frequencies you aren't interested in.
|
||||||
- Power (dB): Displays the measured power in decibels from the last scan. The cell will have a green background if the power was above the threshold (4).
|
- Power (dB): Displays the measured power in decibels from the last scan. The cell will have a green background if the power was above the threshold (4).
|
||||||
@ -99,6 +99,7 @@ When an active frequency is found after a scan, the corresponding row in the tab
|
|||||||
Right clicking on a cell will display a popup menu:
|
Right clicking on a cell will display a popup menu:
|
||||||
|
|
||||||
- Copy contents of cell to clipboard.
|
- Copy contents of cell to clipboard.
|
||||||
|
- Remove selected rows.
|
||||||
- Tune selected channel (1) to the frequency in the row clicked on.
|
- Tune selected channel (1) to the frequency in the row clicked on.
|
||||||
|
|
||||||
<h3>15: Add</h3>
|
<h3>15: Add</h3>
|
||||||
@ -112,16 +113,20 @@ The step value should typically be an integer multiple of the channel bandwidth
|
|||||||
|
|
||||||
<h3>17: Remove</h3>
|
<h3>17: Remove</h3>
|
||||||
|
|
||||||
Removes the selected rows from the frequency table (14).
|
Removes the selected rows from the frequency table (14). Press Ctrl-A to select all rows.
|
||||||
|
|
||||||
<h3>18: Up</h3>
|
<h3>18: Remove Inactive</h3>
|
||||||
|
|
||||||
|
Removes all rows with Active Count of 0.
|
||||||
|
|
||||||
|
<h3>19: Up</h3>
|
||||||
|
|
||||||
Moves the selected rows up the frequency table (14).
|
Moves the selected rows up the frequency table (14).
|
||||||
|
|
||||||
<h3>19: Down</h3>
|
<h3>20: Down</h3>
|
||||||
|
|
||||||
Moves the selected rows the the frequency table (14).
|
Moves the selected rows the the frequency table (14).
|
||||||
|
|
||||||
<h3>20: Clear Active Count</h3>
|
<h3>21: Clear Active Count</h3>
|
||||||
|
|
||||||
Press to reset the value in the Active Count column to 0 for all rows.
|
Press to reset the value in the Active Count column to 0 for all rows.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user