summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2014-06-05 18:55:26 -0700
committerKeith Packard <keithp@keithp.com>2014-06-05 18:55:26 -0700
commitd8f84ba82bab653c041eb85f93b9dcb1083bd849 (patch)
tree307ab10cfd1a069ef8f627f923d24d2a78956e7d /src
parentfe0aaf4413035f9de2c805c612c71188ec8c6f4d (diff)
altos: Add AO_LOG_FLIGHT packet to TeleGPS logs
This encodes the flight number for tracking of data files. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src')
-rw-r--r--src/product/ao_tracker.c27
1 files changed, 26 insertions, 1 deletions
diff --git a/src/product/ao_tracker.c b/src/product/ao_tracker.c
index c1c3366c..9666528b 100644
--- a/src/product/ao_tracker.c
+++ b/src/product/ao_tracker.c
@@ -41,6 +41,31 @@ ao_usb_connected(void)
#define STARTUP_AVERAGE 5
static void
+ao_tracker_start_flight(void)
+{
+ struct ao_log_mega log;
+ ao_log_start();
+ log.type = AO_LOG_FLIGHT;
+ log.tick = ao_time();
+#if HAS_ACCEL
+ log.u.flight.ground_accel = ao_ground_accel;
+#endif
+#if HAS_GYRO
+ log.u.flight.ground_accel_along = ao_ground_accel_along;
+ log.u.flight.ground_accel_across = ao_ground_accel_across;
+ log.u.flight.ground_accel_through = ao_ground_accel_through;
+ log.u.flight.ground_roll = ao_ground_roll;
+ log.u.flight.ground_pitch = ao_ground_pitch;
+ log.u.flight.ground_yaw = ao_ground_yaw;
+#endif
+#if HAS_FLIGHT
+ log.u.flight.ground_pres = ao_ground_pres;
+#endif
+ log.u.flight.flight = ao_flight_number;
+ ao_log_mega(&log);
+}
+
+static void
ao_tracker(void)
{
uint16_t telem_rate = AO_SEC_TO_TICKS(1), new_telem_rate;
@@ -112,10 +137,10 @@ ao_tracker(void)
ao_flight_state = ao_flight_drogue;
ao_wakeup(&ao_flight_state);
ao_log_start();
+ ao_tracker_start_flight();
}
break;
case ao_flight_drogue:
-
/* Modulate data rates based on speed (in cm/s) */
if (ao_gps_data.climb_rate < 0)
speed = -ao_gps_data.climb_rate;