altoslib: Create new abstraction underneath AltosState for recording values
[fw/altos] / altoslib / AltosEepromRecordSet.java
index 000d9c02a848d03b3a793ba5c9426e3341e44e56..653a1305c934b97262550f60cb49354b1125d13b 100644 (file)
@@ -17,7 +17,8 @@ package org.altusmetrum.altoslib_11;
 import java.io.*;
 import java.util.*;
 
-public class AltosEepromRecordSet implements Iterable<AltosState> {
+public class AltosEepromRecordSet implements Iterable<AltosState>, AltosRecordSet {
+       AltosEepromNew                  eeprom;
        TreeSet<AltosEepromRecord>      ordered;
        AltosState                      start_state;
 
@@ -51,7 +52,16 @@ public class AltosEepromRecordSet implements Iterable<AltosState> {
                return new RecordIterator();
        }
 
+       public void capture_series(AltosFlightSeries series) {
+               series.set_config_data(eeprom.config_data());
+               for (AltosEepromRecord record : ordered) {
+                       record.update_state(series);
+               }
+       }
+
        public AltosEepromRecordSet(AltosEepromNew eeprom) {
+               this.eeprom = eeprom;
+
                AltosConfigData         config_data = eeprom.config_data();
 
                AltosEepromRecord       record = null;