altos: Switch ao_rssi.c __xdata to __pdata
[fw/altos] / src / ao_ignite.c
index f2b15dd23e741da0d29df0682d7c02d830717890..e1b91bea2134628de22d3a59bc74b5a8f2f361ff 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
@@ -48,11 +58,10 @@ enum ao_igniter_status
 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_sleep();
                ao_adc_get(&adc);
                request = ao_ignition[igniter].request;
                fired = ao_ignition[igniter].fired;
@@ -134,7 +143,7 @@ ao_ignite_manual(void)
        }
 }
 
-static __code char *igniter_status_names[] = {
+static __code char * __code igniter_status_names[] = {
        "unknown", "ready", "active", "open"
 };
 
@@ -155,9 +164,9 @@ ao_ignite_test(void)
 }
 
 __code struct ao_cmds ao_ignite_cmds[] = {
-       { 'i',  ao_ignite_manual,       "i <key> {main|drogue}              Fire igniter. <key> is doit with D&I" },
-       { 't',  ao_ignite_test,         "t                                  Test igniter continuity" },
-       { 0,    ao_ignite_manual,       NULL },
+       { ao_ignite_manual,     "i <key> {main|drogue}\0Fire igniter. <key> is doit with D&I" },
+       { ao_ignite_test,       "t\0Test igniter" },
+       { 0,    NULL },
 };
 
 __xdata struct ao_task ao_igniter_task;