altos: Pull igniter pins low as soon as possible at boot time
[fw/altos] / src / ao_telemetrum.c
index 89743837c6daf81eaf6571b21e0187d2d4dd3e92..d9ea1fc8c5c91e475b3d511aa71697ac64027a6e 100644 (file)
@@ -16,6 +16,7 @@
  */
 
 #include "ao.h"
+#include "ao_pins.h"
 
 /* stub so as telemetrum doesn't have monitor mode */
 void
@@ -27,11 +28,16 @@ ao_set_monitor(uint8_t monitoring)
 void
 main(void)
 {
-       ao_clock_init();
+       /*
+        * 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_init(LEDS_AVAILABLE);
        ao_led_on(AO_LED_RED);
 
        /* A hack -- look at the SPI clock pin, if it's sitting at
@@ -47,7 +53,8 @@ main(void)
        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();
@@ -57,8 +64,11 @@ main(void)
        ao_gps_report_init();
        ao_telemetry_init();
        ao_radio_init();
-       ao_packet_slave_init();
+       ao_packet_slave_init(TRUE);
        ao_igniter_init();
+#if HAS_DBG
+       ao_dbg_init();
+#endif
        ao_config_init();
        ao_start_scheduler();
 }