Merge remote-tracking branch 'origin/simple-quiet' into multiarch
[fw/altos] / src / cc1111 / ao_ignite.c
index 0fd2b4bff389396a6cae1318512da2b23f729e6b..dd5290881e7af443539ac1b210a1d37108274be6 100644 (file)
 
 #include "ao.h"
 
-#if IGNITE_ON_P2
-#define AO_IGNITER_DROGUE      P2_3
-#define AO_IGNITER_MAIN                P2_4
-#define AO_IGNITER_DIR         P2DIR
-#define AO_IGNITER_DROGUE_BIT  (1 << 3)
-#define AO_IGNITER_MAIN_BIT    (1 << 4)
-#endif
-
-#if IGNITE_ON_P0
-#define AO_IGNITER_DROGUE      P0_5
-#define AO_IGNITER_MAIN                P0_4
-#define AO_IGNITER_DIR         P0DIR
-#define AO_IGNITER_DROGUE_BIT  (1 << 5)
-#define AO_IGNITER_MAIN_BIT    (1 << 4)
-#endif
-
-/* test these values with real igniters */
-#define AO_IGNITER_OPEN                1000
-#define AO_IGNITER_CLOSED      7000
-#define AO_IGNITER_FIRE_TIME   AO_MS_TO_TICKS(50)
-#define AO_IGNITER_CHARGE_TIME AO_MS_TO_TICKS(2000)
-
 __xdata struct ao_ignition ao_ignition[2];
 
 void
@@ -84,6 +62,7 @@ ao_igniter_status(enum ao_igniter igniter)
 void
 ao_igniter_fire(enum ao_igniter igniter) __critical
 {
+       ao_mutex_get(&ao_radio_mutex);
        ao_ignition[igniter].firing = 1;
        switch(ao_config.ignite_mode) {
        case AO_IGNITE_MODE_DUAL:
@@ -128,6 +107,7 @@ ao_igniter_fire(enum ao_igniter igniter) __critical
                break;
        }
        ao_ignition[igniter].firing = 0;
+       ao_mutex_put(&ao_radio_mutex);
 }
 
 void