altos: product defines are always in ao_product.h
[fw/altos] / src / ao_flight.c
index 94fbf1784bf4cdbdc9885b5ad6054ac983fcafc6..f1b60d6978713a73012fccc7541fa8d6d9b72edf 100644 (file)
@@ -44,7 +44,7 @@ __pdata uint16_t              ao_interval_end;
 __pdata int16_t                        ao_interval_min_height;
 __pdata int16_t                        ao_interval_max_height;
 
-__xdata uint8_t                        ao_flight_force_idle;
+__pdata uint8_t                        ao_flight_force_idle;
 
 /* We also have a clock, which can be used to sanity check things in
  * case of other failures
@@ -170,7 +170,6 @@ ao_flight(void)
 #endif
 
                                ao_wakeup(DATA_TO_XDATA(&ao_flight_state));
-                               break;
                        }
                        break;
                case ao_flight_boost:
@@ -194,7 +193,6 @@ ao_flight(void)
                                ao_flight_state = ao_flight_coast;
 #endif
                                ao_wakeup(DATA_TO_XDATA(&ao_flight_state));
-                               break;
                        }
                        break;
 #if HAS_ACCEL
@@ -208,7 +206,6 @@ ao_flight(void)
                        {
                                ao_flight_state = ao_flight_coast;
                                ao_wakeup(DATA_TO_XDATA(&ao_flight_state));
-                               break;
                        }
                        break;
 #endif
@@ -234,6 +231,9 @@ ao_flight(void)
                                /* slow down the telemetry system */
                                ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_RECOVER);
 
+                               /* Turn the RDF beacon back on */
+                               ao_rdf_set(1);
+
                                /*
                                 * Start recording min/max height
                                 * to figure out when the rocket has landed
@@ -292,8 +292,6 @@ ao_flight(void)
 
                                        /* turn off the ADC capture */
                                        ao_timer_set_adc_interval(0);
-                                       /* Enable RDF beacon */
-                                       ao_rdf_set(1);
 
                                        ao_wakeup(DATA_TO_XDATA(&ao_flight_state));
                                }