Пример #1
0
        static void PrintGraph2(LogData PowerRun, CustomSeries PowerSeries, CustomSeries PowerRawSeries, CustomSeries TorqueSeries, CustomSeries SpeedSeries, CustomSeries RPMSeries)
        {
            foreach (LogEntry E in PowerRun.DataEntries)
            {
                double Time = E[PowerRun.DeviceTime];
                double RPM  = E[PowerRun.RPM];

                if (PowerSeries != null)
                {
                    PowerSeries.Series.Points.AddXY(RPM, E.Calculated.Power);
                }

                if (PowerRawSeries != null)
                {
                    PowerRawSeries.Series.Points.AddXY(RPM, E.Calculated.PowerRaw);
                }

                if (TorqueSeries != null)
                {
                    TorqueSeries.Series.Points.AddXY(RPM, E.Calculated.Torque);
                }

                if (SpeedSeries != null)
                {
                    SpeedSeries.Series.Points.AddXY(Time, PowerRun.GetSpeed(E));
                }

                if (RPMSeries != null)
                {
                    RPMSeries.Series.Points.AddXY(Time, RPM);
                }
            }
        }
Пример #2
0
        CustomSeries CreateSeries(Chart chrt, string Name, double MinX, double MaxX, Color Clr, SeriesType SType)
        {
            Series series = chrt.Series.Add(Name);

            series.ChartType   = SeriesChartType.Line;           //SeriesChartType.Spline;
            series.Color       = Clr;
            series.BorderWidth = 1;
            series.MarkerStyle = MarkerStyle.Circle;
            //series.SetCustomProperty("LineTension", "0.1");

            CustomSeries S = new CustomSeries(chrt, series, SType);

            AllSeries.Add(S);

            return(S);
        }
Пример #3
0
        public void LoadGraph(LogData PowerRun, Color Clr, string Name)
        {
            foreach (LogEntry Entry in PowerRun.DataEntries)
            {
                if (Entry[PowerRun.RPM] < MinRPM)
                {
                    MinRPM = (int)Entry[PowerRun.RPM];
                }
                if (Entry[PowerRun.RPM] > MaxRPM)
                {
                    MaxRPM = (int)Entry[PowerRun.RPM];
                }

                if (Entry[PowerRun.DeviceTime] < MinTime)
                {
                    MinTime = Entry[PowerRun.DeviceTime];
                }
                if (Entry[PowerRun.DeviceTime] > MaxTime)
                {
                    MaxTime = Entry[PowerRun.DeviceTime];
                }
            }

            MinRPM = Utils.RoundToNearest(MinRPM, 500);
            MaxRPM = Utils.RoundToNearest(MaxRPM, 500, false);

            CustomSeries PowerSeries    = CreateSeries(chart1, Name, MinRPM, MaxRPM, Clr, SeriesType.RPM);
            CustomSeries PowerRawSeries = null;             // CreateSeries(chart1, Name + "_raw", MinRPM, MaxRPM, Color.CadetBlue, SeriesType.RPM);
            CustomSeries TorqueSeries   = CreateSeries(chart2, Name, MinRPM, MaxRPM, Clr, SeriesType.RPM);

            CustomSeries RPMSeries   = null;           // CreateSeries(chart1, Name + "_rpm", MinTime, MaxTime, Color.Red, SeriesType.Time);
            CustomSeries SpeedSeries = CreateSeries(chart1, Name + "_spd", MinTime, MaxTime, Clr, SeriesType.Time);

            //PrintGraph(PowerRun, series, series_spd, MinRPM, MaxRPM);
            PrintGraph2(PowerRun, PowerSeries, PowerRawSeries, TorqueSeries, SpeedSeries, RPMSeries);

            EnableSeries(SeriesType.RPM);
        }