projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altoslib: Add constants for speed/accel filtering
[fw/altos]
/
altoslib
/
AltosTelemetryReader.java
diff --git
a/altoslib/AltosTelemetryReader.java
b/altoslib/AltosTelemetryReader.java
index 6a93c2c3f262ad5bce24b5fe0dde0f028be0fff4..1020efb0f1f4ffc0d1cbeaccd45a904e58297483 100644
(file)
--- a/
altoslib/AltosTelemetryReader.java
+++ b/
altoslib/AltosTelemetryReader.java
@@
-23,12
+23,13
@@
import java.io.*;
import java.util.concurrent.*;
public class AltosTelemetryReader extends AltosFlightReader {
import java.util.concurrent.*;
public class AltosTelemetryReader extends AltosFlightReader {
- AltosLink link;
- AltosLog log;
- double frequency;
- int telemetry;
- int telemetry_rate;
- AltosState state = null;
+ AltosLink link;
+ AltosLog log;
+ double frequency;
+ int telemetry;
+ int telemetry_rate;
+ private AltosState state = null;
+ private AltosCalData cal_data = null;
LinkedBlockingQueue<AltosLine> telem;
LinkedBlockingQueue<AltosLine> telem;
@@
-40,14
+41,22
@@
public class AltosTelemetryReader extends AltosFlightReader {
throw new IOException("IO error");
} while (!link.get_monitor());
AltosTelemetry telem = AltosTelemetry.parse(l.line);
throw new IOException("IO error");
} while (!link.get_monitor());
AltosTelemetry telem = AltosTelemetry.parse(l.line);
- if (state == null)
-
state = new AltosState(
);
- else
- state = state.clone();
- telem.
update_state(state
);
+ if (state == null)
{
+
System.out.printf("Make state\n"
);
+ state = new AltosState(cal_data());
+ }
+ telem.
provide_data(state, state.cal_data
);
return state;
}
return state;
}
+ public AltosCalData cal_data() {
+ if (cal_data == null) {
+ System.out.printf("Make cal data\n");
+ cal_data = new AltosCalData();
+ }
+ return cal_data;
+ }
+
public void flush() {
telem.clear();
}
public void flush() {
telem.clear();
}
@@
-55,6
+64,7
@@
public class AltosTelemetryReader extends AltosFlightReader {
public void reset() {
flush();
state = null;
public void reset() {
flush();
state = null;
+ cal_data = null;
}
public void close(boolean interrupted) {
}
public void close(boolean interrupted) {