void statusBar1_StartStopClick(object sender, EventArgs e) { if (task.bRunning) { statusBar1.pause = false; statusBar1.status = RUN_STATE.STOPPING; task.Stop(); } else { RsInfo rs = Program.lst_rsinfo[Program.mainwnd.selectedRs]; RxInfo rx = Program.lst_rxinfo[Program.mainwnd.selectedRx]; statusBar1.total = syscfg.iMeasTimes; statusBar1.count = 1; statusBar1.status = RUN_STATE.INITIALIZING; DeviceMgr.Log(String.Format(@"==== New Measurement Paramter======== Measure times = {0}\r\nRs ID = {1}\r\nRs Value = {2}\r\nRs Temp. Alpha = {3}\r\nRs Temp. Beta = {4}\r\n Temperature = {5}\r\nRx ID = {6}\r\nSample times = {7}\r\nSwitch delay = {8}\r\n Filter = {9}\r\nFilter Length = {10}\r\nMeasure delay = {12}\r\n AutoFilter = {13}\r\nRx curr. = {14}\r\n New Measurement Started...", syscfg.iMeasTimes.ToString(), rs.sSerial, rs.dValue.ToString("F8"), rs.dAlpha.ToString("F3"), rs.dBeta.ToString("F3"), syscfg.dTemp.ToString("F3"), rx.sSerial, syscfg.iSampleTimes, syscfg.iKTT, syscfg.sFilterType, syscfg.iFilter, syscfg.iMeasDelay, syscfg.bThrow, rx.iIx )); task.Start(); Program.data.ClearAll(); foreach (RxDisplay rxdisp in Enumerable.Range(1, 4).Select(x => findrx(x))) { rxdisp.ReDraw(); } } }
public void LogComplete() { DeviceMgr.Log("...... Summary Begin ......"); DeviceMgr.Log(String.Format("Rx(mean):{0}\nMax:{1}\nMin:{2}\nRx/Rs:{3}\nStdev:{4}", GetData(RXDATA_MODE.AVERAGE), GetData(RXDATA_MODE.MAX), GetData(RXDATA_MODE.MIN), GetData(RXDATA_MODE.RATIO), GetData(RXDATA_MODE.VARIANCE))); DeviceMgr.Log("...... Summary End ...... "); }
public void LogComplete() { DeviceMgr.Log(String.Format(@"...... 数据汇总 开始 ...... Rx(平均值):{0} 最大值: {1} 最小值: {2} Rx/Rs: {3} 标准差: {4} 不确定度: {4}", GetData(RXDATA_MODE.AVERAGE), GetData(RXDATA_MODE.MAX), GetData(RXDATA_MODE.MIN), GetData(RXDATA_MODE.RATIO), GetData(RXDATA_MODE.VARIANCE))); DeviceMgr.Log("...... 数据汇总 结束 ...... "); }
public void LogComplete() { /* * DeviceMgr.Log(String.Format(@"...... 数据汇总 开始 ...... * Rx(平均值):{0} * 最大值: {1} * 最小值: {2} * Rx/Rs: {3} * 标准差: {4} * 不确定度: {4}", GetData(RXDATA_MODE.AVERAGE), * GetData(RXDATA_MODE.MAX), * GetData(RXDATA_MODE.MIN), * GetData(RXDATA_MODE.RATIO), * GetData(RXDATA_MODE.VARIANCE))); */ DeviceMgr.Log("...... 数据汇总 结束 ...... "); }
//change the new reading base on history public bool AddNewValue(ref double newreading) { int drop = 2; if (valfilter.Count == 0) //1st reading { SysConfig syscfg = RunWnd.syscfg; DeviceMgr.Log(String.Format(@"==== 新测量参数======== 测量次数 = {0} 标准电阻ID = {1} 标准电阻阻值 = {2} 标准电阻温度系数. Alpha = {3} 标准电阻温度系数. Beta = {4} 温度 = {5} 被测电阻ID = {6} 单次采样次数 = {7} 换向时间(秒) = {8} 测量间隔(秒) = {9} 电流值(A) = {10} 滤波器 = {11} 新测量开始...", syscfg.iMeasTimes.ToString(), rs.sSerial, rs.dValue.ToString("F8"), rs.dAlpha.ToString("F3"), rs.dBeta.ToString("F3"), syscfg.dTemp.ToString("F3"), rx.sSerial, syscfg.iSampleTimes, syscfg.iKTT, syscfg.iMeasDelay, rx.var.iSrc, syscfg.iFilter )); } valfilter.Add(newreading); if (valfilter.Count < 4) { return(false); } if ((RunWnd.syscfg.iFilter + drop) >= valfilter.Count) { newreading = valfilter.Skip(2).Average(); } else { newreading = valfilter.Skip(valfilter.Count - RunWnd.syscfg.iFilter).Average(); } iMeasCnt++; return(true); }
private void DoNextMeasure() { RsInfo rs = runstate.selectedRs.Dequeue(); RxInfo rx = runstate.selectedRx.Dequeue(); status = RUN_STATE.INITIALIZING; if (false) { SysConfig syscfg = Program.sysinfo; DeviceMgr.Log(String.Format(@"==== New Measurement Paramter======== Measure times = {0}\r\nRs ID = {1}\r\nRs Value = {2}\r\nRs Temp. Alpha = {3}\r\nRs Temp. Beta = {4}\r\n Temperature = {5}\r\nRx ID = {6}\r\nSample times = {7}\r\nSwitch delay = {8}\r\n Filter = {9}\r\nFilter Length = {10}\r\nMeasure delay = {12}\r\n AutoFilter = {13}\r\nRx curr. = {14}\r\n New Measurement Started...", syscfg.iMeasTimes.ToString(), rs.sSerial, rs.dValue.ToString("F8"), rs.dAlpha.ToString("F3"), rs.dBeta.ToString("F3"), syscfg.dTemp.ToString("F3"), rx.sSerial, syscfg.iSampleTimes, syscfg.iKTT, syscfg.sFilterType, syscfg.iFilter, syscfg.iMeasDelay, syscfg.bThrow, rx.iIx )); } task.Start(rx, rs); }
private static bool tmlock = false; //lock for timer handler void uiTimer_Tick(object sender, EventArgs e) { if (tmlock) { return; } tmlock = true; if (DeviceMgr.Loaded && statusBar1.status == RUN_STATE.DISABLED) { statusBar1.status = RUN_STATE.IDLE; } if (lastcall != "") { if (lastcall == "newtime") { lastcall = ""; Program.kbd.Init(StringResource.str("enter_newtime"), "newtime", false, KbdData); } tmlock = false; return; } else { if (task.bRunning) { task.Step(); statusBar1.pause = task.bPaused; statusBar1.waiting = task.waiting; if (!task.bRunning) { statusBar1.status = RUN_STATE.IDLE; DeviceMgr.Log("测量结束..."); } } } tmlock = false; }
private static bool tmlock = false; //lock for timer handler void uiTimer_Tick(object sender, EventArgs e) { if (tmlock) { return; } tmlock = true; if (DeviceMgr.Loaded && status == RUN_STATE.DISABLED) { status = RUN_STATE.IDLE; } if (task.bRunning) { task.Step(); if (!task.bRunning) { status = RUN_STATE.IDLE; DeviceMgr.Log("Measurement Stopped..."); } } tmlock = false; }
public void LogData(int index, double value) { DeviceMgr.Log(String.Format("读数 {0} = {1}", index.ToString(), Util.FormatData(value, 8))); }