X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcc1111%2Fao_ignite.c;h=cf07dfe8ee212b373834660935e64b135a9e350f;hb=ce8153472069ed56b24ac36f297ac569d1f767d4;hp=289263abe51b99479328f4e5c966f3ef3d77d1da;hpb=1c344b760776cd5d8c0297d8db9bf02687381b4e;p=fw%2Faltos diff --git a/src/cc1111/ao_ignite.c b/src/cc1111/ao_ignite.c index 289263ab..cf07dfe8 100644 --- a/src/cc1111/ao_ignite.c +++ b/src/cc1111/ao_ignite.c @@ -16,6 +16,7 @@ */ #include "ao.h" +#include __xdata struct ao_ignition ao_ignition[2]; @@ -29,12 +30,12 @@ ao_ignite(enum ao_igniter igniter) __critical enum ao_igniter_status ao_igniter_status(enum ao_igniter igniter) { - __xdata struct ao_adc adc; + __xdata struct ao_data packet; __pdata int16_t value; __pdata uint8_t request, firing, fired; __critical { - ao_adc_get(&adc); + ao_data_get(&packet); request = ao_ignition[igniter].request; fired = ao_ignition[igniter].fired; firing = ao_ignition[igniter].firing; @@ -45,10 +46,10 @@ ao_igniter_status(enum ao_igniter igniter) value = (AO_IGNITER_CLOSED>>1); switch (igniter) { case ao_igniter_drogue: - value = adc.sense_d; + value = packet.adc.sense_d; break; case ao_igniter_main: - value = adc.sense_m; + value = packet.adc.sense_m; break; } if (value < AO_IGNITER_OPEN) @@ -62,6 +63,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: @@ -106,6 +108,7 @@ ao_igniter_fire(enum ao_igniter igniter) __critical break; } ao_ignition[igniter].firing = 0; + ao_mutex_put(&ao_radio_mutex); } void