X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosTelemetryIterable.java;h=90a08485c8301611ebd7e66d8d751f20d423d66e;hb=c1f859170b37864b816eb561318dbfb1cafaeed6;hp=a71ab8726d0dce64bf1b746e0e13e61e444c84b3;hpb=f01096c4b42f9a4720ed0414826c2a283a992545;p=fw%2Faltos diff --git a/altosui/AltosTelemetryIterable.java b/altosui/AltosTelemetryIterable.java index a71ab872..90a08485 100644 --- a/altosui/AltosTelemetryIterable.java +++ b/altosui/AltosTelemetryIterable.java @@ -28,11 +28,19 @@ public class AltosTelemetryIterable extends AltosRecordIterable { return records.iterator(); } + boolean has_gps = false; + boolean has_accel = false; + boolean has_ignite = false; + public boolean has_gps() { return has_gps; } + public boolean has_accel() { return has_accel; } + public boolean has_ignite() { return has_ignite; }; + public AltosTelemetryIterable (FileInputStream input) { boolean saw_boost = false; int current_tick = 0; int boost_tick = 0; + AltosRecord previous = null; records = new LinkedList (); try { @@ -42,9 +50,10 @@ public class AltosTelemetryIterable extends AltosRecordIterable { break; } try { - AltosTelemetry record = new AltosTelemetry(line); + AltosRecord record = AltosTelemetry.parse(line, previous); if (record == null) break; + previous = record; if (records.isEmpty()) { current_tick = record.tick; } else { @@ -59,11 +68,16 @@ public class AltosTelemetryIterable extends AltosRecordIterable { saw_boost = true; boost_tick = record.tick; } + if (record.accel != AltosRecord.MISSING) + has_accel = true; + if (record.gps != null) + has_gps = true; + if (record.main != AltosRecord.MISSING) + has_ignite = true; records.add(record); } catch (ParseException pe) { System.out.printf("parse exception %s\n", pe.getMessage()); } catch (AltosCRCException ce) { - System.out.printf("crc error\n"); } } } catch (IOException io) {