summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2012-07-14 01:29:50 -0700
committerKeith Packard <keithp@keithp.com>2012-07-14 01:29:50 -0700
commit37032e4b0cbac4c823e3dd18e60ad8900e9ceff1 (patch)
tree93e94c99ea2cc262e1ef850620866f6fa6455bd0
parent82b50fc1b7f2c6af7264fbad2c35508abc15e81e (diff)
altos/megametrum: Support the four additional pyro channels
These use the new pyro code to allow for some flexibility in programming. Signed-off-by: Keith Packard <keithp@keithp.com>
-rw-r--r--src/megametrum-v0.1/Makefile1
-rw-r--r--src/megametrum-v0.1/ao_megametrum.c2
-rw-r--r--src/megametrum-v0.1/ao_pins.h31
3 files changed, 17 insertions, 17 deletions
diff --git a/src/megametrum-v0.1/Makefile b/src/megametrum-v0.1/Makefile
index 59cfb64d..d415b59b 100644
--- a/src/megametrum-v0.1/Makefile
+++ b/src/megametrum-v0.1/Makefile
@@ -74,6 +74,7 @@ ALTOS_SRC = \
ao_packet_slave.c \
ao_packet.c \
ao_companion.c \
+ ao_pyro.c \
$(PROFILE)
PRODUCT=MegaMetrum-v0.1
diff --git a/src/megametrum-v0.1/ao_megametrum.c b/src/megametrum-v0.1/ao_megametrum.c
index a6d93733..55324514 100644
--- a/src/megametrum-v0.1/ao_megametrum.c
+++ b/src/megametrum-v0.1/ao_megametrum.c
@@ -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
diff --git a/src/megametrum-v0.1/ao_pins.h b/src/megametrum-v0.1/ao_pins.h
index 34b75255..2c438f6c 100644
--- a/src/megametrum-v0.1/ao_pins.h
+++ b/src/megametrum-v0.1/ao_pins.h
@@ -120,29 +120,26 @@
#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)