+ case AltosLib.AO_LOG_FORMAT_TELEGPS:
+ body = new AltosEepromIterable(AltosEepromGPS.read(input));
+ break;
+ default:
+ body = new AltosEepromIterable(new LinkedList<AltosEeprom>());
+ break;
+ }
+
+ /* Find boost tick */
+ AltosState state = start.clone();
+ for (AltosEeprom eeprom : body) {
+ eeprom.update_state(state);
+ state.finish_update();
+ if (state.state() >= AltosLib.ao_flight_boost) {
+ start.set_boost_tick(state.tick);
+ break;
+ }
+ }
+ }
+
+ public Iterator<AltosState> iterator() {
+ AltosState state = start.clone();
+ Iterator<AltosEeprom> i = body.iterator();
+
+ while (i.hasNext() && !state.valid()) {
+ i.next().update_state(state);
+ state.finish_update();