Revert "altos: Write current flight state to GPS data from GPS drivers"
[fw/altos] / src / drivers / ao_gps_ublox.c
index 01169522f2ae49f53852098b8c2e9d797dc25a3f..077698a90d514a24672b3d990d867118a1c67a9c 100644 (file)
@@ -600,6 +600,14 @@ static const uint8_t ublox_enable_nav[] = {
        UBLOX_NAV_TIMEUTC
 };
 
+void
+ao_gps_set_rate(uint8_t rate)
+{
+       uint8_t i;
+       for (i = 0; i < sizeof (ublox_enable_nav); i++)
+               ao_ublox_set_message_rate(UBLOX_NAV, ublox_enable_nav[i], rate);
+}
+
 void
 ao_gps(void) __reentrant
 {
@@ -616,8 +624,7 @@ ao_gps(void) __reentrant
                ao_ublox_set_message_rate(UBLOX_NAV, ublox_disable_nav[i], 0);
 
        /* Enable all of the messages we want */
-       for (i = 0; i < sizeof (ublox_enable_nav); i++)
-               ao_ublox_set_message_rate(UBLOX_NAV, ublox_enable_nav[i], 1);
+       ao_gps_set_rate(1);
 
        ao_ublox_set_navigation_settings((1 << UBLOX_CFG_NAV5_MASK_DYN) | (1 << UBLOX_CFG_NAV5_MASK_FIXMODE),
                                         UBLOX_CFG_NAV5_DYNMODEL_AIRBORNE_4G,
@@ -713,7 +720,7 @@ ao_gps(void) __reentrant
                                ao_gps_data.flags |= AO_GPS_RUNNING;
                                if (nav_sol.gps_fix & (1 << NAV_SOL_FLAGS_GPSFIXOK)) {
                                        uint8_t nsat = nav_sol.nsat;
-                                       ao_gps_data.flags |= AO_GPS_VALID;
+                                       ao_gps_data.flags |= AO_GPS_VALID | AO_GPS_COURSE_VALID;
                                        if (nsat > 15)
                                                nsat = 15;
                                        ao_gps_data.flags |= nsat;