altos: Expose ao_gps_set_rate from u-blox driver
authorKeith Packard <keithp@keithp.com>
Wed, 21 May 2014 08:36:40 +0000 (01:36 -0700)
committerKeith Packard <keithp@keithp.com>
Wed, 21 May 2014 08:43:13 +0000 (01:43 -0700)
This lets applications set the desired GPS update rate to reduce power usage

Signed-off-by: Keith Packard <keithp@keithp.com>
src/drivers/ao_gps_ublox.c
src/kernel/ao.h

index 8676a670fd86a092bdaf5fcdd8d7b8220ab92ac3..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,
index 9169bd8428fc6a9c55ee20345b5f8abf3dffb60f..b1f850ba9f10aa6db47aabdcd9a746205a985315 100644 (file)
@@ -393,6 +393,9 @@ struct ao_gps_tracking_orig {
        struct ao_gps_sat_orig  sats[AO_MAX_GPS_TRACKING];
 };
 
+void
+ao_gps_set_rate(uint8_t rate);
+
 void
 ao_gps(void);