X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=src%2Fao_flight.c;h=2b062c13fbec8a0a545530015f077a5ad8b8307c;hp=c0f5683047b4d5e3e37dd6d28d14bb9de71295e2;hb=54545640b0db7747137655f84bc67fd290ecb904;hpb=210dbaa23cdacf3a6f2d6e23493e96ee2ac9bca7 diff --git a/src/ao_flight.c b/src/ao_flight.c index c0f56830..2b062c13 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 @@ -356,6 +360,9 @@ ao_flight(void) /* slow down the ADC sample rate */ ao_timer_set_adc_interval(10); + /* Enable RDF beacon */ + ao_rdf_set(1); + /* * Start recording min/max accel and pres for a while * to figure out when the rocket has landed