summaryrefslogtreecommitdiff
path: root/src/micropeak
diff options
context:
space:
mode:
Diffstat (limited to 'src/micropeak')
-rw-r--r--src/micropeak/ao_pins.h3
-rw-r--r--src/micropeak/ao_report_tiny.c4
2 files changed, 4 insertions, 3 deletions
diff --git a/src/micropeak/ao_pins.h b/src/micropeak/ao_pins.h
index 257b8694..63e9cb1b 100644
--- a/src/micropeak/ao_pins.h
+++ b/src/micropeak/ao_pins.h
@@ -57,8 +57,9 @@
#define I2C_PIN_SDA PINB0
#define AO_CONST_ATTRIB PROGMEM
+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_ */
diff --git a/src/micropeak/ao_report_tiny.c b/src/micropeak/ao_report_tiny.c
index 109af1ed..bdcc131e 100644
--- a/src/micropeak/ao_report_tiny.c
+++ b/src/micropeak/ao_report_tiny.c
@@ -38,8 +38,8 @@ ao_report_digit(uint8_t digit) __reentrant
void
ao_report_altitude(void)
{
- __pdata int16_t agl = ao_max_height;
- __xdata uint8_t digits[10];
+ __pdata alt_t agl = ao_max_height;
+ static __xdata uint8_t digits[11];
__pdata uint8_t ndigits, i;
if (agl < 0)