projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos/ao_storage: allow erased byte value to be set by application
[fw/altos]
/
altoslib
/
AltosTelemetryFile.java
diff --git
a/altoslib/AltosTelemetryFile.java
b/altoslib/AltosTelemetryFile.java
index 40b9c9bfb85f1f25487112bae905f342bf197a7d..052b0fbad247c1af1b52b6134a9eeb839346dfec 100644
(file)
--- a/
altoslib/AltosTelemetryFile.java
+++ b/
altoslib/AltosTelemetryFile.java
@@
-16,7
+16,7
@@
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
*/
-package org.altusmetrum.altoslib_1
1
;
+package org.altusmetrum.altoslib_1
4
;
import java.io.*;
import java.util.*;
import java.io.*;
import java.util.*;
@@
-52,6
+52,8
@@
class AltosTelemetryNullListener extends AltosDataListener {
public boolean cal_data_complete() {
/* All telemetry packets */
public boolean cal_data_complete() {
/* All telemetry packets */
+ AltosCalData cal_data = cal_data();
+
if (cal_data.serial == AltosLib.MISSING)
return false;
if (cal_data.serial == AltosLib.MISSING)
return false;
@@
-93,6
+95,7
@@
public class AltosTelemetryFile implements AltosRecordSet {
AltosTelemetryIterable telems;
AltosCalData cal_data;
AltosTelemetryIterable telems;
AltosCalData cal_data;
+ int first_state;
public void write_comments(PrintStream out) {
}
public void write_comments(PrintStream out) {
}
@@
-106,8
+109,11
@@
public class AltosTelemetryFile implements AltosRecordSet {
cal_data = new AltosCalData();
AltosTelemetryNullListener l = new AltosTelemetryNullListener(cal_data);
cal_data = new AltosCalData();
AltosTelemetryNullListener l = new AltosTelemetryNullListener(cal_data);
+ first_state = AltosLib.ao_flight_startup;
for (AltosTelemetry telem : telems) {
for (AltosTelemetry telem : telems) {
- telem.provide_data(l, cal_data);
+ telem.provide_data(l);
+ if (cal_data.state == AltosLib.ao_flight_pad)
+ first_state = cal_data.state;
if (l.cal_data_complete())
break;
}
if (l.cal_data_complete())
break;
}
@@
-115,21
+121,23
@@
public class AltosTelemetryFile implements AltosRecordSet {
return cal_data;
}
return cal_data;
}
- public void capture_series(AltosDataListener listener) {
- AltosCalData cal_data = cal_data();
+ public boolean valid() {
+ return true;
+ }
+ public void capture_series(AltosDataListener listener) {
+ cal_data();
+ cal_data.reset();
+ cal_data.state = first_state;
for (AltosTelemetry telem : telems) {
for (AltosTelemetry telem : telems) {
- int tick = telem.tick();
- cal_data.set_tick(tick);
- if (cal_data.time() >= -1)
- telem.provide_data(listener, cal_data);
- if (listener.state == AltosLib.ao_flight_landed)
+ telem.provide_data(listener);
+ if (listener.state() == AltosLib.ao_flight_landed)
break;
}
listener.finish();
}
break;
}
listener.finish();
}
- public AltosTelemetryFile(FileInputStream input) {
+ public AltosTelemetryFile(FileInputStream input)
throws IOException
{
telems = new AltosTelemetryIterable(input);
}
}
telems = new AltosTelemetryIterable(input);
}
}