mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-04 14:07:30 +00:00
Remember/set default values for signal generator/spectrum analyzer
This commit is contained in:
parent
5f654f0023
commit
978ac89aa9
15 changed files with 429 additions and 156 deletions
|
|
@ -1,13 +1,35 @@
|
|||
#include "generator.h"
|
||||
#include <QSettings>
|
||||
|
||||
Generator::Generator(AppWindow *window)
|
||||
: Mode(window, "Signal Generator")
|
||||
{
|
||||
central = new SignalgeneratorWidget();
|
||||
|
||||
// set initial values
|
||||
if(pref.Startup.RememberSweepSettings) {
|
||||
QSettings s;
|
||||
central->setFrequency(s.value("GeneratorFrequency", pref.Startup.Generator.frequency).toDouble());
|
||||
central->setLevel(s.value("GeneratorLevel", pref.Startup.Generator.level).toDouble());
|
||||
} else {
|
||||
central->setFrequency(pref.Startup.Generator.frequency);
|
||||
central->setLevel(pref.Startup.Generator.level);
|
||||
}
|
||||
|
||||
finalize(central);
|
||||
connect(central, &SignalgeneratorWidget::SettingsChanged, this, &Generator::updateDevice);
|
||||
}
|
||||
|
||||
void Generator::deactivate()
|
||||
{
|
||||
// store current settings
|
||||
QSettings s;
|
||||
auto settings = central->getDeviceStatus();
|
||||
s.setValue("GeneratorFrequency", static_cast<unsigned long long>(settings.frequency));
|
||||
s.setValue("GeneratorLevel", static_cast<unsigned long long>((double) settings.cdbm_level / 100.0));
|
||||
Mode::deactivate();
|
||||
}
|
||||
|
||||
void Generator::initializeDevice()
|
||||
{
|
||||
updateDevice();
|
||||
|
|
@ -16,7 +38,7 @@ void Generator::initializeDevice()
|
|||
void Generator::updateDevice()
|
||||
{
|
||||
if(!window->getDevice()) {
|
||||
// can't updat if not connected
|
||||
// can't update if not connected
|
||||
return;
|
||||
}
|
||||
// TODO comment in once status is filled with valid values
|
||||
|
|
|
|||
|
|
@ -8,6 +8,7 @@ class Generator : public Mode
|
|||
{
|
||||
public:
|
||||
Generator(AppWindow *window);
|
||||
void deactivate() override;
|
||||
void initializeDevice() override;
|
||||
private slots:
|
||||
void updateDevice();
|
||||
|
|
|
|||
|
|
@ -68,3 +68,8 @@ void SignalgeneratorWidget::setLevel(double level)
|
|||
SettingsChanged();
|
||||
}
|
||||
|
||||
void SignalgeneratorWidget::setFrequency(double frequency)
|
||||
{
|
||||
ui->frequency->setValue(frequency);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -21,8 +21,9 @@ public:
|
|||
signals:
|
||||
void SettingsChanged();
|
||||
|
||||
private slots:
|
||||
public slots:
|
||||
void setLevel(double level);
|
||||
void setFrequency(double frequency);
|
||||
private:
|
||||
Ui::SignalgeneratorWidget *ui;
|
||||
};
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue