X-Git-Url: https://git.gag.com/?p=fw%2Faltos;a=blobdiff_plain;f=ao_flight.c;h=3bc6b974008e625812214112838b8a5eb0669fe5;hp=43fd98b2ba3da26c607682e00a063f88c6394bf4;hb=ba3c53636e485450f48093d0a88a6629775f7c3a;hpb=97cecb517cd7bf75e1219c76a93bfe6964c07052 diff --git a/ao_flight.c b/ao_flight.c index 43fd98b2..3bc6b974 100644 --- a/ao_flight.c +++ b/ao_flight.c @@ -223,7 +223,7 @@ ao_flight(void) /* Turn on telemetry system */ ao_rdf_set(1); - ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT); + ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_PAD); ao_flight_state = ao_flight_launchpad; ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); @@ -259,6 +259,9 @@ ao_flight(void) /* start logging data */ ao_log_start(); + /* Increase telemetry rate */ + ao_telemetry_set_interval(AO_TELEMETRY_INTERVAL_FLIGHT); + /* disable RDF beacon */ ao_rdf_set(0); @@ -309,7 +312,7 @@ ao_flight(void) /* set min velocity to current velocity for * apogee detect */ - ao_min_vel = ao_flight_vel; + ao_min_vel = abs(ao_flight_vel); ao_flight_state = ao_flight_apogee; ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); } @@ -344,26 +347,28 @@ ao_flight(void) /* 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 + */ + /* Set the 'last' limits to max range to prevent + * early resting detection + */ + ao_interval_min_accel = 0; + ao_interval_max_accel = 0x7fff; + ao_interval_min_pres = 0; + ao_interval_max_pres = 0x7fff; + + /* initialize interval values */ + ao_interval_end = ao_flight_tick + AO_INTERVAL_TICKS; + + ao_interval_cur_min_pres = ao_interval_cur_max_pres = ao_flight_pres; + ao_interval_cur_min_accel = ao_interval_cur_max_accel = ao_flight_accel; + + /* and enter drogue state */ ao_flight_state = ao_flight_drogue; ao_wakeup(DATA_TO_XDATA(&ao_flight_state)); } - /* - * Start recording min/max accel and pres for a while - * to figure out when the rocket has landed - */ - /* Set the 'last' limits to max range to prevent - * early resting detection - */ - ao_interval_min_accel = 0; - ao_interval_max_accel = 0x7fff; - ao_interval_min_pres = 0; - ao_interval_max_pres = 0x7fff; - - /* initialize interval values */ - ao_interval_end = ao_flight_tick + AO_INTERVAL_TICKS; - - ao_interval_cur_min_pres = ao_interval_cur_max_pres = ao_flight_pres; - ao_interval_cur_min_accel = ao_interval_cur_max_accel = ao_flight_accel; break; case ao_flight_drogue: