[APP] GPSToolPro v0.03 UP!

Search This thread

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
I'm a .NET developer and I had a Tilt (Kaiser) before getting a Fuze (Raphael). GPS issues were always ridiculous. Sometimes I'd get it quickly, sometimes it would take 20 minutes. (Very annoying when you need to drive somewhere fast and the GPS doesn't want to work right.)

GPS ID stands for GPS Intermediate Driver
What this is (added in Windows Mobile 5.0) is to use Windows to ask information about the GPS device, not accessing the GPS device itself. Utilizing the COMM port will lock the COMM port for access. This was a problem so Microsoft made the driver for developers to use. Google Maps uses this driver while in TomTom you have to manually select the COMM port.
Having Windows to read the COMM port keeps it open for other applications to use. It's also faster since it's working as a device driver to the GPS hardware. I'm not sure if HTC updates the driver but the driver takes care of calculating speed, altitude, latitude, longitude, etc as well as parsing the NMEA information.

I've seen a lot of different tools all opening the COMM port directly and as a developer, you shouldn't be doing this, not unless you're using PPC2003. I believe (and this could be just wishful thinking) that GPSID is faster at getting a fix than COMM based. I could be wrong, but that's where you guys can help.

So here's a simple GPSID based GPS Tool. Include the Microsoft written DLL (Microsoft.WindowsMobile.Samples.Location.dll) with the executable.

Maybe I can make a simple application to stay keep the GPS open in the background and if you run it again, a message box appears saying "GPS is closed" or something (like S2U2) does.

Suggestions welcome.

(Link soon---bug testing)
 
Last edited:

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
Downloads

GPSTool v0.01
--------------
First release

GPSToolPro v.0.02
-----------------
Changed name
Added Satellite info

GPSToolPro v.0.03
-----------------
Changed from VB.NET to C#
Added code to obtain cell tower information from RIL (Radio Information Layer)
Query Google for GPS position of cell tower and report to user
 
Last edited:

pkley

Senior Member
Dec 16, 2006
406
2
It does run and report correctly. Not sure if it helped with the quick fix though.

It really needs signal strength bars. The direction I'm facing and angle I hold my phone makes a difference, without bars I don't know if I'll be standing there forever or if I just need to wait a bit longer...
 

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
But what are bars?

Bars are simply graphical representation of %.

If you want the percentage, you take the SatelliteCount and divide that by SatellitesInViewCount * 100

SatelliteCount is the number of satellites locked on to.
SatellitesInViewCount is the number of the satellites that the device is seeing.

I'll make it prettier. Hopefully I can find something that can get a power usage rating and see how much mW are being sucked up by GPS

Edit: Oh wait, I see what you mean. You mean signal strength per satellite. There's something in the API about that. I'll work on that.

Edit2: Okay, got it. Per satellite I have Azimuth, Elevation and Signal Strength
 
Last edited:

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
Okay, i put v0.02
I also renamed the application to GPSToolPro.
The satellite info is Azimuth, Elevation, Signal %
I also added Heading and cleaned up the format slightly. Remember, this is really beta. After we get it working decently I'll pretty it up.

I think it's broken, i'm fixing that.

Edit: It's working now.
What's interesting is that i have A-GPS off and I'm getting 3 satellites in view from sitting in my kitchen and there are no windows nearby.

I'm guessing that means AGPS isn't off as we thought it was.

Edit2: I'm getting a GPS lock from inside my kitchen. I'm looking at the elevation values. I'm not sure what measurement it is but I have 46 and 11

Edit3: Okay, I understand Azimuth and Elevation now. It's strange but why am I getting signal inside if I have AGPS off. I'm turning it on and registry and trying it out.
 
Last edited:

pkley

Senior Member
Dec 16, 2006
406
2
I don't think it's AGPS, I think you're getting GPS signal. I'm pretty sure AGPS is completely disabled in NATF 4.1, requiring a CAB to re-enable it, and I get signal inside buildings... Signal strength GREATLY varies depending on which radio I'm using though.

RE .02 - it doesn't work on my device. Extracted on the PC, copied over via Mobile Device Center, it launches & runs for a couple seconds, then errors out. NullReferenceException

Hmm, I changed the refresh to 3 seconds and it hasn't quit yet. Maybe it doesn't like 1 second? - Update, I did a SR to see how quick it would lock, 1 second did not error, but the data values flicked on/off so fast I couldn't see them until they populated the upper right. Oh and the lock was pretty quick >30 seconds.

What do the three boxes represent? Is Left the current refresh, Upper Right the locked satellites?

On v.01 the elevation was not accurate, reporting 130' but really where I'm at is closer to 500'.
 
Last edited:

pkley

Senior Member
Dec 16, 2006
406
2
The real test is when you're nowhere near you were on the last lock. Otherwise (from what a senior member wrote), if it sees all the same satellites from the previous time it was on, the lock is pretty quick.
I think this leads to some people reporting constant 20 second locks vs several minute locks. If you never wander more than 20 miles, I'm guessing it still has the proper data stored.
 

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
The real test is when you're nowhere near you were on the last lock. Otherwise (from what a senior member wrote), if it sees all the same satellites from the previous time it was on, the lock is pretty quick.
I think this leads to some people reporting constant 20 second locks vs several minute locks. If you never wander more than 20 miles, I'm guessing it still has the proper data stored.

This is called the GPS Almanac. The GPS information is stored in the "GPS Almanac" so when you start up the GPS again, it reads what's on the GPS Almanac and gets a fix faster. This is called a hot fix. When the GPS Almanac is out of date or the location is moved then it takes longer to get a fix. This is called a cold fix.

I've managed to use Google's servers as well as the cell phone's towerID to find the approximate longitude and latitude. I'm working on putting this information into the GPS Almanac and then turning on the GPS device. It might avoid ever having to do a cold fix.
 

scdavis

Member
Sep 28, 2008
23
0
Great work CLShortFuse,

So I tested it out outside on my deck (30 degrees out, so it warmed up!) and this is the info i got...

Running JUST google maps after a soft reset:
1 minute 22 secs and 9 satellite lock

GPSTest after a soft reset
29sec, 1.2HDOP, 3D, 8 Sat

GPSTool after a soft reset
31 sec, 10 sat and a lot of info that is beyond me :)

Looks like a good tool and i'm positive with time and work it'll be great!

-SCDavis
 

pkley

Senior Member
Dec 16, 2006
406
2
This is called the GPS Almanac. The GPS information is stored in the "GPS Almanac" so when you start up the GPS again, it reads what's on the GPS Almanac and gets a fix faster. This is called a hot fix. When the GPS Almanac is out of date or the location is moved then it takes longer to get a fix. This is called a cold fix.

I've managed to use Google's servers as well as the cell phone's towerID to find the approximate longitude and latitude. I'm working on putting this information into the GPS Almanac and then turning on the GPS device. It might avoid ever having to do a cold fix.

Now that would be the bomb!
Your software did not seem to get a lock quicker once I drove 30 miles away. Course neither did GPSTest...
 

drjim

Senior Member
Nov 29, 2008
727
6
So I installed GPSToolPro. It seems to be working.

A few questions.

1. How is this app different than GPSTest?
2. How do the two columns differ in the information they offer?
3. What is the practical value of the data for each satellite?
4. What is a reasonable Update interval?
5. When should this app be used?

Thanks.
 

CLShortFuse

Retired Recognized Developer
Feb 28, 2007
684
942
It's still a work in progress. As of right now, no benefit. I've already managed to get an AGPS signal (something HTC didn't do for the device) but I'm still trying to send those coordinates to the GPS device. If I can do that, the GPS device won't have to cold fix anymore. Basically, if you have an internet connection you'll never have to cold fix anymore. Hot fixes in 30seconds or less. I have an idea of how to do it, but I haven't got around to playing with that.

I'll also try to add as many advanced functions as I can with the device including to completely power off the GPS device and not keep it on standby (shutting off GPS to any other applications in the background).

It's to be a truly complete diagnostic tool.

I know it's ugly right now I can work on the UI after I get the technical stuff working.

1. How is this app different than GPSTest?
2. How do the two columns differ in the information they offer?
3. What is the practical value of the data for each satellite?
4. What is a reasonable Update interval?
5. When should this app be used?

1) I haven't looked into GPSTest, so I don't know.
2) The top right is satellites in view and the bottom right is satellites locked onto.
3) The values are Azimuth, Elevation, Signal Strength
4) I keep it at 1 second but how often you want to refresh the GPSID information. Any value lower than the GPSID Poll frequency in the registry is pointless
5) Right now, just for seeing what's going on with the GPS. Hopefully in the future it'll have a more practical use (faster GPS fixes)
 
Last edited:

drjim

Senior Member
Nov 29, 2008
727
6
Thanks, CLSF. It sounds like it will develop into a useful tool.

While I have you, does the FUZE GPS use data from a data plan, i.e., does it get its info through the mobile provider's cellular system?
 

drjim

Senior Member
Nov 29, 2008
727
6
ps-uninstall

If I wanted to uninstall and wait for final product, how would I do that? I don't see it in my Programs or Remove Programs lists?

Thanks.
 

NotATreoFan

Senior Moderator / Developer & Moderator Committee
Staff member
Thanks, CLSF. It sounds like it will develop into a useful tool.

While I have you, does the FUZE GPS use data from a data plan, i.e., does it get its info through the mobile provider's cellular system?

If you disable AGPS from Start -> Settings -> System -> AGPS Settings, then the Fuze will not start a data connection to assist with navigating.

If I wanted to uninstall and wait for final product, how would I do that? I don't see it in my Programs or Remove Programs lists?

Thanks.

It did not install. Just delete the files.