altos: minor type in comment about accel correction
[fw/altos] / src / ao_gps_sirf.c
index 64b66c95ce4af7f9fe16df6636e155d4b0035d22..f2abbf84033c663e36d14745ad0663c28b773656 100644 (file)
@@ -20,8 +20,9 @@
 #endif
 
 __xdata uint8_t ao_gps_mutex;
-__xdata struct ao_gps_data     ao_gps_data;
-__xdata struct ao_gps_tracking_data    ao_gps_tracking_data;
+__pdata uint16_t ao_gps_tick;
+__xdata struct ao_telemetry_location   ao_gps_data;
+__xdata struct ao_telemetry_satellite  ao_gps_tracking_data;
 
 static const char ao_gps_set_nmea[] = "\r\n$PSRF100,0,57600,8,1,0*37\r\n";
 
@@ -390,6 +391,7 @@ ao_gps(void) __reentrant
                switch (i) {
                case 41:
                        ao_mutex_get(&ao_gps_mutex);
+                       ao_gps_tick = ao_time();
                        ao_gps_data.hour = ao_sirf_data.utc_hour;
                        ao_gps_data.minute = ao_sirf_data.utc_minute;
                        ao_gps_data.second = ao_sirf_data.utc_second / 1000;
@@ -403,6 +405,8 @@ ao_gps(void) __reentrant
                        ao_gps_data.course = ao_sirf_data.course / 200;
                        ao_gps_data.hdop = ao_sirf_data.hdop;
                        ao_gps_data.climb_rate = ao_sirf_data.climb_rate;
+                       ao_gps_data.flags |= AO_GPS_COURSE_VALID;
+#if 0
                        if (ao_sirf_data.h_error > 6553500)
                                ao_gps_data.h_error = 65535;
                        else
@@ -411,6 +415,7 @@ ao_gps(void) __reentrant
                                ao_gps_data.v_error = 65535;
                        else
                                ao_gps_data.v_error = ao_sirf_data.v_error / 100;
+#endif
                        ao_mutex_put(&ao_gps_mutex);
                        ao_wakeup(&ao_gps_data);
                        break;