Add RST command, parse command tree from root for each line

This commit is contained in:
Jan Käberich 2024-04-07 12:54:42 +02:00
parent 124feb5b6b
commit bb66883de2
4 changed files with 33 additions and 20 deletions

View file

@ -143,11 +143,6 @@ AppWindow::AppWindow(QWidget *parent)
central = new QStackedWidget;
setCentralWidget(central);
auto vnaIndex = modeHandler->createMode("Vector Network Analyzer", Mode::Type::VNA);
modeHandler->createMode("Signal Generator", Mode::Type::SG);
modeHandler->createMode("Spectrum Analyzer", Mode::Type::SA);
modeHandler->setCurrentIndex(vnaIndex);
auto setModeStatusbar = [=](const QString &msg) {
lModeInfo.setText(msg);
};
@ -170,10 +165,9 @@ AppWindow::AppWindow(QWidget *parent)
SetupSCPI();
SetInitialState();
auto& pref = Preferences::getInstance();
if(pref.Startup.UseSetupFile) {
LoadSetup(pref.Startup.SetupFile);
}
// List available devices
UpdateDeviceList();
if(pref.Startup.ConnectToFirstDevice && deviceList.size() > 0) {
@ -315,6 +309,21 @@ void AppWindow::closeEvent(QCloseEvent *event)
QMainWindow::closeEvent(event);
}
void AppWindow::SetInitialState()
{
modeHandler->closeModes();
auto& pref = Preferences::getInstance();
if(pref.Startup.UseSetupFile) {
LoadSetup(pref.Startup.SetupFile);
} else {
auto vnaIndex = modeHandler->createMode("Vector Network Analyzer", Mode::Type::VNA);
modeHandler->createMode("Signal Generator", Mode::Type::SG);
modeHandler->createMode("Spectrum Analyzer", Mode::Type::SA);
modeHandler->setCurrentIndex(vnaIndex);
}
}
bool AppWindow::ConnectToDevice(QString serial, DeviceDriver *driver)
{
if(serial.isEmpty()) {
@ -477,6 +486,10 @@ void AppWindow::SetupSCPI()
scpi.add(new SCPICommand("*IDN", nullptr, [=](QStringList){
return "LibreVNA,LibreVNA-GUI,dummy_serial,"+appVersion;
}));
scpi.add(new SCPICommand("*RST", [=](QStringList){
SetInitialState();
return SCPI::getResultName(SCPI::Result::Empty);
}, nullptr));
scpi.add(new SCPICommand("*OPC", nullptr, [=](QStringList){
return "1";
}));