projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos]
/
altosui
/
AltosFlightStats.java
diff --git
a/altosui/AltosFlightStats.java
b/altosui/AltosFlightStats.java
index 7f0c9adba49e0c4f6b44dde0a2741b7280925d36..dee31a8d3bcf6f8d3005803b110ead9cb6595236 100644
(file)
--- a/
altosui/AltosFlightStats.java
+++ b/
altosui/AltosFlightStats.java
@@
-36,6
+36,9
@@
public class AltosFlightStats {
int hour, minute, second;
double lat, lon;
double pad_lat, pad_lon;
int hour, minute, second;
double lat, lon;
double pad_lat, pad_lon;
+ boolean has_gps;
+ boolean has_other_adc;
+ boolean has_rssi;
double landed_time(AltosRecordIterable iterable) {
AltosState state = null;
double landed_time(AltosRecordIterable iterable) {
AltosState state = null;
@@
-101,11
+104,18
@@
public class AltosFlightStats {
hour = minute = second = -1;
serial = flight = -1;
lat = lon = -1;
hour = minute = second = -1;
serial = flight = -1;
lat = lon = -1;
+ has_gps = false;
+ has_other_adc = false;
+ has_rssi = false;
for (AltosRecord record : iterable) {
if (serial < 0)
serial = record.serial;
if ((record.seen & AltosRecord.seen_flight) != 0 && flight < 0)
flight = record.flight;
for (AltosRecord record : iterable) {
if (serial < 0)
serial = record.serial;
if ((record.seen & AltosRecord.seen_flight) != 0 && flight < 0)
flight = record.flight;
+ if ((record.seen & AltosRecord.seen_temp_volt) != 0)
+ has_other_adc = true;
+ if (record.rssi != 0)
+ has_rssi = true;
new_state = new AltosState(record, state);
end_time = new_state.time;
state = new_state;
new_state = new AltosState(record, state);
end_time = new_state.time;
state = new_state;
@@
-140,13
+150,14
@@
public class AltosFlightStats {
max_speed = state.max_baro_speed;
max_acceleration = state.max_acceleration;
}
max_speed = state.max_baro_speed;
max_acceleration = state.max_acceleration;
}
- if (state.gps.locked && state.gps.nsat >= 4) {
+ if (state.gps
!= null && state.gps
.locked && state.gps.nsat >= 4) {
if (state.state <= Altos.ao_flight_pad) {
pad_lat = state.gps.lat;
pad_lon = state.gps.lon;
}
lat = state.gps.lat;
lon = state.gps.lon;
if (state.state <= Altos.ao_flight_pad) {
pad_lat = state.gps.lat;
pad_lon = state.gps.lon;
}
lat = state.gps.lat;
lon = state.gps.lon;
+ has_gps = true;
}
}
for (int s = Altos.ao_flight_startup; s <= Altos.ao_flight_landed; s++) {
}
}
for (int s = Altos.ao_flight_startup; s <= Altos.ao_flight_landed; s++) {