projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Revert "altos: Write current flight state to GPS data from GPS drivers"
[fw/altos]
/
src
/
kernel
/
ao_distance.c
diff --git
a/src/kernel/ao_distance.c
b/src/kernel/ao_distance.c
index ba7d59fea6c1ea44c2afc1a75e3ec090a7ac4515..5654182aa733e71a4005090e86c352974f2abe7a 100644
(file)
--- a/
src/kernel/ao_distance.c
+++ b/
src/kernel/ao_distance.c
@@
-24,6
+24,7
@@
ao_dist(int32_t a, int32_t b)
int32_t d = a - b;
if (d < 0)
d = -d;
int32_t d = a - b;
if (d < 0)
d = -d;
+
return (uint32_t) ((int64_t) d * 111198 / 10000000);
}
return (uint32_t) ((int64_t) d * 111198 / 10000000);
}
@@
-98,7
+99,7
@@
ao_lon_dist(int32_t lon_a, int32_t lon_b)
uint32_t lon_dist;
/* check if it's shorter to go the other way around */
uint32_t lon_dist;
/* check if it's shorter to go the other way around */
- if (
lon_a < lon_b - 1800000000
)
+ if (
(lon_a >> 1) < (lon_b >> 1) - (1800000000 >> 1)
)
lon_a += 3600000000;
lon_dist = ao_dist(lon_a, lon_b);
if (c) {
lon_a += 3600000000;
lon_dist = ao_dist(lon_a, lon_b);
if (c) {