From a64d0677493ad7acb9c7e0bc66a3aba2147a0f3c Mon Sep 17 00:00:00 2001 From: Andrew Tridgell Date: Sun, 28 Apr 2013 14:57:19 +1000 Subject: [PATCH] Rover: log GPS packets as they come in --- APMrover2/APMrover2.pde | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/APMrover2/APMrover2.pde b/APMrover2/APMrover2.pde index b23516060a..3e2864b21f 100644 --- a/APMrover2/APMrover2.pde +++ b/APMrover2/APMrover2.pde @@ -722,9 +722,6 @@ static void medium_loop() if (g.log_bitmask & MASK_LOG_NTUN) Log_Write_Nav_Tuning(); - - if (g.log_bitmask & MASK_LOG_GPS) - DataFlash.Log_Write_GPS(g_gps, current_loc.alt); break; // This case controls the slow loop @@ -799,9 +796,17 @@ static void one_second_loop() static void update_GPS(void) { + static uint32_t last_gps_reading; g_gps->update(); update_GPS_light(); + if (g_gps->last_message_time_ms() != last_gps_reading) { + last_gps_reading = g_gps->last_message_time_ms(); + if (g.log_bitmask & MASK_LOG_GPS) { + DataFlash.Log_Write_GPS(g_gps, current_loc.alt); + } + } + have_position = ahrs.get_position(¤t_loc); if (g_gps->new_data && g_gps->status() >= GPS::GPS_OK_FIX_3D) {