Add option to capture raw receiver values
This commit is contained in:
parent
a29c323556
commit
aeaf9340d3
@ -246,6 +246,15 @@ QStringList VirtualDevice::availableVNAMeasurements()
|
|||||||
ret.push_back("S"+QString::number(i)+QString::number(j));
|
ret.push_back("S"+QString::number(i)+QString::number(j));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
auto &pref = Preferences::getInstance();
|
||||||
|
if(pref.Debug.makeRawReceiverValuesAvailable) {
|
||||||
|
for(unsigned int i=1;i<=info.ports;i++) {
|
||||||
|
for(unsigned int j=0;j<info.ports;j++) {
|
||||||
|
ret.push_back("RawPort"+QString::number(i)+"Stage"+QString::number(j));
|
||||||
|
ret.push_back("RawPort"+QString::number(i)+"Stage"+QString::number(j)+"Ref");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -554,6 +563,7 @@ VirtualDevice *VirtualDevice::getConnected()
|
|||||||
void VirtualDevice::singleDatapointReceived(Device *dev, Protocol::VNADatapoint<32> *res)
|
void VirtualDevice::singleDatapointReceived(Device *dev, Protocol::VNADatapoint<32> *res)
|
||||||
{
|
{
|
||||||
Q_UNUSED(dev)
|
Q_UNUSED(dev)
|
||||||
|
auto &pref = Preferences::getInstance();
|
||||||
VNAMeasurement m;
|
VNAMeasurement m;
|
||||||
m.pointNum = res->pointNum;
|
m.pointNum = res->pointNum;
|
||||||
m.Z0 = 50.0;
|
m.Z0 = 50.0;
|
||||||
@ -567,13 +577,19 @@ void VirtualDevice::singleDatapointReceived(Device *dev, Protocol::VNADatapoint<
|
|||||||
// map.first is the port (starts at zero)
|
// map.first is the port (starts at zero)
|
||||||
// map.second is the stage at which this port had the stimulus (starts at zero)
|
// map.second is the stage at which this port had the stimulus (starts at zero)
|
||||||
complex<double> ref = res->getValue(map.second, map.first, true);
|
complex<double> ref = res->getValue(map.second, map.first, true);
|
||||||
for(int i=0;i<2;i++) {
|
for(int i=0;i<info.ports;i++) {
|
||||||
complex<double> input = res->getValue(map.second, i, false);
|
complex<double> input = res->getValue(map.second, i, false);
|
||||||
if(!std::isnan(ref.real()) && !std::isnan(input.real())) {
|
if(!std::isnan(ref.real()) && !std::isnan(input.real())) {
|
||||||
// got both required measurements
|
// got both required measurements
|
||||||
QString name = "S"+QString::number(i+1)+QString::number(map.first+1);
|
QString name = "S"+QString::number(i+1)+QString::number(map.first+1);
|
||||||
m.measurements[name] = input / ref;
|
m.measurements[name] = input / ref;
|
||||||
}
|
}
|
||||||
|
if(pref.Debug.makeRawReceiverValuesAvailable) {
|
||||||
|
QString name = "RawPort"+QString::number(i+1)+"Stage"+QString::number(map.first);
|
||||||
|
m.measurements[name] = input;
|
||||||
|
name = "RawPort"+QString::number(i+1)+"Stage"+QString::number(map.first)+"Ref";
|
||||||
|
m.measurements[name] = res->getValue(map.second, i, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
delete res;
|
delete res;
|
||||||
|
@ -651,7 +651,15 @@ bool Trace::isSAParameter(QString param)
|
|||||||
|
|
||||||
bool Trace::isVNAParameter(QString param)
|
bool Trace::isVNAParameter(QString param)
|
||||||
{
|
{
|
||||||
return param.length() == 3 && param[0] == 'S' && param[1].isDigit() && param[2].isDigit();
|
if(param.length() == 3 && param[0] == 'S' && param[1].isDigit() && param[2].isDigit()) {
|
||||||
|
// normal S parameter
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
if(param.startsWith("RawPort")) {
|
||||||
|
// raw receiver value
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
double Trace::velocityFactor()
|
double Trace::velocityFactor()
|
||||||
|
@ -389,6 +389,7 @@ void PreferencesDialog::setInitialGUIState()
|
|||||||
|
|
||||||
ui->DebugMaxUSBlogSize->setValue(p->Debug.USBlogSizeLimit);
|
ui->DebugMaxUSBlogSize->setValue(p->Debug.USBlogSizeLimit);
|
||||||
ui->DebugSaveTraceData->setChecked(p->Debug.saveTraceData);
|
ui->DebugSaveTraceData->setChecked(p->Debug.saveTraceData);
|
||||||
|
ui->DebugCaptureRawReceiverValues->setChecked(p->Debug.makeRawReceiverValuesAvailable);
|
||||||
|
|
||||||
for(auto cd : p->compoundDevices) {
|
for(auto cd : p->compoundDevices) {
|
||||||
ui->compoundList->addItem(cd->getDesription());
|
ui->compoundList->addItem(cd->getDesription());
|
||||||
@ -493,6 +494,7 @@ void PreferencesDialog::updateFromGUI()
|
|||||||
|
|
||||||
p->Debug.USBlogSizeLimit = ui->DebugMaxUSBlogSize->value();
|
p->Debug.USBlogSizeLimit = ui->DebugMaxUSBlogSize->value();
|
||||||
p->Debug.saveTraceData = ui->DebugSaveTraceData->isChecked();
|
p->Debug.saveTraceData = ui->DebugSaveTraceData->isChecked();
|
||||||
|
p->Debug.makeRawReceiverValuesAvailable = ui->DebugCaptureRawReceiverValues->isChecked();
|
||||||
|
|
||||||
p->nonTrivialWriting();
|
p->nonTrivialWriting();
|
||||||
}
|
}
|
||||||
|
@ -163,6 +163,7 @@ public:
|
|||||||
struct {
|
struct {
|
||||||
double USBlogSizeLimit;
|
double USBlogSizeLimit;
|
||||||
bool saveTraceData;
|
bool saveTraceData;
|
||||||
|
bool makeRawReceiverValuesAvailable;
|
||||||
} Debug;
|
} Debug;
|
||||||
|
|
||||||
bool TCPoverride; // in case of manual port specification via command line
|
bool TCPoverride; // in case of manual port specification via command line
|
||||||
@ -270,6 +271,7 @@ private:
|
|||||||
{&SCPIServer.port, "SCPIServer.port", 19542},
|
{&SCPIServer.port, "SCPIServer.port", 19542},
|
||||||
{&Debug.USBlogSizeLimit, "Debug.USBlogSizeLimit", 10000000.0},
|
{&Debug.USBlogSizeLimit, "Debug.USBlogSizeLimit", 10000000.0},
|
||||||
{&Debug.saveTraceData, "Debug.saveTraceData", false},
|
{&Debug.saveTraceData, "Debug.saveTraceData", false},
|
||||||
|
{&Debug.makeRawReceiverValuesAvailable, "Debug.makeRawReceiverValuesAvailable", false},
|
||||||
{&compoundDeviceJSON, "compoundDeviceJSON", "[]"},
|
{&compoundDeviceJSON, "compoundDeviceJSON", "[]"},
|
||||||
}};
|
}};
|
||||||
};
|
};
|
||||||
|
@ -1977,6 +1977,22 @@
|
|||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
<item>
|
||||||
|
<widget class="QGroupBox" name="groupBox_25">
|
||||||
|
<property name="title">
|
||||||
|
<string>Acquisition</string>
|
||||||
|
</property>
|
||||||
|
<layout class="QVBoxLayout" name="verticalLayout_32">
|
||||||
|
<item>
|
||||||
|
<widget class="QCheckBox" name="DebugCaptureRawReceiverValues">
|
||||||
|
<property name="text">
|
||||||
|
<string>Capture raw receiver values</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
|
</layout>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
<item>
|
<item>
|
||||||
<spacer name="verticalSpacer_9">
|
<spacer name="verticalSpacer_9">
|
||||||
<property name="orientation">
|
<property name="orientation">
|
||||||
|
Loading…
Reference in New Issue
Block a user