Work

Home | Work | Play | Photos | Contact | About

Pocket GPS - Windows Mobile App

18/7/2002

Home > Work > Pocket GPS

I've just been browsing through my \Dev folder, and rediscovered the Pocket GPS app I wrote as a side project in 2002. I was even more surprised when I loaded it into Visual Studio 2008, compiled it, and it actually still works!

Compass rose   Satellites   Routes
Compass rose Satellites Routes
 
Edit route   Waypoints   Edit waypoint
Edit route Waypoints Edit waypoint

This project was interesting. First, I used to have a thing for GPS back then, and I had a lot of fun creating an RS232 library for the .NET Compact Framework. It ended up being published in the Microsoft .NET Compact Framework (Core Reference). The app itself is pretty simple -

Pocket GPS sequence diagram

The second reason that this remains a memorable project is the kick I got out of parsing and interpreting NMEA 0183 sentences (superseded in the meantime by NMEA 2000), and being able to produce the satellite location and signal strength indicators you see in the second image above.

I've pasted the code to parse NMEA 0183 GGA, GSV and RMC sentences in below, in case it's useful to anyone. Admittedly the code is a bit rubbish, and not how I'd do it today. Sloppy code aside, the glaring issue is that I don't localise UTC time. I didn't include the RS232 code, because these days there are better solutions to that problem than mine. This MSDN page is a great place to start.

Anyway, click the little +/- signs to expand and collapse code blocks, and contact me if you have questions.

Expand/Collapse
#Region "ParseNMEA0183"
Expand/Collapse
#Region "ParseGGA"
Expand/Collapse
#Region "ParseGSV"
Expand/Collapse
#Region "ParseRMC"

ParseGSV() uses an array (I know. WTF?) of Satellites. This is the Satellite class:

Expand/Collapse
#Region "Satellite"

[Update 12/7/2011] Amusing contrast with the Windows Phone app I wrote 9 years later. Times have changed 🙄

Compass rose
Compass rose

< Back to Work | ^ Back to top


All content copyright © Michael Wittenburg 1995 to 2025. All rights reserved.
Merch (t-shirts designed by my twin)