mirror of
https://github.com/jankae/LibreVNA.git
synced 2026-04-06 15:04:11 +00:00
SCPI commands for modifying traces
This commit is contained in:
parent
e66fc0131a
commit
438b62e06e
11 changed files with 303 additions and 106 deletions
|
|
@ -78,6 +78,7 @@ void Trace::addData(const Trace::Data& d) {
|
|||
*lower = d;
|
||||
}
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
} else {
|
||||
// insert at this position
|
||||
|
|
@ -512,6 +513,94 @@ std::vector<Protocol::Datapoint> Trace::assembleDatapoints(const Trace &S11, con
|
|||
return ret;
|
||||
}
|
||||
|
||||
Trace::LiveParameter Trace::ParameterFromString(QString s)
|
||||
{
|
||||
s = s.toUpper();
|
||||
if(s == "S11") {
|
||||
return LiveParameter::S11;
|
||||
} else if(s == "S12") {
|
||||
return LiveParameter::S12;
|
||||
} else if(s == "S21") {
|
||||
return LiveParameter::S21;
|
||||
} else if(s == "S22") {
|
||||
return LiveParameter::S22;
|
||||
} else if(s == "PORT1") {
|
||||
return LiveParameter::Port1;
|
||||
} else if(s == "PORT2") {
|
||||
return LiveParameter::Port2;
|
||||
} else {
|
||||
return LiveParameter::Invalid;
|
||||
}
|
||||
}
|
||||
|
||||
QString Trace::ParameterToString(LiveParameter p)
|
||||
{
|
||||
switch(p) {
|
||||
case Trace::LiveParameter::S11: return "S11";
|
||||
case Trace::LiveParameter::S12: return "S12";
|
||||
case Trace::LiveParameter::S21: return "S21";
|
||||
case Trace::LiveParameter::S22: return "S22";
|
||||
case Trace::LiveParameter::Port1: return "Port1";
|
||||
case Trace::LiveParameter::Port2: return "Port2";
|
||||
default: return "Invalid";
|
||||
}
|
||||
}
|
||||
|
||||
bool Trace::isVNAParameter(Trace::LiveParameter p)
|
||||
{
|
||||
switch(p) {
|
||||
case Trace::LiveParameter::S11:
|
||||
case Trace::LiveParameter::S12:
|
||||
case Trace::LiveParameter::S21:
|
||||
case Trace::LiveParameter::S22:
|
||||
return true;
|
||||
case Trace::LiveParameter::Port1:
|
||||
case Trace::LiveParameter::Port2:
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
bool Trace::isSAParamater(Trace::LiveParameter p)
|
||||
{
|
||||
switch(p) {
|
||||
case Trace::LiveParameter::S11:
|
||||
case Trace::LiveParameter::S12:
|
||||
case Trace::LiveParameter::S21:
|
||||
case Trace::LiveParameter::S22:
|
||||
return false;
|
||||
case Trace::LiveParameter::Port1:
|
||||
case Trace::LiveParameter::Port2:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
Trace::LivedataType Trace::TypeFromString(QString s)
|
||||
{
|
||||
s = s.toUpper();
|
||||
if(s == "OVERWRITE") {
|
||||
return LivedataType::Overwrite;
|
||||
} else if(s == "MAXHOLD") {
|
||||
return LivedataType::MaxHold;
|
||||
} else if(s == "MINHOLD") {
|
||||
return LivedataType::MinHold;
|
||||
} else {
|
||||
return LivedataType::Invalid;
|
||||
}
|
||||
}
|
||||
|
||||
QString Trace::TypeToString(Trace::LivedataType t)
|
||||
{
|
||||
switch(t) {
|
||||
case Trace::LivedataType::Overwrite: return "Overwrite";
|
||||
case Trace::LivedataType::MaxHold: return "MaxHold";
|
||||
case Trace::LivedataType::MinHold: return "MinHold";
|
||||
default: return "Invalid";
|
||||
}
|
||||
}
|
||||
|
||||
void Trace::updateLastMath(vector<MathInfo>::reverse_iterator start)
|
||||
{
|
||||
TraceMath *newLast = nullptr;
|
||||
|
|
@ -579,12 +668,18 @@ bool Trace::isVisible()
|
|||
|
||||
void Trace::pause()
|
||||
{
|
||||
paused = true;
|
||||
if(!paused) {
|
||||
paused = true;
|
||||
emit pauseChanged();
|
||||
}
|
||||
}
|
||||
|
||||
void Trace::resume()
|
||||
{
|
||||
paused = false;
|
||||
if(paused) {
|
||||
paused = false;
|
||||
emit pauseChanged();
|
||||
}
|
||||
}
|
||||
|
||||
bool Trace::isPaused()
|
||||
|
|
@ -811,6 +906,12 @@ Trace::Data Trace::sample(unsigned int index, SampleType type) const
|
|||
return data;
|
||||
}
|
||||
|
||||
Trace::Data Trace::interpolatedSample(double x)
|
||||
{
|
||||
auto data = lastMath->getInterpolatedSample(x);
|
||||
return data;
|
||||
}
|
||||
|
||||
QString Trace::getFilename() const
|
||||
{
|
||||
return filename;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue