コード例 #1
0
ファイル: UIHelper.cs プロジェクト: louis-ludong/second
        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();
            }
        }
コード例 #2
0
ファイル: CarSetting.cs プロジェクト: louis-ludong/second
 public void ProcessRealyTimeData(Models.Feedback.RealTimeData model)
 {
     if (IsReadly)
     {
         ShowRealyData(model);
     }
 }
コード例 #3
0
ファイル: UIHelper.cs プロジェクト: louis-ludong/second
 public void Record(Models.Feedback.RealTimeData model)
 {
     if (rStartTime == null)
     {
         rStartTime = DateTime.Now;
     }
     Records.Add((DateTime.Now - rStartTime.Value).TotalMilliseconds, model);
 }
コード例 #4
0
ファイル: DiagramPanel.cs プロジェクト: louis-ludong/second
 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;
     }
 }
コード例 #5
0
 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);
 }
コード例 #6
0
ファイル: DTOUitils.cs プロジェクト: louis-ludong/second
        /// <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);
        }
コード例 #7
0
ファイル: CarSetting.cs プロジェクト: louis-ludong/second
        //  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());
        }
コード例 #8
0
 public void HandlerRealyTimeData(Models.Feedback.RealTimeData model)
 {
 }
コード例 #9
0
ファイル: Home.cs プロジェクト: louis-ludong/second
 public void ProcessRealyTimeData(Models.Feedback.RealTimeData model)
 {
 }
コード例 #10
0
        //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);
        }