Force idle mode by shorting the SPI clock to ground at boot time.
[fw/altos] / src / ao_telemetrum.c
index a680ce19675180b0377887b33e0609d82169f5d8..89743837c6daf81eaf6571b21e0187d2d4dd3e92 100644 (file)
 
 #include "ao.h"
 
+/* stub so as telemetrum doesn't have monitor mode */
+void
+ao_set_monitor(uint8_t monitoring)
+{
+       (void) monitoring;
+}
+
 void
 main(void)
 {
-       CLKCON = 0;
-       while (!(SLEEP & SLEEP_XOSC_STB))
-               ;
+       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(AO_LED_RED);
        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();
@@ -42,8 +57,8 @@ main(void)
        ao_gps_report_init();
        ao_telemetry_init();
        ao_radio_init();
+       ao_packet_slave_init();
        ao_igniter_init();
-       ao_dbg_init();
        ao_config_init();
        ao_start_scheduler();
 }