X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altosui%2FAltosEepromDownload.java;h=21b467401dce8dd6ddf7463488fc34f8a265d414;hb=84a144e8b479550406323bc3b2cf89026b770746;hp=080bfc99cfa94c4e248e5c18e86c7b55751a6f95;hpb=3c2f601139d36761de6a8a2210545d082ef16133;p=fw%2Faltos diff --git a/altosui/AltosEepromDownload.java b/altosui/AltosEepromDownload.java index 080bfc99..21b46740 100644 --- a/altosui/AltosEepromDownload.java +++ b/altosui/AltosEepromDownload.java @@ -17,20 +17,14 @@ package altosui; -import java.awt.*; import java.awt.event.*; import javax.swing.*; -import javax.swing.filechooser.FileNameExtensionFilter; -import javax.swing.table.*; import java.io.*; import java.util.*; import java.text.*; -import java.util.prefs.*; import java.util.concurrent.*; import org.altusmetrum.AltosLib.*; -import libaltosJNI.*; - public class AltosEepromDownload implements Runnable { JFrame frame; @@ -113,7 +107,7 @@ public class AltosEepromDownload implements Runnable { extension = "eeprom"; set_serial(flights.config_data.serial); - for (int i = 0; i < eechunk.chunk_size && !done; i += AltosEepromRecord.record_length) { + for (int i = 0; i < AltosEepromChunk.chunk_size && !done; i += AltosEepromRecord.record_length) { try { AltosEepromRecord r = new AltosEepromRecord(eechunk, i); if (r.cmd == Altos.AO_LOG_FLIGHT) @@ -134,7 +128,8 @@ public class AltosEepromDownload implements Runnable { } if (r.cmd == Altos.AO_LOG_STATE && r.a == Altos.ao_flight_landed) done = true; - any_valid = true; + if (r.cmd != AltosLib.AO_LOG_INVALID) + any_valid = true; Log(r); } catch (ParseException pe) { if (parse_exception == null) @@ -219,7 +214,7 @@ public class AltosEepromDownload implements Runnable { boolean any_valid = false; extension = "science"; - for (int i = 0; i < eechunk.chunk_size && !done; i += AltosEepromTeleScience.record_length) { + for (int i = 0; i < AltosEepromChunk.chunk_size && !done; i += AltosEepromTeleScience.record_length) { try { AltosEepromTeleScience r = new AltosEepromTeleScience(eechunk, i); if (r.type == AltosEepromTeleScience.AO_LOG_TELESCIENCE_START) { @@ -272,7 +267,7 @@ public class AltosEepromDownload implements Runnable { extension = "mega"; set_serial(flights.config_data.serial); - for (int i = 0; i < eechunk.chunk_size && !done; i += AltosEepromMega.record_length) { + for (int i = 0; i < AltosEepromChunk.chunk_size && !done; i += AltosEepromMega.record_length) { try { AltosEepromMega r = new AltosEepromMega(eechunk, i); if (r.cmd == Altos.AO_LOG_FLIGHT) @@ -288,7 +283,7 @@ public class AltosEepromDownload implements Runnable { if (r.cmd == Altos.AO_LOG_GPS_TIME) { year = 2000 + r.data8(14); month = r.data8(15); - day = r.data8(14); + day = r.data8(16); want_file = true; } @@ -319,11 +314,9 @@ public class AltosEepromDownload implements Runnable { done = false; start = true; -// if (flights.config_data.serial == 0) -// throw new IOException("no serial number found"); + if (flights.config_data.serial < 0) + throw new IOException("no serial number found"); - log_format = 5; - System.out.printf ("log format: %d\n", log_format); /* Reset per-capture variables */ flight = 0; year = 0; @@ -338,7 +331,7 @@ public class AltosEepromDownload implements Runnable { state = 0; state_block = log.start_block; for (block = log.start_block; !done && block < log.end_block; block++) { - monitor.set_value(Altos.state_to_string[state], state, block - state_block); + monitor.set_value(AltosLib.state_name(state), state, block - state_block); AltosEepromChunk eechunk = new AltosEepromChunk(serial_line, block, block == log.start_block); @@ -357,23 +350,23 @@ public class AltosEepromDownload implements Runnable { } switch (log_format) { - case Altos.AO_LOG_FORMAT_FULL: + case AltosLib.AO_LOG_FORMAT_FULL: extension = "eeprom"; CaptureFull(eechunk); break; - case Altos.AO_LOG_FORMAT_TINY: + case AltosLib.AO_LOG_FORMAT_TINY: extension = "eeprom"; CaptureTiny(eechunk); break; - case Altos.AO_LOG_FORMAT_TELEMETRY: + case AltosLib.AO_LOG_FORMAT_TELEMETRY: extension = "telem"; CaptureTelemetry(eechunk); break; - case Altos.AO_LOG_FORMAT_TELESCIENCE: + case AltosLib.AO_LOG_FORMAT_TELESCIENCE: extension = "science"; CaptureTeleScience(eechunk); break; - case Altos.AO_LOG_FORMAT_MEGAMETRUM: + case AltosLib.AO_LOG_FORMAT_MEGAMETRUM: extension = "mega"; CaptureMega(eechunk); }