Set precision based on trace data domain

This commit is contained in:
Jan Käberich 2022-06-23 00:02:36 +02:00
parent edec4d9ec5
commit 36f826f7a6

View File

@ -209,7 +209,14 @@ void TraceWidget::SetupSCPI()
QString ret;
for(unsigned int i=0;i<t->size();i++) {
auto d = t->sample(i);
ret += "["+QString::number(d.x, 'f', 0)+","+createStringFromData(t, d)+"],";
int precision = 0;
switch(t->outputType()) {
case Trace::DataType::Frequency: precision = 0; break;
case Trace::DataType::Time: precision = 12; break;
case Trace::DataType::Power: precision = 3; break;
case Trace::DataType::TimeZeroSpan: precision = 4; break;
}
ret += "[" + QString::number(d.x, 'f', precision) + ","+createStringFromData(t, d)+"],";
}
ret.chop(1);
return ret;
@ -349,8 +356,7 @@ void TraceWidget::SetupSCPI()
}, nullptr));
add(new SCPICommand("RESUME", [=](QStringList params) -> QString {
auto t = findTrace(params);
if(!t) {
return "ERROR";
if(!t) { return "ERROR";
}
t->resume();
return "";