X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_flight.c;h=ec89e7c2f7e97bdbbb850ead7f1015b1e45e83f1;hp=c0f5683047b4d5e3e37dd6d28d14bb9de71295e2;hb=fee46389b70a624ab5b1128a8b4c3083c7747bcb;hpb=210dbaa23cdacf3a6f2d6e23493e96ee2ac9bca7 diff --git a/src/ao_flight.c b/src/ao_flight.c index c0f56830..ec89e7c2 100644 --- a/src/ao_flight.c +++ b/src/ao_flight.c @@ -216,7 +216,7 @@ ao_flight(void) ao_old_vel = ao_flight_vel; ao_old_vel_tick = ao_flight_tick; - /* Go to launchpad state if the nose is pointing up */ + /* Go to pad state if the nose is pointing up */ ao_config_get(); if (ao_flight_accel < ao_config.accel_zero_g - ACCEL_NOSE_UP) { @@ -227,9 +227,10 @@ ao_flight(void) /* Turn on telemetry system */ + ao_rdf_set(1); ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_PAD); - ao_flight_state = ao_flight_launchpad; + ao_flight_state = ao_flight_pad; ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); } else { ao_flight_state = ao_flight_idle; @@ -242,7 +243,7 @@ ao_flight(void) /* signal successful initialization by turning off the LED */ ao_led_off(AO_LED_RED); break; - case ao_flight_launchpad: + case ao_flight_pad: /* Trim velocity * @@ -277,13 +278,16 @@ ao_flight(void) /* Increase telemetry rate */ ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT); + /* disable RDF beacon */ + ao_rdf_set(0); + ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); break; } break; case ao_flight_boost: - /* boost to coast: + /* boost to fast: * * accelerometer: start to fall at > 1/4 G * OR @@ -296,14 +300,14 @@ ao_flight(void) if (ao_flight_accel > ao_ground_accel + (ACCEL_G >> 2) || (int16_t) (ao_flight_tick - ao_launch_tick) > BOOST_TICKS_MAX) { - ao_flight_state = ao_flight_coast; + ao_flight_state = ao_flight_fast; ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); break; } break; - case ao_flight_coast: + case ao_flight_fast: - /* coast to apogee detect: + /* fast to coast: * * accelerometer: integrated velocity < 200 m/s * OR @@ -325,13 +329,13 @@ ao_flight(void) * apogee detect */ ao_min_vel = abs(ao_flight_vel); - ao_flight_state = ao_flight_apogee; + ao_flight_state = ao_flight_coast; ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); } break; - case ao_flight_apogee: + case ao_flight_coast: - /* apogee detect to drogue deploy: + /* apogee detect: coast to drogue deploy: * * accelerometer: abs(velocity) > min_velocity + 2m/s * OR @@ -438,6 +442,8 @@ 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)); }