projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altosui: When computing flight stats, auto-detect boost time
[fw/altos]
/
altosui
/
AltosEepromIterable.java
diff --git
a/altosui/AltosEepromIterable.java
b/altosui/AltosEepromIterable.java
index 812e5fc616ff03a2ac863b9dd01114fc1a12602f..6fdaf8e04949cf6b85319647ad049acacabdc7fd 100644
(file)
--- a/
altosui/AltosEepromIterable.java
+++ b/
altosui/AltosEepromIterable.java
@@
-99,6
+99,7
@@
public class AltosEepromIterable extends AltosRecordIterable {
double ground_pres;
int gps_tick;
int boost_tick;
double ground_pres;
int gps_tick;
int boost_tick;
+ int sensor_tick;
EepromState() {
seen = 0;
EepromState() {
seen = 0;
@@
-128,10
+129,13
@@
public class AltosEepromIterable extends AltosRecordIterable {
state.flight_pres = state.ground_pres;
} else {
state.flight_pres = (state.flight_pres * 15 + state.pres) / 16;
state.flight_pres = state.ground_pres;
} else {
state.flight_pres = (state.flight_pres * 15 + state.pres) / 16;
- state.flight_accel = (state.flight_accel * 15 + state.accel) / 16;
- state.flight_vel += (state.accel_plus_g - state.accel);
}
}
+ state.flight_accel = (state.flight_accel * 15 + state.accel) / 16;
+ if ((eeprom.seen & seen_sensor) == 0)
+ eeprom.sensor_tick = record.tick - 1;
+ state.flight_vel += (state.accel_plus_g - state.accel) * (record.tick - eeprom.sensor_tick);
eeprom.seen |= seen_sensor;
eeprom.seen |= seen_sensor;
+ eeprom.sensor_tick = record.tick;
has_accel = true;
break;
case Altos.AO_LOG_PRESSURE:
has_accel = true;
break;
case Altos.AO_LOG_PRESSURE:
@@
-177,6
+181,7
@@
public class AltosEepromIterable extends AltosRecordIterable {
state.gps.locked = (flags & Altos.AO_GPS_VALID) != 0;
state.gps.nsat = (flags & Altos.AO_GPS_NUM_SAT_MASK) >>
Altos.AO_GPS_NUM_SAT_SHIFT;
state.gps.locked = (flags & Altos.AO_GPS_VALID) != 0;
state.gps.nsat = (flags & Altos.AO_GPS_NUM_SAT_MASK) >>
Altos.AO_GPS_NUM_SAT_SHIFT;
+ state.new_gps = true;
has_gps = true;
break;
case Altos.AO_LOG_GPS_LAT:
has_gps = true;
break;
case Altos.AO_LOG_GPS_LAT: