projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
altos: Fix distance/bearing computations. Deal with large values
[fw/altos]
/
altosui
/
AltosState.java
diff --git
a/altosui/AltosState.java
b/altosui/AltosState.java
index 378930bf4993856464edbf42ba02c7dd419c9d90..3d8e5e120d184d178e8295d0049ef5c51607bc4a 100644
(file)
--- a/
altosui/AltosState.java
+++ b/
altosui/AltosState.java
@@
-35,6
+35,7
@@
public class AltosState {
int state;
boolean landed;
boolean ascent; /* going up? */
int state;
boolean landed;
boolean ascent; /* going up? */
+ boolean boost; /* under power */
double ground_altitude;
double height;
double ground_altitude;
double height;
@@
-73,7
+74,6
@@
public class AltosState {
int speak_tick;
double speak_altitude;
int speak_tick;
double speak_altitude;
-
void init (AltosRecord cur, AltosState prev_state) {
int i;
AltosRecord prev;
void init (AltosRecord cur, AltosState prev_state) {
int i;
AltosRecord prev;
@@
-167,13
+167,14
@@
public class AltosState {
ascent = (Altos.ao_flight_boost <= state &&
state <= Altos.ao_flight_coast);
ascent = (Altos.ao_flight_boost <= state &&
state <= Altos.ao_flight_coast);
+ boost = (Altos.ao_flight_boost == state);
- /* Only look at accelerometer data
on the way up
*/
- if (
ascen
t && acceleration > max_acceleration)
+ /* Only look at accelerometer data
under boost
*/
+ if (
boos
t && acceleration > max_acceleration)
max_acceleration = acceleration;
max_acceleration = acceleration;
- if (
ascen
t && speed > max_speed)
+ if (
boos
t && speed > max_speed)
max_speed = speed;
max_speed = speed;
- if (
ascen
t && baro_speed > max_baro_speed)
+ if (
boos
t && baro_speed > max_baro_speed)
max_baro_speed = baro_speed;
if (height > max_height)
max_baro_speed = baro_speed;
if (height > max_height)