#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
ao_igniter_status(enum ao_igniter igniter)
{
__xdata struct ao_adc adc;
- __xdata int16_t value;
- __xdata uint8_t request, firing, fired;
+ __pdata int16_t value;
+ __pdata uint8_t request, firing, fired;
__critical {
ao_adc_get(&adc);
}
}
-static __code char *igniter_status_names[] = {
+static __code char * __code igniter_status_names[] = {
"unknown", "ready", "active", "open"
};
__code struct ao_cmds ao_ignite_cmds[] = {
{ ao_ignite_manual, "i <key> {main|drogue}\0Fire igniter. <key> is doit with D&I" },
- { ao_ignite_test, "t\0Test igniter continuity" },
+ { ao_ignite_test, "t\0Test igniter" },
{ 0, NULL },
};