altosui: Reset eeprom download instance variables before reading flight
authorKeith Packard <keithp@keithp.com>
Sun, 16 Jan 2011 06:43:37 +0000 (22:43 -0800)
committerKeith Packard <keithp@keithp.com>
Sun, 16 Jan 2011 22:19:48 +0000 (14:19 -0800)
To deal with downloading multiple flights in a single invocation, make
sure all relevant instance variables are set back to start of flight
download values each time a log is read.

Signed-off-by: Keith Packard <keithp@keithp.com>
altosui/AltosEepromDownload.java

index 5d19acec472987b4a742aaebbb3453734ef80970..af70b15c5603139c318559c189e941535fae3872 100644 (file)
@@ -37,11 +37,13 @@ public class AltosEepromDownload implements Runnable {
        boolean                 remote;
        Thread                  eeprom_thread;
        AltosEepromMonitor      monitor;
-       int                     flight = 0;
-       int                     year = 0, month = 0, day = 0;
-       boolean                 want_file = false;
-       FileWriter              eeprom_file = null;
-       LinkedList<String>      eeprom_pending = new LinkedList<String>();
+
+       int                     flight;
+       int                     year, month, day;
+       boolean                 want_file;
+       FileWriter              eeprom_file;
+       LinkedList<String>      eeprom_pending;
+
        AltosEepromList         flights;
        ActionListener          listener;
        boolean                 success;
@@ -84,6 +86,16 @@ public class AltosEepromDownload implements Runnable {
                if (flights.config_data.serial == 0)
                        throw new IOException("no serial number found");
 
+               /* Reset per-capture variables */
+               flight = 0;
+               year = 0;
+               month = 0;
+               day = 0;
+               want_file = false;
+               eeprom_file = null;
+               eeprom_pending = new LinkedList<String>();
+
+               /* Set serial number in the monitor dialog window */
                monitor.set_serial(flights.config_data.serial);
                /* Now scan the eeprom, reading blocks of data and converting to .eeprom file form */