public static void ShowRecords() { var ofd = new OpenFileDialog(); ofd.Filter = "txt (*.txt)|*.txt"; if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK) { var dic = new Dictionary <double, Models.Feedback.RealTimeData>(); using (var stream = new System.IO.StreamReader(ofd.FileName)) { String line = stream.ReadLine(); do { var temp = line.Split(';'); var model = new Models.Feedback.RealTimeData(); model.GasesTime = float.Parse(temp[1]); model.GasLevel = float.Parse(temp[2]); model.GasPress = float.Parse(temp[3]); model.MAPPress = float.Parse(temp[4]); model.PetrolsTime = float.Parse(temp[5]); model.RPM = int.Parse(temp[6]); model.TempGas = int.Parse(temp[7]); model.TempRed = int.Parse(temp[8]); dic.Add(double.Parse(temp[0]), model); line = stream.ReadLine(); } while (!String.IsNullOrEmpty(line)); } RealTimeGraphForm rtgf = new RealTimeGraphForm(dic); rtgf.Show(); } }
public void ProcessRealyTimeData(Models.Feedback.RealTimeData model) { if (IsReadly) { ShowRealyData(model); } }
public void Record(Models.Feedback.RealTimeData model) { if (rStartTime == null) { rStartTime = DateTime.Now; } Records.Add((DateTime.Now - rStartTime.Value).TotalMilliseconds, model); }
public void HandlerRealyTimeData(Models.Feedback.RealTimeData model) { if (loadFinsh == false || IsInit == true) { return; } switch (tabControl1.SelectedIndex) { //case 2: // colorLineV.Value = model.PetrolsTime; // colorLineH.Value = model.MAPPress * 100; // break; case 0: mapControls.HandlerRealyTimeData(model); break; } }
void HandleRealyTimeData(Models.Feedback.RealTimeData model) { dasTempGasTemp.Value = model.TempGas; dasTempRedTemp.Value = model.TempRed; dasTempRedTemp.Value = model.TempRed; dasTempGasTemp.Value = model.TempGas; daSCGRPM.Value = model.RPM; rtlGas.ValueText = model.GasesTime.ToString("N02"); rtlGasPress.ValueText = model.GasPress.ToString("N02"); rtlMapPress.ValueText = model.MAPPress.ToString("N02"); rtlPetrol.ValueText = model.PetrolsTime.ToString("N02"); if (Services.Stroe.ECUSetting.Lambda1Type != Models.Enums.LambdaTypes.NoConnection) { rtlLambda1.ValueText = model.Lambda[0].ToString("N02");//LDC } else { rtlLambda1.ValueText = "n.a."; } if (Services.Stroe.ECUSetting.Lambda2Type != Models.Enums.LambdaTypes.NoConnection) { rtlLambda2.ValueText = model.Lambda[1].ToString("N02"); } else { rtlLambda2.ValueText = "n.a."; } tpbLED1.Toggle(!model.LEDLight[0]); tpbLED2.Toggle(!model.LEDLight[1]); tpbLED3.Toggle(!model.LEDLight[2]); tpbLED4.Toggle(!model.LEDLight[3]); tpbLED5.Toggle(!model.LEDLight[4]); tpbLED6.Toggle(!model.LEDLight[5]); tpbLED7.Toggle(!model.LEDLight[6]); tpbIgnitionStatus.Toggle(!model.IgnitionStatus); tpbSolenoidValveStatus.Toggle(!model.SolenoidValveStatus); //if (!SharedValueHelper.KeySwitchState.HasValue) //{ // SharedValueHelper.KeySwitchState = !(model.GasesTime > 0); // tpbSwitchKey.Toggle(SharedValueHelper.KeySwitchState.Value); //} SharedValueHelper.KeySwitchState = !(model.LEDLight[5] && !model.LEDLight[6]); tpbSwitchKey.Toggle(SharedValueHelper.KeySwitchState.Value); }
/// <summary> /// 从报文提取 实时数据 /// </summary> /// <param name="packet">报文</param> /// <returns>实时数据</returns> public static Models.Feedback.RealTimeData ToRealyTimeData(this byte[] packet)//LDC { var data = packet.PacketData(1).ToArray(); Models.Feedback.RealTimeData model = new Models.Feedback.RealTimeData(); model.PetrolsTime = ValueConvert.TwoBitTimeByusFrom(data[0], data[1]); //1(高位)、2(低位)字节:当前喷油时间;单位2.56us; model.GasesTime = ValueConvert.TwoBitTimeByusFrom(data[2], data[3]); //3(高位)、4(低位)字节:当前喷气时间;单位2.56us; model.RPM = ValueConvert.RealyDataRPMFrom(data[4], data[5]); //5(高位)、6(低位)字节:当前发动机转速;单位rpm; model.TempRed = ValueConvert.SingleTempFrom(data[6]); //7字节:当前减压器温度;单位℃; model.TempGas = ValueConvert.SingleTempFrom(data[7]); //8字节:当前燃气温度;单位℃; model.MAPPress = ValueConvert.PressFrom(data[8]); //9字节:当前真空压力;单位0.01bar; model.GasPress = ValueConvert.PressFrom(data[9]); //10字节:当前燃气压力;单位0.01bar; model.Lambda = ValueConvert.TwoBitKVFrom(data[10], data[11]); model.GasLevel = ValueConvert.GasLevelFrom(data[12]); model.LEDLight = ValueConvert.LEDLightFrom(data[13]);//14字节:开关LED灯状态;bit0:level0,bit1:level1,bit2:level2,bit3:level3,bit4:level4,bit5:gas,bit6:petrol,bit7:保留 bool[] state = ValueConvert.SolenoidValveAndIgnitionStatusFrom(data[14]); model.SolenoidValveStatus = state[0]; model.IgnitionStatus = state[1]; //model.RPMSource = ValueConvert.RPMSourceFrom(data[18]); return(model); }
// int xy=0; public void ShowRealyData(Models.Feedback.RealTimeData model) { //Stopwatch watch = new Stopwatch(); //watch.Reset(); //watch.Start(); rtlGas.ValueText = model.GasesTime.ToString("N02"); rtlGasLevel.ValueText = model.GasLevel.ToString("N02"); rtlPetrol.ValueText = model.PetrolsTime.ToString("N02"); rtlRPM.ValueText = model.RPM.ToString();//model.RPM.ToString() (xy++).ToString() rtlTempRed.ValueText = model.TempRed.ToString(); if (Services.Stroe.ECUSetting.Lambda1Type != Models.Enums.LambdaTypes.NoConnection) { rtlLambda1.ValueText = model.Lambda[0].ToString("N02");//LDC } else { rtlLambda1.ValueText = "n.a."; } if (Services.Stroe.ECUSetting.Lambda2Type != Models.Enums.LambdaTypes.NoConnection) { rtlLambda2.ValueText = model.Lambda[1].ToString("N02"); } else { rtlLambda2.ValueText = "n.a."; } if (model.TempGas == -128) { String str = "--"; rtlTempGas.ValueText = str; rtlGasPress.ValueText = str; rtlMapPress.ValueText = str; } else { rtlTempGas.ValueText = model.TempGas.ToString(); rtlGasPress.ValueText = model.GasPress.ToString("N02"); rtlMapPress.ValueText = model.MAPPress.ToString("N02"); } tpbLED1.Toggle(!model.LEDLight[0]); tpbLED2.Toggle(!model.LEDLight[1]); tpbLED3.Toggle(!model.LEDLight[2]); tpbLED4.Toggle(!model.LEDLight[3]); tpbLED5.Toggle(!model.LEDLight[4]); tpbLED6.Toggle(!model.LEDLight[5]); tpbLED7.Toggle(!model.LEDLight[6]); tpbIgnitionStatus.Toggle(!model.IgnitionStatus); tpbSolenoidValveStatus.Toggle(!model.SolenoidValveStatus); //switch (model.RPMSource)//LDC删除20160601 //{ // case IGT.Models.Enums.RPMSources.Injector: // labRPMSource.Text = Words["319"] + ": " + Words["320"]; // break; // case IGT.Models.Enums.RPMSources.Coil: // labRPMSource.Text = Words["319"] + ": " + Words["321"]; // break; // case IGT.Models.Enums.RPMSources.CamshaftSensor: // labRPMSource.Text = Words["319"] + ": " + Words["322"]; // break; // case IGT.Models.Enums.RPMSources.Auto: // labRPMSource.Text = Words["319"] + ": " + Words["323"]; // break; // //case IGT.Models.Enums.RPMSources.OneCoil: // // labRPMSource.Text = Words["319"] + ": " + Words["320"]; // // break; // //case IGT.Models.Enums.RPMSources.TwoCoils: // // labRPMSource.Text = Words["319"] + ": " + Words["321"]; // // break; // //case IGT.Models.Enums.RPMSources.RPMSensor: // // labRPMSource.Text = Words["319"]+": " + Words["322"]; // // break; // //case IGT.Models.Enums.RPMSources.RPMSensor: // // labRPMSource.Text = Words["319"] + ": " + Words["323"]; // //break; //} //if (SharedValueHelper.KeySwitchState.HasValue) //{ // SharedValueHelper.KeySwitchState = !(model.GasesTime > 0); // tpbSwitchKey.Toggle(SharedValueHelper.KeySwitchState.Value); //} SharedValueHelper.KeySwitchState = !(model.LEDLight[5] && !model.LEDLight[6]); tpbSwitchKey.Toggle(SharedValueHelper.KeySwitchState.Value); if (CurrentSettingPanel != null) { CurrentSettingPanel.HandlerRealyTimeData(model); } //watch.Stop(); //Debug.WriteLine("time"+watch.ElapsedMilliseconds.ToString()); }
public void HandlerRealyTimeData(Models.Feedback.RealTimeData model) { }
public void ProcessRealyTimeData(Models.Feedback.RealTimeData model) { }
//SolidBrush brush = new SolidBrush(Color.Yellow); //Rectangle oldBall = new Rectangle(0, 0, 0, 0); public void HandlerRealyTimeData(Models.Feedback.RealTimeData model)//红点显示 { if (IsInit) { return; } //var x = Store.MAPCalibrationParams.RPMs // .Select((m, i) => new KeyValuePair<int, float>(i, Math.Abs(m - model.RPM))) // .OrderBy(m => m.Value).Select(m => m.Key).First(); //var y = Store.MAPCalibrationParams.Injection.ToArray() // .Select((m, i) => new KeyValuePair<int, float>(i, Math.Abs(m - model.PetrolsTime))) // .OrderBy(m => m.Value).Select(m => m.Key).First(); //if (RedCellPoint.X != x || RedCellPoint.Y != y) //{ // if (RedCellPoint.X >= 0 && RedCellPoint.Y >= 0) // kryptonDataGridView1.Rows[RedCellPoint.Y].Cells[RedCellPoint.X].Style.BackColor = Color.White; // kryptonDataGridView1.Rows[y].Cells[x].Style.BackColor = Color.Red; // RedCellPoint = new Point(x, y); //} // while (true) ; int x, y; int i = 0; for (; i < Store.MAPCalibrationParams.RPMs.Count; i++) { if (model.RPM >= Store.MAPCalibrationParams.RPMs[i]) { continue; } else { break; } } if (i == 0) { x = 67; } else if (i >= Store.MAPCalibrationParams.RPMs.Count) { x = 800; } else { x = (model.RPM - Store.MAPCalibrationParams.RPMs[i - 1] + (Store.MAPCalibrationParams.RPMs[i] - Store.MAPCalibrationParams.RPMs[i - 1]) / 2) * 61 / (Store.MAPCalibrationParams.RPMs[i] - Store.MAPCalibrationParams.RPMs[i - 1]); x = x + 67 + (i - 1) * 61; } for (i = 0; i < Store.MAPCalibrationParams.Injection.Count; i++) { if (model.PetrolsTime >= Store.MAPCalibrationParams.Injection[i]) { continue; } else { break; } } if (i >= Store.MAPCalibrationParams.Injection.Count) { y = 340; } else if (i == 0) { y = 27; } else { y = (int)((model.PetrolsTime - Store.MAPCalibrationParams.Injection[i - 1] + (Store.MAPCalibrationParams.Injection[i] - Store.MAPCalibrationParams.Injection[i - 1]) / 2) * 26 / (Store.MAPCalibrationParams.Injection[i] - Store.MAPCalibrationParams.Injection[i - 1])); y = (int)(y + 27 + (i - 1) * 26); } // this.Invalidate(); if (RedCellPoint.X != x || RedCellPoint.Y != y) { kryptonDataGridView1.Refresh(); RedCellPoint.X = x; RedCellPoint.Y = y; } // Graphics g = Graphics.FromHwnd(kryptonDataGridView1.Handle); Graphics g = kryptonDataGridView1.CreateGraphics(); // g.FillRectangle(new SolidBrush(kryptonDataGridView1.BackColor),oldBall);//new SolidBrush(kryptonDataGridView1.BackColor) g.FillEllipse(Brushes.Blue, x, y, 15, 15); // 67,27 800, 340, // oldBall = new Rectangle(x, y, 15, 15); }