X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_telemetrum.c;h=f560740a455eb26484234478246063389c172c39;hp=a680ce19675180b0377887b33e0609d82169f5d8;hb=a7ee1049519bf46b3864666999249876009fc3bf;hpb=210dbaa23cdacf3a6f2d6e23493e96ee2ac9bca7 diff --git a/src/ao_telemetrum.c b/src/ao_telemetrum.c index a680ce19..f560740a 100644 --- a/src/ao_telemetrum.c +++ b/src/ao_telemetrum.c @@ -16,23 +16,38 @@ */ #include "ao.h" +#include "ao_pins.h" void main(void) { - CLKCON = 0; - while (!(SLEEP & SLEEP_XOSC_STB)) - ; + /* + * Reduce the transient on the ignite pins at startup by + * pulling the pins low as soon as possible at power up + */ + ao_ignite_set_pins(); + + ao_clock_init(); /* Turn on the red LED until the system is stable */ - ao_led_init(AO_LED_RED|AO_LED_GREEN); + ao_led_init(LEDS_AVAILABLE); ao_led_on(AO_LED_RED); + /* A hack -- look at the SPI clock pin, if it's sitting at + * ground, then we force the computer to idle mode instead of + * flight mode + */ + if (P1_3 == 0) { + ao_flight_force_idle = 1; + while (P1_3 == 0) + ; + } ao_timer_init(); ao_adc_init(); ao_beep_init(); ao_cmd_init(); - ao_ee_init(); + ao_spi_init(); + ao_storage_init(); ao_flight_init(); ao_log_init(); ao_report_init(); @@ -42,8 +57,14 @@ main(void) ao_gps_report_init(); ao_telemetry_init(); ao_radio_init(); + ao_packet_slave_init(TRUE); ao_igniter_init(); +#if HAS_DBG ao_dbg_init(); +#endif +#if HAS_COMPANION + ao_companion_init(); +#endif ao_config_init(); ao_start_scheduler(); }