mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-06 06:53:37 +00:00
Include mode/sweep/acquisition settings in setup files
This commit is contained in:
parent
cf22f40630
commit
68dc9842e9
13 changed files with 316 additions and 19 deletions
|
|
@ -157,6 +157,44 @@ Protocol::GeneratorSettings SignalgeneratorWidget::getDeviceStatus()
|
|||
return s;
|
||||
}
|
||||
|
||||
nlohmann::json SignalgeneratorWidget::toJSON()
|
||||
{
|
||||
nlohmann::json j;
|
||||
j["frequency"] = ui->frequency->value();
|
||||
j["power"] = ui->levelSpin->value();
|
||||
if(ui->EnablePort1->isChecked()) {
|
||||
j["port"] = 1;
|
||||
} else if(ui->EnablePort2->isChecked()) {
|
||||
j["port"] = 2;
|
||||
} else {
|
||||
j["port"] = 0;
|
||||
}
|
||||
nlohmann::json sweep;
|
||||
sweep["span"] = ui->span->value();
|
||||
sweep["steps"] = ui->steps->value();
|
||||
sweep["dwell"] = ui->dwell->value();
|
||||
sweep["enabled"] = ui->EnabledSweep->isChecked();
|
||||
j["sweep"] = sweep;
|
||||
return j;
|
||||
}
|
||||
|
||||
void SignalgeneratorWidget::fromJSON(nlohmann::json j)
|
||||
{
|
||||
setFrequency(j.value("frequency", ui->frequency->value()));
|
||||
setLevel(j.value("power", ui->levelSpin->value()));
|
||||
setPort(j.value("port", 0));
|
||||
if(j.contains("sweep")) {
|
||||
auto sweep = j["sweep"];
|
||||
// extract sweep settings, keeping current values as default
|
||||
ui->span->setValue(sweep.value("span", ui->span->value()));
|
||||
ui->steps->setValue(sweep.value("steps", ui->steps->value()));
|
||||
ui->dwell->setValue(sweep.value("dwell", ui->dwell->value()));
|
||||
ui->EnabledSweep->setChecked(sweep.value("enabled", false));
|
||||
} else {
|
||||
ui->EnabledSweep->setChecked(false);
|
||||
}
|
||||
}
|
||||
|
||||
void SignalgeneratorWidget::setLevel(double level)
|
||||
{
|
||||
// TODO constrain to frequency dependent levels
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue