From af782e92c6a0c0a6b0fc2fa52519749a88ca8fb8 Mon Sep 17 00:00:00 2001 From: Keith Packard Date: Wed, 21 May 2014 01:36:40 -0700 Subject: [PATCH] altos: Expose ao_gps_set_rate from u-blox driver This lets applications set the desired GPS update rate to reduce power usage Signed-off-by: Keith Packard --- src/drivers/ao_gps_ublox.c | 11 +++++++++-- src/kernel/ao.h | 3 +++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/drivers/ao_gps_ublox.c b/src/drivers/ao_gps_ublox.c index 8676a670..077698a9 100644 --- a/src/drivers/ao_gps_ublox.c +++ b/src/drivers/ao_gps_ublox.c @@ -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, diff --git a/src/kernel/ao.h b/src/kernel/ao.h index 9169bd84..b1f850ba 100644 --- a/src/kernel/ao.h +++ b/src/kernel/ao.h @@ -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); -- 2.30.2