summaryrefslogtreecommitdiff
path: root/navit/vehicle
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-24 07:17:05 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2013-08-24 07:17:05 +0000
commit95562994ff42a7ef0678feaf4fad4aa3f49b8be4 (patch)
treeeedec86836a892b27061a9ab3b4a443726d2e868 /navit/vehicle
parent75d3f6fdf77cc9fb71103abc4ce05d217cf02564 (diff)
downloadnavit-svn-95562994ff42a7ef0678feaf4fad4aa3f49b8be4.tar.gz
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
Diffstat (limited to 'navit/vehicle')
-rw-r--r--navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c b/navit/vehicle/gpsd_dbus/vehicle_gpsd_dbus.c
index 79ff13b5..fb1a9972 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;
}