summaryrefslogtreecommitdiff
path: root/navit/vehicle/file/vehicle_file.c
diff options
context:
space:
mode:
authormartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2008-12-28 16:02:55 +0000
committermartin-s <martin-s@ffa7fe5e-494d-0410-b361-a75ebd5db220>2008-12-28 16:02:55 +0000
commit4cb555bb46c5c801812dacb973a10856b40da8a4 (patch)
tree6f43da61a2faa8cf2f77b9feeea3eaa104dab78a /navit/vehicle/file/vehicle_file.c
parenta5f05bfd674054ba03c4cafdde51303f36a83643 (diff)
downloadnavit-4cb555bb46c5c801812dacb973a10856b40da8a4.tar.gz
Add:vehicle_file:Added attribute to get direction of a magnetic compass
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@1862 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'navit/vehicle/file/vehicle_file.c')
-rw-r--r--navit/vehicle/file/vehicle_file.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/navit/vehicle/file/vehicle_file.c b/navit/vehicle/file/vehicle_file.c
index 7ddc3e1e0..9c57af5b5 100644
--- a/navit/vehicle/file/vehicle_file.c
+++ b/navit/vehicle/file/vehicle_file.c
@@ -87,6 +87,7 @@ struct vehicle_priv {
struct attr ** attrs;
char fixiso8601[128];
int checksum_ignore;
+ int magnetic_direction;
};
#ifdef _WIN32
@@ -411,6 +412,20 @@ vehicle_file_parse(struct vehicle_priv *priv, char *buffer)
priv->fixyear = atoi(item[4]);
}
}
+ if (!strncmp(buffer, "$IISMD", 6)) {
+ /*
+ 0 1 2 3 4
+ $IISMD,dir,press,height,temp*CC"
+ dir Direction (0-359)
+ press Pressure (hpa, i.e. 1032)
+ height Barometric height above ground (meter)
+ temp Temperature (Degree Celsius)
+ */
+ if (item[1]) {
+ priv->magnetic_direction = g_ascii_strtod( item[1], NULL );
+ dbg(0,"magnetic %d\n", priv->magnetic_direction);
+ }
+ }
return ret;
}
@@ -520,6 +535,9 @@ vehicle_file_position_attr_get(struct vehicle_priv *priv,
case attr_position_direction:
attr->u.numd = &priv->direction;
break;
+ case attr_position_magnetic_direction:
+ attr->u.num = priv->magnetic_direction;
+ break;
case attr_position_hdop:
attr->u.numd = &priv->hdop;
break;