projects
/
fw
/
altos
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge branch 'master' of ssh://git.gag.com/scm/git/fw/altos
[fw/altos]
/
src
/
kernel
/
ao_convert_pa.c
diff --git
a/src/kernel/ao_convert_pa.c
b/src/kernel/ao_convert_pa.c
index 8ae0e7c93bcedd95d90e8e4f3db299c0be09e3ae..44b3d745f8ee7de3bf2bef660ff891f0d0969b05 100644
(file)
--- a/
src/kernel/ao_convert_pa.c
+++ b/
src/kernel/ao_convert_pa.c
@@
-42,7
+42,7
@@
static const alt_t altitude_table[] AO_CONST_ATTRIB = {
alt_t
ao_pa_to_altitude(pres_t pa)
{
alt_t
ao_pa_to_altitude(pres_t pa)
{
- int16_t o;
+
u
int16_t o;
int16_t part;
alt_t low, high;
int16_t part;
alt_t low, high;
@@
-50,12
+50,12
@@
ao_pa_to_altitude(pres_t pa)
pa = 0;
if (pa > 120000L)
pa = 120000L;
pa = 0;
if (pa > 120000L)
pa = 120000L;
- o =
pa >> ALT_SHIFT
;
+ o =
(uint16_t) (pa >> ALT_SHIFT)
;
part = pa & ALT_MASK;
low = (alt_t) FETCH_ALT(o) * (ALT_SCALE - part);
part = pa & ALT_MASK;
low = (alt_t) FETCH_ALT(o) * (ALT_SCALE - part);
- high = (alt_t) FETCH_ALT(o+1) * part
+ (ALT_SCALE >> 1)
;
- return (low + high) >> ALT_SHIFT;
+ high = (alt_t) FETCH_ALT(o+1) * part;
+ return (low + high
+ (ALT_SCALE >> 1)
) >> ALT_SHIFT;
}
#ifdef AO_CONVERT_TEST
}
#ifdef AO_CONVERT_TEST