X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fmicropeak-v2.0%2Fao_micropeak.c;h=7ba5cb950c240b0084cc22d3b0cb5f908471ee3e;hp=1cfa1209df781ffe788dd00511a4c9a67e7cb110;hb=8ec178bbc3babb072b8d53975632cf6294626e98;hpb=217d77dadbef4192d2f32e290a5c5f50159f2e0d diff --git a/src/micropeak-v2.0/ao_micropeak.c b/src/micropeak-v2.0/ao_micropeak.c index 1cfa1209..7ba5cb95 100644 --- a/src/micropeak-v2.0/ao_micropeak.c +++ b/src/micropeak-v2.0/ao_micropeak.c @@ -243,6 +243,11 @@ ao_hsi_init(void) void main(void) { + int i; + + for (i = 0; i < 100000; i++) + ao_arch_nop(); + if (ao_battery_voltage() < 320) ao_on_battery = 1; @@ -252,27 +257,26 @@ main(void) else ao_hsi_init(); - ao_led_init(LEDS_AVAILABLE); + ao_led_init(); ao_task_init(); 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(); }