1.1 --- a/Hardware/Sensor.cs Sat Jul 24 20:15:49 2010 +0000
1.2 +++ b/Hardware/Sensor.cs Tue Jul 27 18:38:11 2010 +0000
1.3 @@ -53,8 +53,8 @@
1.4 private float? value;
1.5 private float? min;
1.6 private float? max;
1.7 - private Queue<ISensorEntry> entries =
1.8 - new Queue<ISensorEntry>(MAX_MINUTES * 15);
1.9 + private Queue<SensorValue> values =
1.10 + new Queue<SensorValue>(MAX_MINUTES * 15);
1.11
1.12 private float sum = 0;
1.13 private int count = 0;
1.14 @@ -138,15 +138,15 @@
1.15 return value;
1.16 }
1.17 set {
1.18 - while (entries.Count > 0 &&
1.19 - (DateTime.Now - entries.Peek().Time).TotalMinutes > MAX_MINUTES)
1.20 - entries.Dequeue();
1.21 + while (values.Count > 0 &&
1.22 + (DateTime.Now - values.Peek().Time).TotalMinutes > MAX_MINUTES)
1.23 + values.Dequeue();
1.24
1.25 if (value.HasValue) {
1.26 sum += value.Value;
1.27 count++;
1.28 if (count == 4) {
1.29 - entries.Enqueue(new Entry(sum / count, DateTime.Now));
1.30 + values.Enqueue(new SensorValue(sum / count, DateTime.Now));
1.31 sum = 0;
1.32 count = 0;
1.33 }
1.34 @@ -171,22 +171,9 @@
1.35 max = null;
1.36 }
1.37
1.38 - public IEnumerable<ISensorEntry> Plot {
1.39 - get { return entries; }
1.40 - }
1.41 -
1.42 - public struct Entry : ISensorEntry {
1.43 - private float value;
1.44 - private DateTime time;
1.45 -
1.46 - public Entry(float value, DateTime time) {
1.47 - this.value = value;
1.48 - this.time = time;
1.49 - }
1.50 -
1.51 - public float Value { get { return value; } }
1.52 - public DateTime Time { get { return time; } }
1.53 - }
1.54 + public IEnumerable<SensorValue> Values {
1.55 + get { return values; }
1.56 + }
1.57
1.58 public void Accept(IVisitor visitor) {
1.59 visitor.VisitSensor(this);