Hardware/Sensor.cs
changeset 159 eda3e3458cf4
parent 151 76e18684713d
child 165 813d8bc3192f
     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);