altos: Support negative decimal values on command line
[fw/altos] / src / kernel / ao_ignite.c
index 692460d0c0feefd3a7f7da5904324d3dbd4beeff..e4e4843e1cb8383ba1597699988fc0c67a57bf6f 100644 (file)
@@ -127,6 +127,12 @@ ao_igniter(void)
                                ao_igniter_fire(ao_igniter_main);
                        }
                        break;
+               case AO_IGNITE_MODE_BOOSTER:
+                       if (ao_flight_fast <= ao_flight_state && ao_flight_state < ao_flight_landed)
+                               ao_igniter_fire(ao_igniter_main);
+                       if (ao_flight_drogue <= ao_flight_state && ao_flight_state < ao_flight_landed)
+                               ao_igniter_fire(ao_igniter_drogue);
+                       break;
                }
        }
 }
@@ -142,10 +148,12 @@ ao_ignite_manual(void)
        ao_cmd_white();
 #if HAS_IGNITE
        if (ao_cmd_lex_c == 'm' && ao_match_word("main")) {
+               ao_ignition[ao_igniter_main].fired = 0;
                ao_igniter_fire(ao_igniter_main);
                return;
        }
        if (ao_cmd_lex_c == 'd' && ao_match_word("drogue")) {
+               ao_ignition[ao_igniter_drogue].fired = 0;
                ao_igniter_fire(ao_igniter_drogue);
                return;
        }