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); }
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; } } } } }