X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fmicropeak-v2.0%2Fao_micropeak.c;h=7ba5cb950c240b0084cc22d3b0cb5f908471ee3e;hp=df557e60f1b9168e42e9afe2cb247e25fbe25f23;hb=8ec178bbc3babb072b8d53975632cf6294626e98;hpb=2cdb1f30c49ba460b0850d23ba9c85e0336af290 diff --git a/src/micropeak-v2.0/ao_micropeak.c b/src/micropeak-v2.0/ao_micropeak.c index df557e60..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; @@ -257,22 +262,21 @@ main(void) 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(); }