From 301e01fd38e6f8d3dd5e471d868e77eab167f0c7 Mon Sep 17 00:00:00 2001 From: martin-s Date: Sat, 24 Aug 2013 07:17:05 +0000 Subject: Add:vehicle_gpsd_dbus:Option to ignore identical timestamps due to low floating point resolution in dbus-monitor git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@5596 ffa7fe5e-494d-0410-b361-a75ebd5db220 --- navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'navit/vehicle/gpsd_dbus') diff --git a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c index 79ff13b5c..fb1a99727 100644 --- a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c +++ b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c @@ -39,6 +39,7 @@ static char *vehicle_gpsd_dbus_prefix="gpsd_dbus:"; struct vehicle_priv { char *source; char *address; + int flags; struct callback_list *cbl; DBusConnection *connection; double time, track, speed, altitude; @@ -92,7 +93,7 @@ vehicle_gpsd_dbus_filter(DBusConnection *connection, DBusMessage *message, void priv->speed=speed; if (!isnan(altitude)) priv->altitude=altitude; - if (time != priv->time) { + if (time != priv->time || (priv->flags & 1)) { priv->time=time; priv->fix_time=time; callback_list_call_attr_0(priv->cbl, attr_position_coord_geo); @@ -199,6 +200,9 @@ vehicle_gpsd_dbus_set_attr_do(struct vehicle_priv *priv, struct attr *attr, int vehicle_gpsd_dbus_open(priv); } return 1; + case attr_flags: + priv->flags=attr->u.num; + return 1; default: return 0; } -- cgit v1.2.1