projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Add STM USB driver
[fw/altos]
/
altosui
/
AltosEepromIterable.java
diff --git
a/altosui/AltosEepromIterable.java
b/altosui/AltosEepromIterable.java
index 624e1dd31bb7c1645a4f3d8f098db2df6f2e0edd..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,14
+129,22
@@
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;
has_accel = true;
break;
- case Altos.AO_LOG_HEIGHT:
- state.height = (short) record.a;
+ case Altos.AO_LOG_PRESSURE:
+ state.pres = record.b;
+ state.flight_pres = state.pres;
+ if (eeprom.n_pad_samples == 0) {
+ eeprom.n_pad_samples++;
+ state.ground_pres = state.pres;
+ }
eeprom.seen |= seen_sensor;
break;
case Altos.AO_LOG_TEMP_VOLT:
eeprom.seen |= seen_sensor;
break;
case Altos.AO_LOG_TEMP_VOLT:
@@
-172,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:
@@
-225,6
+235,7
@@
public class AltosEepromIterable extends AltosRecordIterable {
case Altos.AO_LOG_SOFTWARE_VERSION:
break;
}
case Altos.AO_LOG_SOFTWARE_VERSION:
break;
}
+ state.seen |= eeprom.seen;
}
LinkedList<AltosRecord> make_list() {
}
LinkedList<AltosRecord> make_list() {