altos/megametrum: Support the four additional pyro channels
authorKeith Packard <keithp@keithp.com>
Sat, 14 Jul 2012 08:29:50 +0000 (01:29 -0700)
committerKeith Packard <keithp@keithp.com>
Sat, 14 Jul 2012 08:29:50 +0000 (01:29 -0700)
These use the new pyro code to allow for some flexibility in programming.

Signed-off-by: Keith Packard <keithp@keithp.com>
src/megametrum-v0.1/Makefile
src/megametrum-v0.1/ao_megametrum.c
src/megametrum-v0.1/ao_pins.h

index 59cfb64d0449811d5bf0fc128acd31efb817c2d0..d415b59b4493f07e963939773f0a66e3a1a8ba4b 100644 (file)
@@ -74,6 +74,7 @@ ALTOS_SRC = \
        ao_packet_slave.c \
        ao_packet.c \
        ao_companion.c \
+       ao_pyro.c \
        $(PROFILE)
 
 PRODUCT=MegaMetrum-v0.1
index a6d93733e0d1b4b1b569a15ba971e55194892cc3..55324514cb062d3b0eba7720279dda4ea7917e20 100644 (file)
@@ -23,6 +23,7 @@
 #include <ao_packet.h>
 #include <ao_companion.h>
 #include <ao_profile.h>
+#include <ao_pyro.h>
 
 int
 main(void)
@@ -67,6 +68,7 @@ main(void)
        ao_packet_slave_init(FALSE);
        ao_igniter_init();
        ao_companion_init();
+       ao_pyro_init();
 
        ao_config_init();
 #if AO_PROFILE
index 34b75255094751d2600a6b30b8491f4b2b5e7c82..2c438f6c9f53dba8f82a6ce4244fbdb49c370b42 100644 (file)
 #define AO_IGNITER_CLOSED      400
 #define AO_IGNITER_OPEN                60
 
-#define AO_IGNITER_PORT_A      (&stm_gpiod)
-#define AO_IGNITER_PIN_A       6
+#define AO_IGNITER_DROGUE_PORT (&stm_gpiod)
+#define AO_IGNITER_DROGUE_PIN  6
 
-#define AO_IGNITER_PORT_B      (&stm_gpiod)
-#define AO_IGNITER_PIN_B       7
+#define AO_IGNITER_MAIN_PORT   (&stm_gpiod)
+#define AO_IGNITER_MAIN_PIN    7
 
-#define AO_IGNITER_PORT_C      (&stm_gpiob)
-#define AO_IGNITER_PIN_C       5
+#define AO_PYRO_PORT_0 (&stm_gpiob)
+#define AO_PYRO_PIN_0  5
 
-#define AO_IGNITER_PORT_D      (&stm_gpioe)
-#define AO_IGNITER_PIN_D       4
+#define AO_PYRO_PORT_1 (&stm_gpioe)
+#define AO_PYRO_PIN_1  4
 
-#define AO_IGNITER_PORT_E      (&stm_gpioe)
-#define AO_IGNITER_PIN_E       6
+#define AO_PYRO_PORT_2 (&stm_gpioe)
+#define AO_PYRO_PIN_2  6
 
-#define AO_IGNITER_PORT_F      (&stm_gpioe)
-#define AO_IGNITER_PIN_F       5
+#define AO_PYRO_PORT_3 (&stm_gpioe)
+#define AO_PYRO_PIN_3  5
 
-#define AO_IGNITER_DROGUE_PORT AO_IGNITER_PORT_A
-#define AO_IGNITER_DROGUE_PIN  AO_IGNITER_PIN_A
-
-#define AO_IGNITER_MAIN_PORT   AO_IGNITER_PORT_B
-#define AO_IGNITER_MAIN_PIN    AO_IGNITER_PIN_B
+/* Number of general purpose pyro channels available */
+#define AO_PYRO_NUM    4
 
 #define AO_IGNITER_SET_DROGUE(v)       stm_gpio_set(AO_IGNITER_DROGUE_PORT, AO_IGNITER_DROGUE_PIN, v)
 #define AO_IGNITER_SET_MAIN(v)         stm_gpio_set(AO_IGNITER_MAIN_PORT, AO_IGNITER_MAIN_PIN, v)