Sunday 5 February 2012

Garmin Communicator Plugin

I've been intending to write about this for sometime but Blogger has been uncooperative and would never let me make a new post. I suppose I could have drafter it in Libre Office but I didn't and hence I forgot what I was going to say.

Something about my latest squirrel project, not so secret if I am going to tell you about it here. I use Linux, do you ? Ubuntu 11.04 actually with some tests on Mint Felica. Mostly Ubuntu though, I am trying to use Windows as little as possible at home. The only things I use Windows XP for is my GPS and route/track making software (& remoting into work). I use MapSource for my GPS and MS Autoroute to help me generate tracks. I wrote some software a year or so ago to take the output from Autoroute and generate a track, I really must reuse that. I've been working on a web application to do part of what MapSource does with respect to tracks. In particular what I want is to be able to download the track log, clean up the crap tracks and view it on a map, a Google Map actually. I can do most of that with my application. The difficult part was getting the data from the GPS. Easier on Windows with the Garmin Communicator Plugin but sadly it doesn't work on Linux. Andreas Diesner has written a Linux version, (http://www.andreas-diesner.de/garminplugin/doku.php?id=start) which sadly doesn't work with my GPS type, a Garmin Vista C. It's quite old. Well it does now, I have modified the original code. Not only can it read the track log but also send tracks, waypoints and routes to the GPS using gpsbabel as an intermediary. I've modified gpsbabel also to use the Garmin Track Extension to colour the track on the device using the colour defined in the GPX file.

Get in touch if you want to know more. At some point I'll donate my work back to the original projects, I've been in touch with Andreas so far to do just that.

I'd like to remove the dependency on gpsbabel to make install easier, if I ever publish the whole package, so far this has proven difficult due to my lack of C on Linux experience.