summaryrefslogtreecommitdiff
path: root/src/ao_flight.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ao_flight.c')
-rw-r--r--src/ao_flight.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/ao_flight.c b/src/ao_flight.c
index cfecc5af..822a20b8 100644
--- a/src/ao_flight.c
+++ b/src/ao_flight.c
@@ -168,8 +168,9 @@ ao_flight(void)
ao_wakeup(&ao_gps_data);
ao_wakeup(&ao_gps_tracking_data);
#endif
-#ifdef ASCENT_PIN
- ASCENT_PIN = 0;
+#ifdef ASCENT_SIGNAL
+ ASCENT_SIGNAL = 0;
+ ASCENT_SIGNAL_DIR |= (1 << ASCENT_SIGNAL_PIN);
#endif
ao_wakeup(DATA_TO_XDATA(&ao_flight_state));
@@ -240,8 +241,9 @@ ao_flight(void)
/* Turn the RDF beacon back on */
ao_rdf_set(1);
-#ifdef ASCENT_PIN
- ASCENT_PIN = 1;
+#ifdef ASCENT_SIGNAL
+ ASCENT_SIGNAL_DIR &= ~(1 << ASCENT_SIGNAL_PIN);
+ ASCENT_SIGNAL = 0;
#endif
/*
* Start recording min/max height
@@ -320,9 +322,10 @@ void
ao_flight_init(void)
{
#ifdef ASCENT_SIGNAL
- ASCENT_SIGNAL = 1;
- ASCENT_SIGNAL_DIR |= (1 << ASCENT_SIGNAL_PIN);
ASCENT_SIGNAL_SEL &= ~(1 << ASCENT_SIGNAL_PIN);
+ ASCENT_SIGNAL_DIR &= ~(1 << ASCENT_SIGNAL_PIN);
+ P1INP |= (1 << ASCENT_SIGNAL_PIN);
+ ASCENT_SIGNAL = 1;
#endif
ao_flight_state = ao_flight_startup;
ao_add_task(&flight_task, ao_flight, "flight");