altos/test: Adjust CRC error rate after FEC fix
[fw/altos] / altoslib / AltosTimeSeries.java
index c6a780a31a6e41023a8ceaccb5799b85ad287b71..d12fbe701d67b83741010d29df4d6a53969f4dad 100644 (file)
@@ -12,7 +12,7 @@
  * General Public License for more details.
  */
 
-package org.altusmetrum.altoslib_12;
+package org.altusmetrum.altoslib_14;
 
 import java.util.*;
 
@@ -21,14 +21,17 @@ public class AltosTimeSeries implements Iterable<AltosTimeValue>, Comparable<Alt
        public AltosUnits               units;
        ArrayList<AltosTimeValue>       values;
        boolean                         data_changed;
+       double                          min_time = -2;
 
        public int compareTo(AltosTimeSeries other) {
                return label.compareTo(other.label);
        }
 
        public void add(AltosTimeValue tv) {
-               data_changed = true;
-               values.add(tv);
+               if (tv.time >= min_time) {
+                       data_changed = true;
+                       values.add(tv);
+               }
        }
 
        public void erase_values() {
@@ -339,6 +342,16 @@ public class AltosTimeSeries implements Iterable<AltosTimeValue>, Comparable<Alt
                return f;
        }
 
+       public AltosTimeSeries clip(AltosTimeSeries clip, double min, double max) {
+               for (AltosTimeValue v: values) {
+                       double value = v.value;
+                       if (value < min) value = min;
+                       if (value > max) value = max;
+                       clip.add(v.time, value);
+               }
+               return clip;
+       }
+
        public AltosTimeSeries(String label, AltosUnits units) {
                this.label = label;
                this.units = units;