added missing manual control SCPI commands
This commit is contained in:
parent
42ba64910b
commit
747aa07ab6
@ -739,7 +739,7 @@ void SpectrumAnalyzer::SetupSCPI()
|
|||||||
} else if(params[0] == "FLATTOP") {
|
} else if(params[0] == "FLATTOP") {
|
||||||
SetWindow(Window::FlatTop);
|
SetWindow(Window::FlatTop);
|
||||||
} else {
|
} else {
|
||||||
return "INVALID MDOE";
|
return "INVALID WINDOW";
|
||||||
}
|
}
|
||||||
return "";
|
return "";
|
||||||
}, [=](QStringList) -> QString {
|
}, [=](QStringList) -> QString {
|
||||||
|
@ -647,6 +647,15 @@ void AppWindow::SetupSCPI()
|
|||||||
return QString::number(get_fn());
|
return QString::number(get_fn());
|
||||||
}));
|
}));
|
||||||
};
|
};
|
||||||
|
auto addBooleanManualQuery = [=](QString cmd, bool(ManualControlDialog::*get)(void)) {
|
||||||
|
scpi_manual->add(new SCPICommand(cmd, nullptr, [=](QStringList) -> QString {
|
||||||
|
if(!manual) {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
auto get_fn = std::bind(get, manual);
|
||||||
|
return get_fn() ? "TRUE" : "FALSE";
|
||||||
|
}));
|
||||||
|
};
|
||||||
auto addComplexManualQuery = [=](QString cmd, std::complex<double>(ManualControlDialog::*get)(void)) {
|
auto addComplexManualQuery = [=](QString cmd, std::complex<double>(ManualControlDialog::*get)(void)) {
|
||||||
scpi_manual->add(new SCPICommand(cmd, nullptr, [=](QStringList) -> QString {
|
scpi_manual->add(new SCPICommand(cmd, nullptr, [=](QStringList) -> QString {
|
||||||
if(!manual) {
|
if(!manual) {
|
||||||
@ -660,8 +669,44 @@ void AppWindow::SetupSCPI()
|
|||||||
|
|
||||||
addBooleanManualSetting("HSRC_CE", &ManualControlDialog::setHighSourceChipEnable, &ManualControlDialog::getHighSourceChipEnable);
|
addBooleanManualSetting("HSRC_CE", &ManualControlDialog::setHighSourceChipEnable, &ManualControlDialog::getHighSourceChipEnable);
|
||||||
addBooleanManualSetting("HSRC_RFEN", &ManualControlDialog::setHighSourceRFEnable, &ManualControlDialog::getHighSourceRFEnable);
|
addBooleanManualSetting("HSRC_RFEN", &ManualControlDialog::setHighSourceRFEnable, &ManualControlDialog::getHighSourceRFEnable);
|
||||||
|
addBooleanManualQuery("HSRC_LOCKed", &ManualControlDialog::getHighSourceLocked);
|
||||||
addIntegerManualSettingWithReturnValue("HSRC_PWR", &ManualControlDialog::setHighSourcePower, &ManualControlDialog::getHighSourcePower);
|
addIntegerManualSettingWithReturnValue("HSRC_PWR", &ManualControlDialog::setHighSourcePower, &ManualControlDialog::getHighSourcePower);
|
||||||
addDoubleManualSetting("HSRC_FREQ", &ManualControlDialog::setHighSourceFrequency, &ManualControlDialog::getHighSourceFrequency);
|
addDoubleManualSetting("HSRC_FREQ", &ManualControlDialog::setHighSourceFrequency, &ManualControlDialog::getHighSourceFrequency);
|
||||||
|
scpi_manual->add(new SCPICommand("HSRC_LPF", [=](QStringList params) -> QString {
|
||||||
|
long value;
|
||||||
|
if(!manual || !SCPI::paramToLong(params, 0, value)) {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
switch(value) {
|
||||||
|
case 947:
|
||||||
|
manual->setHighSourceLPF(ManualControlDialog::LPF::M947);
|
||||||
|
break;
|
||||||
|
case 1880:
|
||||||
|
manual->setHighSourceLPF(ManualControlDialog::LPF::M1880);
|
||||||
|
break;
|
||||||
|
case 3500:
|
||||||
|
manual->setHighSourceLPF(ManualControlDialog::LPF::M3500);
|
||||||
|
break;
|
||||||
|
case 0:
|
||||||
|
manual->setHighSourceLPF(ManualControlDialog::LPF::None);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}, [=](QStringList) -> QString {
|
||||||
|
if(!manual) {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
auto lpf = manual->getHighSourceLPF();
|
||||||
|
switch(lpf) {
|
||||||
|
case ManualControlDialog::LPF::M947: return "947";
|
||||||
|
case ManualControlDialog::LPF::M1880: return "1880";
|
||||||
|
case ManualControlDialog::LPF::M3500: return "3500";
|
||||||
|
case ManualControlDialog::LPF::None: return "0";
|
||||||
|
default: return "ERROR";
|
||||||
|
}
|
||||||
|
}));
|
||||||
addBooleanManualSetting("LSRC_EN", &ManualControlDialog::setLowSourceEnable, &ManualControlDialog::getLowSourceEnable);
|
addBooleanManualSetting("LSRC_EN", &ManualControlDialog::setLowSourceEnable, &ManualControlDialog::getLowSourceEnable);
|
||||||
addIntegerManualSettingWithReturnValue("LSRC_PWR", &ManualControlDialog::setLowSourcePower, &ManualControlDialog::getLowSourcePower);
|
addIntegerManualSettingWithReturnValue("LSRC_PWR", &ManualControlDialog::setLowSourcePower, &ManualControlDialog::getLowSourcePower);
|
||||||
addDoubleManualSetting("LSRC_FREQ", &ManualControlDialog::setLowSourceFrequency, &ManualControlDialog::getLowSourceFrequency);
|
addDoubleManualSetting("LSRC_FREQ", &ManualControlDialog::setLowSourceFrequency, &ManualControlDialog::getLowSourceFrequency);
|
||||||
@ -671,6 +716,7 @@ void AppWindow::SetupSCPI()
|
|||||||
addIntegerManualSettingWithReturnValue("PORT_SW", &ManualControlDialog::setPortSwitch, &ManualControlDialog::getPortSwitch);
|
addIntegerManualSettingWithReturnValue("PORT_SW", &ManualControlDialog::setPortSwitch, &ManualControlDialog::getPortSwitch);
|
||||||
addBooleanManualSetting("LO1_CE", &ManualControlDialog::setLO1ChipEnable, &ManualControlDialog::getLO1ChipEnable);
|
addBooleanManualSetting("LO1_CE", &ManualControlDialog::setLO1ChipEnable, &ManualControlDialog::getLO1ChipEnable);
|
||||||
addBooleanManualSetting("LO1_RFEN", &ManualControlDialog::setLO1RFEnable, &ManualControlDialog::getLO1RFEnable);
|
addBooleanManualSetting("LO1_RFEN", &ManualControlDialog::setLO1RFEnable, &ManualControlDialog::getLO1RFEnable);
|
||||||
|
addBooleanManualQuery("LO1_LOCKed", &ManualControlDialog::getLO1Locked);
|
||||||
addDoubleManualSetting("LO1_FREQ", &ManualControlDialog::setLO1Frequency, &ManualControlDialog::getLO1Frequency);
|
addDoubleManualSetting("LO1_FREQ", &ManualControlDialog::setLO1Frequency, &ManualControlDialog::getLO1Frequency);
|
||||||
addDoubleManualSetting("IF1_FREQ", &ManualControlDialog::setIF1Frequency, &ManualControlDialog::getIF1Frequency);
|
addDoubleManualSetting("IF1_FREQ", &ManualControlDialog::setIF1Frequency, &ManualControlDialog::getIF1Frequency);
|
||||||
addBooleanManualSetting("LO2_EN", &ManualControlDialog::setLO2Enable, &ManualControlDialog::getLO2Enable);
|
addBooleanManualSetting("LO2_EN", &ManualControlDialog::setLO2Enable, &ManualControlDialog::getLO2Enable);
|
||||||
@ -679,7 +725,35 @@ void AppWindow::SetupSCPI()
|
|||||||
addBooleanManualSetting("PORT1_EN", &ManualControlDialog::setPort1Enable, &ManualControlDialog::getPort1Enable);
|
addBooleanManualSetting("PORT1_EN", &ManualControlDialog::setPort1Enable, &ManualControlDialog::getPort1Enable);
|
||||||
addBooleanManualSetting("PORT2_EN", &ManualControlDialog::setPort2Enable, &ManualControlDialog::getPort2Enable);
|
addBooleanManualSetting("PORT2_EN", &ManualControlDialog::setPort2Enable, &ManualControlDialog::getPort2Enable);
|
||||||
addBooleanManualSetting("REF_EN", &ManualControlDialog::setRefEnable, &ManualControlDialog::getRefEnable);
|
addBooleanManualSetting("REF_EN", &ManualControlDialog::setRefEnable, &ManualControlDialog::getRefEnable);
|
||||||
addIntegerManualSetting("LSRC_FREQ", &ManualControlDialog::setNumSamples, &ManualControlDialog::getNumSamples);
|
addIntegerManualSetting("SAMPLES", &ManualControlDialog::setNumSamples, &ManualControlDialog::getNumSamples);
|
||||||
|
scpi_manual->add(new SCPICommand("WINdow", [=](QStringList params) -> QString {
|
||||||
|
if(!manual || params.size() < 1) {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
if (params[0] == "NONE") {
|
||||||
|
manual->setWindow(ManualControlDialog::Window::None);
|
||||||
|
} else if(params[0] == "KAISER") {
|
||||||
|
manual->setWindow(ManualControlDialog::Window::Kaiser);
|
||||||
|
} else if(params[0] == "HANN") {
|
||||||
|
manual->setWindow(ManualControlDialog::Window::Hann);
|
||||||
|
} else if(params[0] == "FLATTOP") {
|
||||||
|
manual->setWindow(ManualControlDialog::Window::FlatTop);
|
||||||
|
} else {
|
||||||
|
return "INVALID WINDOW";
|
||||||
|
}
|
||||||
|
return "";
|
||||||
|
}, [=](QStringList) -> QString {
|
||||||
|
if(!manual) {
|
||||||
|
return "ERROR";
|
||||||
|
}
|
||||||
|
switch((ManualControlDialog::Window) manual->getWindow()) {
|
||||||
|
case ManualControlDialog::Window::None: return "NONE";
|
||||||
|
case ManualControlDialog::Window::Kaiser: return "KAISER";
|
||||||
|
case ManualControlDialog::Window::Hann: return "HANN";
|
||||||
|
case ManualControlDialog::Window::FlatTop: return "FLATTOP";
|
||||||
|
default: return "ERROR";
|
||||||
|
}
|
||||||
|
}));
|
||||||
addIntegerManualQuery("PORT1_MIN", &ManualControlDialog::getPort1MinADC);
|
addIntegerManualQuery("PORT1_MIN", &ManualControlDialog::getPort1MinADC);
|
||||||
addIntegerManualQuery("PORT1_MAX", &ManualControlDialog::getPort1MaxADC);
|
addIntegerManualQuery("PORT1_MAX", &ManualControlDialog::getPort1MaxADC);
|
||||||
addDoubleManualQuery("PORT1_MAG", &ManualControlDialog::getPort1Magnitude);
|
addDoubleManualQuery("PORT1_MAG", &ManualControlDialog::getPort1Magnitude);
|
||||||
|
Loading…
Reference in New Issue
Block a user