private void calcTiming(object sender, EventArgs e) { if (mTimingCalcualting) { return; } try { mTimingCalcualting = true; NumericUpDown upDown = (NumericUpDown)sender; var param = new TimingParam(); param.Set((double)uiRefresh.Value, (int)uiRate.Value, (double)uiReadTime.Value); if (upDown == uiRate) { uiBw.Value = (decimal)param.Bw; } else if (upDown == uiReadTime) { uiDeltaF.Value = (decimal)param.DeltaF; } else if (upDown == uiRefresh) { uiRefresh.Value = (decimal)param.Refresh; } } finally { mTimingCalcualting = false; } }
public void TestFilter() { mTimingParam = new TimingParam(); mTimingParam.Set(1.0 / 10, 200, 10); var chs = new string[] { "CH1", "CH2", "Diff" }; //data storage for graph, log mData.SetupTime(chs, mTimingParam.DeltaT * 1, mTimingParam.NumDpFft); mData.SetupFrequency(chs, mTimingParam.DeltaF, mTimingParam.NumDpFftFreq); //fft Filter.SetupPlan(mTimingParam.NumDpFft); Filter.TimingParam = mTimingParam; double[][][] timeData = new double[1][][]; var diff = mTimeData.Zip(testData2, (x, y) => (x - y)).ToArray(); timeData[0] = new double[][] { mTimeData, testData2 }; //, diff }; onNewData(timeData); }