private void VnaSweepRun_Click(object sender, EventArgs e) { if (running) { vna.stop(); running = false; vnaSweepRun.Text = "Run"; return; } absA = new PlotTrace(); logA = new PlotTrace(); phiA = new PlotTrace(); for (int j = 0; j < channels; j++) { absB[j] = new PlotTrace(); absBA[j] = new PlotTrace(); phiBA[j] = new PlotTrace(); logB[j] = new PlotTrace(); logBA[j] = new PlotTrace(); phiB[j] = new PlotTrace(); } vnaScreen.addTraces(absA, absB, absBA, phiBA, logA, logB, logBA, phiA, phiB); // vna.runSweep(sweepFMin, sweepFMax, sweepLog, sweepPoints, loopDelay / 1000, (int)Math.Floor(periods + 0.5)); vna.runSweep(); running = vna.running; vnaSweepRun.Text = "Stop"; }
public void addTraces( PlotTrace _absA, PlotTrace[] _absB, PlotTrace[] _absBA, PlotTrace[] _phiBA, PlotTrace _logA, PlotTrace[] _logB, PlotTrace[] _logBA, PlotTrace _phiA, PlotTrace[] _phiB) { PlotSet t = new PlotSet(); t.name = DateTime.Now.ToLongDateString(); t.absA = _absA; t.absB = (PlotTrace[])_absB.Clone(); t.absBA = (PlotTrace[])_absBA.Clone(); t.phiBA = (PlotTrace[])_phiBA.Clone(); t.logA = _logA; t.logB = (PlotTrace[])_logB.Clone(); t.logBA = (PlotTrace[])_logBA.Clone(); t.phiA = _phiA; t.phiB = (PlotTrace[])_phiB.Clone(); current = t; for (int i = 0; i < _absB.Length; i++) { current.absB[i].color.color = getTraceColor(i); current.absBA[i].color.color = getTraceColor(i); current.phiBA[i].color.color = getTraceColor(i); current.logB[i].color.color = getTraceColor(i); current.logBA[i].color.color = getTraceColor(i); } updatePlot1(); updatePlot2(); Invalidate(); }
public void initVNA(VNA _vna) { vna = _vna; timer = new Timer(); timer.Interval = 100; // ms timer.Tick += Timer_Tick; channels = vna.channels; absB = new PlotTrace[channels]; absBA = new PlotTrace[channels]; phiBA = new PlotTrace[channels]; logB = new PlotTrace[channels]; logBA = new PlotTrace[channels]; phiB = new PlotTrace[channels]; running = false; /* * sweepFMin = 100; * sweepFMax = 10000; * sweepLog = true; * sweepPoints = 61; * loopDelay = 700; * periods = 40; */ timer.Enabled = true; CanClose = false; initialized = true; blockRangeSet = true; // Setup Screen vnaScreen.x.logScale = vna.config.displayLogF; vnaScreen.x.newRange(vna.config.displayFMin, vna.config.displayFMax); vnaScreen.changePlot(vna.config.displayDual, vna.config.displayPlotY1, vna.config.displayPlotY2); vnaScreen.y1.newRange(vna.config.displayY1Min, vna.config.displayY1Max); vnaScreen.y2.newRange(vna.config.displayY2Min, vna.config.displayY2Max); // Setup UI Elements vnaDualDisplay.Checked = vna.config.displayDual; vnaDisplayFMin.Value = Convert.ToDecimal(vna.config.displayFMin); vnaDisplayFMax.Value = Convert.ToDecimal(vna.config.displayFMax); vnaDisplayFLog.Checked = vna.config.displayLogF; foreach (string s in vna.config.PlotModeNames) { vnaDisplayY1Type.Items.Add(s); vnaDisplayY2Type.Items.Add(s); } vnaDisplayY1Type.SelectedIndex = (int)vna.config.displayPlotY1; vnaDisplayY2Type.SelectedIndex = (int)vna.config.displayPlotY2; vnaDisplayY1Min.Value = Convert.ToDecimal(vna.config.displayY1Min); vnaDisplayY1Max.Value = Convert.ToDecimal(vna.config.displayY1Max); vnaDisplayY2Min.Value = Convert.ToDecimal(vna.config.displayY2Min); vnaDisplayY2Max.Value = Convert.ToDecimal(vna.config.displayY2Max); vnaSweepFMin.Value = Convert.ToDecimal(vna.config.sweepFMin); vnaSweepFMax.Value = Convert.ToDecimal(vna.config.sweepFMax); vnaSweepLog.Checked = vna.config.sweepLogF; vnaSweepPoints.Value = Convert.ToDecimal(vna.config.sweepPoints); vnaSweepDelay.Value = Convert.ToDecimal(vna.config.sweepLoopDelay * 1000); vnaSweepPeriods.Value = Convert.ToDecimal(vna.config.sweepMPeriods); vnaPhaseCorr.Value = Convert.ToDecimal(vna.config.compPhaseBlocks); // CallBacks vnaSweepRun.Click += VnaSweepRun_Click; vnaDisplayY1Type.SelectedIndexChanged += VnaDisplayY1Type_SelectedIndexChanged; vnaDisplayY2Type.SelectedIndexChanged += VnaDisplayY2Type_SelectedIndexChanged; vnaDualDisplay.Click += VnaDualDisplay_Click; vnaDisplayReset.Click += VnaDisplayReset_Click; vnaDisplayFMin.ValueChanged += VnaDisplayFMin_ValueChanged; vnaDisplayFMax.ValueChanged += VnaDisplayFMax_ValueChanged; vnaDisplayY1Min.ValueChanged += VnaDisplayY1Min_ValueChanged; vnaDisplayY1Max.ValueChanged += VnaDisplayY1Max_ValueChanged; vnaDisplayY2Min.ValueChanged += VnaDisplayY2Min_ValueChanged; vnaDisplayY2Max.ValueChanged += VnaDisplayY2Max_ValueChanged; vnaDisplayFLog.Click += VnaDisplayFLog_Click; vnaSweepFMin.ValueChanged += VnaSweepFMin_ValueChanged; vnaSweepFMax.ValueChanged += VnaSweepFMax_ValueChanged; vnaSweepLog.Click += VnaSweepLog_Click; vnaSweepPoints.ValueChanged += VnaSweepPoints_ValueChanged; vnaSweepDelay.ValueChanged += VnaSweepDelay_ValueChanged; vnaSweepPeriods.ValueChanged += VnaSweepPeriods_ValueChanged; vnaPhaseCorr.ValueChanged += VnaPhaseCorr_ValueChanged; vnaSaveData.Click += VnaSaveData_Click; vnaDelete.Click += VnaDelete_Click; vnaToMemory.Click += VnaToMemory_Click; blockRangeSet = false; }