projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/altosui: Report log format in the version command
[fw/altos]
/
altosui
/
AltosEepromDownload.java
diff --git
a/altosui/AltosEepromDownload.java
b/altosui/AltosEepromDownload.java
index 3dd5b12f4794d15dacd38e59274757d27807226e..417aab000f25158489ccc7255145117824029973 100644
(file)
--- a/
altosui/AltosEepromDownload.java
+++ b/
altosui/AltosEepromDownload.java
@@
-89,9
+89,6
@@
public class AltosEepromDownload implements Runnable {
}
}
}
}
- static final int log_full = 1;
- static final int log_tiny = 2;
-
boolean done;
int state;
boolean done;
int state;
@@
-159,6
+156,7
@@
public class AltosEepromDownload implements Runnable {
r = new AltosEepromRecord(Altos.AO_LOG_STATE, tiny_tick, state, 0);
if (state == Altos.ao_flight_landed)
done = true;
r = new AltosEepromRecord(Altos.AO_LOG_STATE, tiny_tick, state, 0);
if (state == Altos.ao_flight_landed)
done = true;
+ state = s;
any_valid = true;
} else {
if (v != 0xffff)
any_valid = true;
} else {
if (v != 0xffff)
@@
-185,7
+183,7
@@
public class AltosEepromDownload implements Runnable {
void CaptureLog(AltosEepromLog log) throws IOException, InterruptedException, TimeoutException {
int block, state_block = 0;
void CaptureLog(AltosEepromLog log) throws IOException, InterruptedException, TimeoutException {
int block, state_block = 0;
- int log_
style = 0
;
+ int log_
format = flights.config_data.log_format
;
state = 0;
done = false;
state = 0;
done = false;
@@
-214,21
+212,24
@@
public class AltosEepromDownload implements Runnable {
AltosEepromChunk eechunk = new AltosEepromChunk(serial_line, block);
/*
AltosEepromChunk eechunk = new AltosEepromChunk(serial_line, block);
/*
- * Figure out what kind of data is there
+ * Guess what kind of data is there if the device
+ * didn't tell us
*/
*/
- if (block == log.start_block) {
- if (eechunk.data(0) == Altos.AO_LOG_FLIGHT)
- log_style = log_full;
- else
- log_style = log_tiny;
+ if (log_format == Altos.AO_LOG_FORMAT_UNKNOWN) {
+ if (block == log.start_block) {
+ if (eechunk.data(0) == Altos.AO_LOG_FLIGHT)
+ log_format = Altos.AO_LOG_FORMAT_FULL;
+ else
+ log_format = Altos.AO_LOG_FORMAT_TINY;
+ }
}
}
- switch (log_
style
) {
- case
log_full
:
+ switch (log_
format
) {
+ case
Altos.AO_LOG_FORMAT_FULL
:
CaptureFull(eechunk);
break;
CaptureFull(eechunk);
break;
- case
log_tiny
:
+ case
Altos.AO_LOG_FORMAT_TINY
:
CaptureTiny(eechunk);
break;
}
CaptureTiny(eechunk);
break;
}
@@
-263,11
+264,11
@@
public class AltosEepromDownload implements Runnable {
}
public void run () {
}
public void run () {
- if (remote)
- serial_line.start_remote();
-
try {
boolean failed = false;
try {
boolean failed = false;
+ if (remote)
+ serial_line.start_remote();
+
for (AltosEepromLog log : flights) {
parse_exception = null;
if (log.download) {
for (AltosEepromLog log : flights) {
parse_exception = null;
if (log.download) {
@@
-294,11
+295,12
@@
public class AltosEepromDownload implements Runnable {
serial_line.device.toShortString()),
"Connection Failed",
JOptionPane.ERROR_MESSAGE);
serial_line.device.toShortString()),
"Connection Failed",
JOptionPane.ERROR_MESSAGE);
+ } finally {
+ if (remote)
+ serial_line.stop_remote();
+ serial_line.flush_output();
}
}
- if (remote)
- serial_line.stop_remote();
monitor.done();
monitor.done();
- serial_line.flush_output();
if (listener != null) {
Runnable r = new Runnable() {
public void run() {
if (listener != null) {
Runnable r = new Runnable() {
public void run() {