hTC GPSDriver Anomaly

Discussion in 'Questions (Windows Mobile)' started by Saj, Sep 13, 2009.

  1. Saj

    Saj Active Member Licensed User

    I just tried out my nav program on a hTC Touch HD using GPSDriver. I get invalid data (-9999) for Lattitude and Longitude. The program has been tested on other devices with internal GPS rx and works fine. Is this a known problem? Below is the Sub for acquiring the gps data:

    Sub Timer1Internal_Tick
    Main.Hardware.KeepAlive 'Reset the idle timers to prevent device shutdown
    Main.Timer2.Enabled = True 'After Timer2 ticks, grey out posn marker, i.e. signal lost
    Main.trackTimer = Main.trackTimer+1
    If gpsInternal.GetGpsData (6000) Then
    'Update gpsDataArr
    Main.gpsDataArr.altAMSL = gpsInternal.SeaLevelAltitude 'External: Altitude
    Main.gpsDataArr.CourseOverGnd = gpsInternal.Heading 'External: CourseOverGround
    Main.gpsDataArr.DecimalLat = gpsInternal.Latitude 'External: DecimalLatitude
    Main.gpsDataArr.DecimalLon = gpsInternal.Longitude 'External: DecimalLongitude
    Main.gpsDataArr.nSats = gpsInternal.SatellitesInViewCount 'External: NumberOfSatellites
    Main.gpsDataArr.SpdOverGnd = gpsInternal.Speed 'External: SpeedOverGround 'in NM?
    Main.gpsDataArr.Status = gpsInternal.SatelliteUsedCount & " / " & gpsInternal.SatellitesInViewCount
    Main.gpsDataArr.updatedBy = "Internal Rx"
    End If
    End Sub

  2. agraham

    agraham Expert Licensed User

    It would seem to be a device issue and not an application issue. The GpsDriver is being told by the device that the information is not valid so it is not passing it through. Are the other data items as you expect and what is the value of FixType? Has the device been flashed with a custom ROM?

    You could try my and see what latitude and longitude are being reported in the GPGGA and/or GPRMC sentences.
  3. Saj

    Saj Active Member Licensed User

    Hi agraham,

    I have tried with professional GPS software and that works fine all the time which would suggest that it may not be entirely down to the hardware?

    I have since noticed that the hTC intermittently reports valid GPS data and all is ok, i.e. for some minutes then reverts back to -9999. FixType=Unkown when there is no valid data, =3D when there is intermittent valid data. All data items such as heading and speed exhibit the same behaviour.

    The device is an Orange mobile, so I guess it would have a custom ROM.

    I'm gonna give your GPSDriverNMEA library a go to see if that makes a difference.

  4. agraham

    agraham Expert Licensed User

    That probably doesn't mean much unless you are sure that it is using the Windows Intermediate Driver API which it may well not be doing. If you need to configure it with a Com port then it is certainly not using the API.

    GPSDriver is a thin wrapper over the Windows Intermediate Driver API. If it is returning invalid data it is because that is what the device is telling it via the WIM API.
  5. Saj

    Saj Active Member Licensed User

    Could it be because GetDeviceData is serviced differently on this device with gps properties being populated differently, since GetGPSData returns true if at least one of the properties was filled with valid data.
    Anyway I put in a If statement checking for -9999 which seesm to have fixed it.
  6. agraham

    agraham Expert Licensed User

    Why GetDeviceData, this is an entirely separate function from GetGPSData? What value are you using for the Age parameter in GetGPSData? It shows 6000 in the code fragment above, have you tried increasing it?
    Last edited: Sep 15, 2009
  1. This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
    By continuing to use this site, you are consenting to our use of cookies.
    Dismiss Notice