Ejemplo n.º 1
0
        public void newTempSensorData(YTemperature source, YMeasure data)
        {
            pointXY p = new pointXY()
            {
                x = data.get_endTimeUTC(), y = data.get_averageValue()
            };

            TempData.Add(p);
            monitor_tData.AddPoint(p);
        }
Ejemplo n.º 2
0
        public void newGenericSensorData(YGenericSensor source, YMeasure data)
        {
            pointXY p = new pointXY()
            {
                x = data.get_endTimeUTC(), y = data.get_averageValue()
            };

            WeightData.Add(p);
            monitor_wData.AddPoint(p);
        }
        private List <pointXY[]> decomposeToSegments(List <TimedSensorValue> data, int start, int dataCount)
        {
            int n1                  = start;
            int n2                  = 0;
            List <pointXY[]> l      = new List <pointXY[]>();
            double           deltaT = 0;

            while (n1 < start + dataCount - 1)
            {
                try
                { deltaT = data[n1 + 1].DateTime - data[n1].DateTime; }
                catch (Exception)
                { }
                n2 = n1 + 1;
                while ((n2 < dataCount - 1) && (data[n2].DateTime - data[n2 - 1].DateTime < 2 * deltaT))
                {
                    n2++;
                }
                int count = n2 - n1;
                if (count > 0)
                {
                    pointXY[] p = new pointXY[count];
                    for (int i = 0; i < count; i++)
                    {
                        p[i] = new YDataRendering.pointXY()
                        {
                            x = data[n1 + i].DateTime, y = data[n1 + i].Value
                        }
                    }
                    ;
                    l.Add(p);
                }
                n1 = n2;
            }

            return(l);
        }
        public void SensorNewDataBlock(CustomYSensor source, int sourceFromIndex, int sourcetoIndex, int targetIndex, bool fromDataLogger)
        {
            if ((fromDataLogger) && (!prop.Graph_showRecordedData))
            {
                return;
            }

            if (prop == null)
            {
                return;
            }

            List <pointXY[]> l;

            for (int i = 0; i < SeriesCount; i++)
            {
                ChartSerie s = (ChartSerie)prop.GetType().GetProperty("Graph_series" + i.ToString()).GetValue(prop, null);
                if (s.DataSource_source == source)
                {
                    int       count     = sourcetoIndex - sourceFromIndex + 1;
                    pointXY[] datablock = new pointXY[count];

                    if (count > 1)
                    {
                        switch (s.DataSource_datatype)
                        {
                        case 1:

                            l = decomposeToSegments(s.DataSource_source.minData, sourceFromIndex, count);
                            for (int j = l.Count - 1; j >= 0; j--)
                            {
                                _cartesianChart.series[i].InsertPoints(l[j]);
                            }



                            break;

                        case 2:

                            l = decomposeToSegments(s.DataSource_source.maxData, sourceFromIndex, count);
                            for (int j = l.Count - 1; j >= 0; j--)
                            {
                                _cartesianChart.series[i].InsertPoints(l[j]);
                            }



                            break;

                        default:
                            l = decomposeToSegments(s.DataSource_source.curData, sourceFromIndex, count);
                            for (int j = l.Count - 1; j >= 0; j--)
                            {
                                _cartesianChart.series[i].InsertPoints(l[j]);
                            }


                            break;
                        }
                    }
                }
            }
        }