コード例 #1
0
ファイル: SensorChartForm.cs プロジェクト: qqj1228/SH_OBD
        private void ComboSensorOrUnits_Update(List <DatedValue> arraySensorValues, DGChartControl chart, ComboBox comboSensor, ComboBox comboUnits)
        {
            arraySensorValues.Clear();
            chart.XData1 = null;
            chart.YData1 = null;
            if (comboSensor.Items.Count == 0)
            {
                return;
            }
            int selectedIndex = comboSensor.SelectedIndex;

            if (selectedIndex < 0)
            {
                return;
            }
            OBDParameter obdParameter = (OBDParameter)comboSensor.Items[selectedIndex];

            if (comboUnits.SelectedIndex == 0)
            {
                chart.Text        = obdParameter.Name + " (" + obdParameter.EnglishUnitLabel + ")";
                chart.YRangeStart = Math.Floor(obdParameter.EnglishMinValue);
                chart.YRangeEnd   = obdParameter.EnglishMinValue + 1.0;
            }
            else
            {
                chart.Text        = obdParameter.Name + " (" + obdParameter.MetricUnitLabel + ")";
                chart.YRangeStart = Math.Floor(obdParameter.MetricMinValue);
                chart.YRangeEnd   = obdParameter.MetricMinValue + 1.0;
            }
        }
コード例 #2
0
ファイル: SensorChartForm.cs プロジェクト: qqj1228/SH_OBD
 public void UpdateChart(int index, DGChartControl chart)
 {
     if (index < 0 || index > 3)
     {
         return;
     }
     if (0 < m_arraySensorValues[index].Count)
     {
         for (int i = 0; i < m_arraySensorValues[index].Count; i++)
         {
             if (DateTime.Now.Subtract(m_arraySensorValues[index][i].Date).TotalSeconds > Convert.ToInt32(numHistory.Value))
             {
                 m_arraySensorValues[index].RemoveAt(i);
                 i--;
             }
         }
     }
     if (m_arraySensorValues[index].Count == 0)
     {
         return;
     }
     double[] numArray1 = new double[m_arraySensorValues[index].Count];
     numArray1.Initialize();
     dSensorValues[index] = numArray1;
     double[] numArray2 = new double[m_arraySensorValues[index].Count];
     numArray2.Initialize();
     dSensorTimes[index] = numArray2;
     m_dSensorMax[index] = m_arraySensorValues[index][0].Value;
     m_dSensorMin[index] = m_arraySensorValues[index][0].Value;
     for (int i = 0; i < m_arraySensorValues[index].Count; i++)
     {
         DatedValue datedValue = m_arraySensorValues[index][i];
         if (datedValue.Value > m_dSensorMax[index])
         {
             m_dSensorMax[index] = datedValue.Value;
         }
         if (datedValue.Value < m_dSensorMin[index])
         {
             m_dSensorMin[index] = datedValue.Value;
         }
         dSensorValues[index][i] = datedValue.Value;
         TimeSpan timeSpan = DateTime.Now.Subtract(datedValue.Date);
         dSensorTimes[index][i] = timeSpan.TotalSeconds * -1.0;
     }
     if (chart.YRangeEnd < m_dSensorMax[index])
     {
         chart.YRangeEnd = Math.Ceiling(m_dSensorMax[index]);
         chart.YGrid     = (chart.YRangeEnd - chart.YRangeStart) * 0.1;
     }
     if (chart.YRangeStart > m_dSensorMin[index])
     {
         chart.YRangeStart = Math.Floor(m_dSensorMin[index]);
         chart.YGrid       = (chart.YRangeEnd - chart.YRangeStart) * 0.1;
     }
     chart.XData1 = dSensorTimes[index];
     chart.YData1 = dSensorValues[index];
 }
コード例 #3
0
ファイル: SensorChartForm.cs プロジェクト: qqj1228/SH_OBD
 private void ComboStyle_Update(ComboBox comboStyle, DGChartControl chart)
 {
     if (comboStyle.SelectedIndex == 0)
     {
         chart.DrawMode = DGChartControl.DrawModeType.Line;
     }
     else if (comboStyle.SelectedIndex == 1)
     {
         chart.DrawMode = DGChartControl.DrawModeType.Dot;
     }
     else
     {
         chart.DrawMode = DGChartControl.DrawModeType.Bar;
     }
 }