Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos] / altosui / AltosDataPointReader.java
index 4335421c21a96922e0ef0f3bf6f3026efcdcfb3f..371c48cb18f1411ef92d657c881222c6b0a876e4 100644 (file)
@@ -2,13 +2,14 @@
 // Copyright (c) 2010 Anthony Towns
 // GPL v2 or later
 
-package altosui;
+package AltosUI;
 
 import java.io.IOException;
 import java.text.ParseException;
 import java.lang.UnsupportedOperationException;
 import java.util.NoSuchElementException;
 import java.util.Iterator;
+import org.altusmetrum.AltosLib.*;
 
 class AltosDataPointReader implements Iterable<AltosDataPoint> {
     Iterator<AltosRecord> iter;
@@ -59,6 +60,7 @@ class AltosDataPointReader implements Iterable<AltosDataPoint> {
             public double battery_voltage() { return record.battery_voltage(); }
             public double drogue_voltage() { return record.drogue_voltage(); }
             public double main_voltage() { return record.main_voltage(); }
+           public boolean has_accel() { return has_accel; }
         };
     }
 
@@ -68,10 +70,14 @@ class AltosDataPointReader implements Iterable<AltosDataPoint> {
                 throw new UnsupportedOperationException(); 
             }
             public boolean hasNext() {
+               if (record != null && record.state == Altos.ao_flight_landed)
+                   return false;
                 return iter.hasNext();
             }
             public AltosDataPoint next() {
-                read_next_record();
+               do {
+                   read_next_record();
+               } while (record.time < -1.0 && hasNext());
                 return current_dp();
             }
         };