Fix 32 bit overflow in SCPI commands
This commit is contained in:
parent
8972af3f53
commit
399ef3fd5e
@ -69,8 +69,8 @@ void Generator::updateDevice()
|
||||
void Generator::setupSCPI()
|
||||
{
|
||||
add(new SCPICommand("FREQuency", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
central->setFrequency(newval);
|
||||
@ -92,8 +92,8 @@ void Generator::setupSCPI()
|
||||
return QString::number(central->getDeviceStatus().cdbm_level / 100.0);
|
||||
}));
|
||||
add(new SCPICommand("PORT", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval) || newval > 2) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval) || newval > 2) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
central->setPort(newval);
|
||||
|
@ -758,8 +758,8 @@ void SpectrumAnalyzer::SetupSCPI()
|
||||
auto scpi_freq = new SCPINode("FREQuency");
|
||||
SCPINode::add(scpi_freq);
|
||||
scpi_freq->add(new SCPICommand("SPAN", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetSpan(newval);
|
||||
@ -769,8 +769,8 @@ void SpectrumAnalyzer::SetupSCPI()
|
||||
return QString::number(settings.f_stop - settings.f_start);
|
||||
}));
|
||||
scpi_freq->add(new SCPICommand("START", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetStartFreq(newval);
|
||||
@ -780,8 +780,8 @@ void SpectrumAnalyzer::SetupSCPI()
|
||||
return QString::number(settings.f_start);
|
||||
}));
|
||||
scpi_freq->add(new SCPICommand("CENTer", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetCenterFreq(newval);
|
||||
@ -791,8 +791,8 @@ void SpectrumAnalyzer::SetupSCPI()
|
||||
return QString::number((settings.f_start + settings.f_stop)/2);
|
||||
}));
|
||||
scpi_freq->add(new SCPICommand("STOP", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetStopFreq(newval);
|
||||
@ -809,8 +809,8 @@ void SpectrumAnalyzer::SetupSCPI()
|
||||
auto scpi_acq = new SCPINode("ACQuisition");
|
||||
SCPINode::add(scpi_acq);
|
||||
scpi_acq->add(new SCPICommand("RBW", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetRBW(newval);
|
||||
@ -873,8 +873,8 @@ void SpectrumAnalyzer::SetupSCPI()
|
||||
}
|
||||
}));
|
||||
scpi_acq->add(new SCPICommand("AVG", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetAveraging(newval);
|
||||
|
@ -1142,8 +1142,8 @@ void VNA::SetupSCPI()
|
||||
auto scpi_freq = new SCPINode("FREQuency");
|
||||
SCPINode::add(scpi_freq);
|
||||
scpi_freq->add(new SCPICommand("SPAN", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetSpan(newval);
|
||||
@ -1153,8 +1153,8 @@ void VNA::SetupSCPI()
|
||||
return QString::number(settings.Freq.stop - settings.Freq.start);
|
||||
}));
|
||||
scpi_freq->add(new SCPICommand("START", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetStartFreq(newval);
|
||||
@ -1164,8 +1164,8 @@ void VNA::SetupSCPI()
|
||||
return QString::number(settings.Freq.start);
|
||||
}));
|
||||
scpi_freq->add(new SCPICommand("CENTer", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetCenterFreq(newval);
|
||||
@ -1175,8 +1175,8 @@ void VNA::SetupSCPI()
|
||||
return QString::number((settings.Freq.start + settings.Freq.stop)/2);
|
||||
}));
|
||||
scpi_freq->add(new SCPICommand("STOP", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetStopFreq(newval);
|
||||
@ -1217,8 +1217,8 @@ void VNA::SetupSCPI()
|
||||
auto scpi_acq = new SCPINode("ACQuisition");
|
||||
SCPINode::add(scpi_acq);
|
||||
scpi_acq->add(new SCPICommand("IFBW", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetIFBandwidth(newval);
|
||||
@ -1228,8 +1228,8 @@ void VNA::SetupSCPI()
|
||||
return QString::number(settings.bandwidth);
|
||||
}));
|
||||
scpi_acq->add(new SCPICommand("POINTS", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetPoints(newval);
|
||||
@ -1239,8 +1239,8 @@ void VNA::SetupSCPI()
|
||||
return QString::number(settings.npoints);
|
||||
}));
|
||||
scpi_acq->add(new SCPICommand("AVG", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetAveraging(newval);
|
||||
@ -1269,8 +1269,8 @@ void VNA::SetupSCPI()
|
||||
return QString::number(settings.Freq.excitation_power);
|
||||
}));
|
||||
scpi_stim->add(new SCPICommand("FREQuency", [=](QStringList params) -> QString {
|
||||
unsigned long newval;
|
||||
if(!SCPI::paramToULong(params, 0, newval)) {
|
||||
unsigned long long newval;
|
||||
if(!SCPI::paramToULongLong(params, 0, newval)) {
|
||||
return "ERROR";
|
||||
} else {
|
||||
SetPowerSweepFrequency(newval);
|
||||
|
@ -43,13 +43,13 @@ bool SCPI::paramToDouble(QStringList params, int index, double &dest)
|
||||
return okay;
|
||||
}
|
||||
|
||||
bool SCPI::paramToULong(QStringList params, int index, unsigned long &dest)
|
||||
bool SCPI::paramToULongLong(QStringList params, int index, unsigned long long &dest)
|
||||
{
|
||||
if(index >= params.size()) {
|
||||
return false;
|
||||
}
|
||||
bool okay;
|
||||
dest = params[index].toULong(&okay);
|
||||
dest = params[index].toULongLong(&okay);
|
||||
return okay;
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,7 @@ public:
|
||||
static QString alternateName(QString name);
|
||||
|
||||
static bool paramToDouble(QStringList params, int index, double &dest);
|
||||
static bool paramToULong(QStringList params, int index, unsigned long &dest);
|
||||
static bool paramToULongLong(QStringList params, int index, unsigned long long &dest);
|
||||
static bool paramToLong(QStringList params, int index, long &dest);
|
||||
static bool paramToBool(QStringList params, int index, bool &dest);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user