/* Give the person a second to get their finger out of the way */
ao_delay(AO_MS_TO_TICKS(1000));
- ao_pips();
-
ao_log_micro_restore();
ao_compute_height();
ao_report_altitude();
+
+ ao_pips();
+
ao_log_micro_dump();
#if BOOST_DELAY
ao_compute_height();
ao_report_altitude();
+ ao_sleep_mode();
ao_sleep(&ao_on_battery);
}
void
main(void)
{
+ int i;
+
+ for (i = 0; i < 100000; i++)
+ ao_arch_nop();
+
if (ao_battery_voltage() < 320)
ao_on_battery = 1;
ao_timer_init();
ao_serial_init();
stm_moder_set(&stm_gpioa, 2, STM_MODER_OUTPUT);
-
ao_dma_init();
ao_spi_init();
ao_exti_init();
- /* Leave USB disabled on battery */
- if (!ao_on_battery) {
- ao_usb_init();
- ao_cmd_init();
- }
-
ao_ms5607_init();
-
ao_storage_init();
- ao_add_task(&mp_task, ao_micropeak, "micropeak");
- ao_cmd_register(mp_cmd);
+ if (ao_on_battery) {
+ /* On battery power, run the flight code */
+ ao_add_task(&mp_task, ao_micropeak, "micropeak");
+ } else {
+ /* otherwise, turn on USB and run the command processor */
+ ao_usb_init();
+ ao_cmd_init();
+ ao_cmd_register(mp_cmd);
+ }
ao_start_scheduler();
}