summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/core/ao_convert_pa.c8
-rw-r--r--src/micropeak/ao_pins.h2
2 files changed, 5 insertions, 5 deletions
diff --git a/src/core/ao_convert_pa.c b/src/core/ao_convert_pa.c
index 55fe6e7d..fe6e0ef6 100644
--- a/src/core/ao_convert_pa.c
+++ b/src/core/ao_convert_pa.c
@@ -43,13 +43,13 @@ ao_pa_to_altitude(int32_t pa)
if (pa < 0)
pa = 0;
- if (pa > 120000)
- pa = 120000;
+ if (pa > 120000L)
+ pa = 120000L;
o = pa >> ALT_SHIFT;
part = pa & ALT_MASK;
- low = (alt_t) FETCH_ALT(o) * (ALT_SCALE - part);
- high = (alt_t) FETCH_ALT(o+1) * part + (ALT_SCALE >> 1);
+ low = (int32_t) FETCH_ALT(o) * (ALT_SCALE - part);
+ high = (int32_t) FETCH_ALT(o+1) * part + (ALT_SCALE >> 1);
return (low + high) >> ALT_SHIFT;
}
diff --git a/src/micropeak/ao_pins.h b/src/micropeak/ao_pins.h
index 187b2544..63e9cb1b 100644
--- a/src/micropeak/ao_pins.h
+++ b/src/micropeak/ao_pins.h
@@ -60,6 +60,6 @@
typedef int32_t alt_t;
#define FETCH_ALT(o) ((alt_t) pgm_read_dword(&altitude_table[o]))
-#define AO_ALT_VALUE(x) ((x) * 10)
+#define AO_ALT_VALUE(x) ((x) * (alt_t) 10)
#endif /* _AO_PINS_H_ */