From a44086db1621f534919894296838f89d6b98ada2 Mon Sep 17 00:00:00 2001 From: Richard Meadows Date: Thu, 4 Aug 2016 12:32:19 +0100 Subject: [PATCH] [gps_ubx] wait at most 5 seconds for gps_ubx --- firmware/src/data.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/firmware/src/data.c b/firmware/src/data.c index 02ea097..8f80342 100644 --- a/firmware/src/data.c +++ b/firmware/src/data.c @@ -36,6 +36,7 @@ #include "telemetry.h" #include "thermistor.h" #include "watchdog.h" +#include "rtc.h" struct tracker_datapoint datapoint = {.time={0}}; @@ -147,8 +148,13 @@ struct tracker_datapoint* collect_data(void) * ---- GPS UBX ---- */ /* wait for GPS, if it takes forever the watchdog will save us */ + uint32_t start_ticks = rtc_get_ticks(); while (gps_update_time_pending() || gps_update_position_pending()) { idle(IDLE_WAIT_FOR_GPS); + + if (rtc_get_ticks() > (start_ticks+5)) { /* 5 seconds later */ + while(1); /* watchdog */ + } }