X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_report.c;h=3cf558e1d97ff9d72018fe0f14167f2c6702d9e1;hp=4646fb0982d02258f286ac44a317e89e024c3882;hb=82e04a0e3a3296288a524ec582785a36fd644331;hpb=f8afc2641c779fc312a42a6358187d8716ebe61a diff --git a/src/ao_report.c b/src/ao_report.c index 4646fb09..3cf558e1 100644 --- a/src/ao_report.c +++ b/src/ao_report.c @@ -48,7 +48,7 @@ static const uint8_t flight_reports[] = { #endif #define pause(time) ao_delay(time) -static __xdata enum ao_flight_state ao_report_state; +static __pdata enum ao_flight_state ao_report_state; static void ao_report_beep(void) __reentrant @@ -78,7 +78,7 @@ ao_report_digit(uint8_t digit) __reentrant } else { while (digit--) { mid(AO_MS_TO_TICKS(200)); - mid(AO_MS_TO_TICKS(200)); + pause(AO_MS_TO_TICKS(200)); } } pause(AO_MS_TO_TICKS(300)); @@ -87,9 +87,9 @@ ao_report_digit(uint8_t digit) __reentrant static void ao_report_altitude(void) { - __xdata int16_t agl = ao_pres_to_altitude(ao_min_pres) - ao_pres_to_altitude(ao_ground_pres); + __pdata int16_t agl = ao_max_height; __xdata uint8_t digits[10]; - __xdata uint8_t ndigits, i; + __pdata uint8_t ndigits, i; if (agl < 0) agl = 0; @@ -109,6 +109,7 @@ ao_report_altitude(void) } } +#if HAS_IGNITE static uint8_t ao_report_igniter_ready(enum ao_igniter igniter) { @@ -146,6 +147,7 @@ ao_report_continuity(void) __reentrant while (c-- && ao_flight_state == ao_flight_pad) pause(AO_MS_TO_TICKS(100)); } +#endif void ao_report(void) @@ -155,10 +157,12 @@ ao_report(void) if (ao_flight_state == ao_flight_landed) ao_report_altitude(); ao_report_beep(); +#if HAS_IGNITE if (ao_flight_state == ao_flight_idle) ao_report_continuity(); while (ao_flight_state == ao_flight_pad) ao_report_continuity(); +#endif __critical { while (ao_report_state == ao_flight_state) ao_sleep(DATA_TO_XDATA(&ao_flight_state));