projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Avoid 16-bit overflow in velocity computation.
[fw/altos]
/
ao_flight.c
diff --git
a/ao_flight.c
b/ao_flight.c
index 3e747d0668f02399c0d3ec15850d38e36dead71a..51b2cd5eff138d8ff937f2fc3917ca4ca7aa0820 100644
(file)
--- a/
ao_flight.c
+++ b/
ao_flight.c
@@
-170,7
+170,7
@@
ao_flight(void)
* so subtract instead of add.
*/
ticks = ao_flight_tick - ao_flight_prev_tick;
* so subtract instead of add.
*/
ticks = ao_flight_tick - ao_flight_prev_tick;
- ao_vel_change = (((ao_raw_accel
+ ao_raw_accel_prev) >> 1
) - ao_ground_accel);
+ ao_vel_change = (((ao_raw_accel
>> 1) + (ao_raw_accel_prev >> 1)
) - ao_ground_accel);
ao_raw_accel_prev = ao_raw_accel;
/* one is a common interval */
ao_raw_accel_prev = ao_raw_accel;
/* one is a common interval */