aboutsummaryrefslogtreecommitdiff
path: root/src/drivers/gps/gps_helper.cpp
diff options
context:
space:
mode:
authorLorenz Meier <lm@inf.ethz.ch>2013-05-09 17:13:38 +0200
committerLorenz Meier <lm@inf.ethz.ch>2013-05-09 17:13:38 +0200
commit3ec536a876a66f4e56549957e81ed4547c92a0c3 (patch)
treeb0f318ae468e1aa710e24287425a282b2208d55c /src/drivers/gps/gps_helper.cpp
parent5886e93a33329d39dc2ea535d224fcd60ab7afd7 (diff)
downloadpx4-firmware-3ec536a876a66f4e56549957e81ed4547c92a0c3.tar.gz
px4-firmware-3ec536a876a66f4e56549957e81ed4547c92a0c3.tar.bz2
px4-firmware-3ec536a876a66f4e56549957e81ed4547c92a0c3.zip
Improved GPS update rate calculation
Diffstat (limited to 'src/drivers/gps/gps_helper.cpp')
-rw-r--r--src/drivers/gps/gps_helper.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/drivers/gps/gps_helper.cpp b/src/drivers/gps/gps_helper.cpp
index 54ac90dab..ba86d370a 100644
--- a/src/drivers/gps/gps_helper.cpp
+++ b/src/drivers/gps/gps_helper.cpp
@@ -46,13 +46,13 @@
float
GPS_Helper::get_position_update_rate()
{
- return _rate_count_lat_lon / (((float)(hrt_absolute_time() - _interval_rate_start)) / 1000000.0f);
+ return _rate_lat_lon;
}
float
GPS_Helper::get_velocity_update_rate()
{
- return _rate_count_vel / (((float)(hrt_absolute_time() - _interval_rate_start)) / 1000000.0f);
+ return _rate_vel;
}
float
@@ -63,6 +63,13 @@ GPS_Helper::reset_update_rates()
_interval_rate_start = hrt_absolute_time();
}
+float
+GPS_Helper::store_update_rates()
+{
+ _rate_vel = _rate_count_vel / (((float)(hrt_absolute_time() - _interval_rate_start)) / 1000000.0f);
+ _rate_lat_lon = _rate_count_lat_lon / (((float)(hrt_absolute_time() - _interval_rate_start)) / 1000000.0f);
+}
+
int
GPS_Helper::set_baudrate(const int &fd, unsigned baud)
{