wiki:GPS

GPS

This page is dedicated to brainstorm about development of GPS support in MOSS4G framework and MOSSMAP applications. The MOSS4G targets systems based on Windows CE 5.0 or later, like Windows Mobile 5.0. This assumption gives us two possibilities of GPS support solutions:

  1. Homemade library connecting to GPS unit, reading and processing sentences of NMEA protocol.
  1. Use new GPS Intermediate Driver (GPSID) available from Windows Mobile 5.0.

For MOSS4G, we have to investigate implementation of following elements related to GPS implementation:

  • What GPS information we need?
  • What NMEA sentences we want to utilise?
  • Does the GPSID layer provide us with all required data?
  • Use standard and popular protocol - NMEA
    • no need to support proprietary/binary protocols specific to some GPS units/vendors
  • multi-threading - connecting/reading GPS data from separate threads
    • Can we safely utilise GPSID layer in multi-thread application?
  • Support wide range of GPS units: built-in, Bluetooth, etc.

GPS Intermediate Driver

Here is small sample - gpsid - presenting how to call GPSID API.

Control Panel Applet

On many devices, GPS Applet in Control Panel is hidden. Here is the procedure how to make it visible:

  1. Open Remote Registry Editor:
    Start->All Programs->Microsoft Visual Studio 2005->Visual Studio Remote Tools->Remote Registry Editor
    
  2. Connect to Windows Mobile 5.0 device using the Remote Registry Editor.
  3. Find following key:
    HKEY_LOCAL_MACHINE\ControlPanel\GPS Settings
    
  4. Delete any value like "Redirect" or "Hide" under the GPS Settings sub-key.
  5. Soft reset the device

On Windows Mobile 5.0 for Smartphone, there is no GPS applet, but it's possible to configure GPS Intermediate Driver with registry settings:

  1. Enable GPS driver
    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver] "IsEnabled"=dword:00000001
    
  1. Select GPS driver
    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers]
          "CurrentDriver"="BT GPS"
    
  1. Configure COM port, friendly name and type of driver interface:
    [HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Drivers\BT GPS]
          "CommPort"="COMX:" where X = the hardware COM port (for me COM6)
          "FriendlyName"="BT GPS"
          "InterfaceType"="COMM"
    

For more details, see Setting up GPS on Windows Mobile 5 blog post.

GPS GUI

  1. GPS diagnostics widget to present GPS details in textual form
  1. GPS horizon widget to present actual GPS satellites view

References

Last modified 17 years ago Last modified on Oct 24, 2007, 12:37:01 PM
Note: See TracWiki for help on using the wiki.