changes in preparation for upload to Debian
[fw/altos] / src / ao_telemetrum.c
index 1dbacf8991b3937bca2366b7c0b64f3512d59375..f560740a455eb26484234478246063389c172c39 100644 (file)
  */
 
 #include "ao.h"
+#include "ao_pins.h"
 
 void
 main(void)
 {
+       /*
+        * 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();
@@ -40,7 +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();
 }