FORUMS
Remove All Ads from XDA

[APP] GPSToolPro v0.03 UP!

683 posts
Thanks Meter: 930
 
By CLShortFuse, Retired Recognized Developer on 22nd January 2009, 08:31 PM
Post Reply Email Thread
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)
 
 
22nd January 2009, 09:28 PM |#2  
OP Retired Recognized Developer
Thanks Meter: 930
 
Donate to Me
More
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
Attached Files
File Type: zip GPSTool v0.01.zip - [Click for QR Code] (13.4 KB, 151 views)
File Type: zip GPSToolPro v0.02.zip - [Click for QR Code] (14.0 KB, 316 views)
File Type: zip GPSToolPro v0.03.zip - [Click for QR Code] (17.8 KB, 2375 views)
22nd January 2009, 10:44 PM |#3  
Senior Member
Thanks Meter: 2
 
More
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...
22nd January 2009, 10:48 PM |#4  
Senior Member
Flag Olympia, WA
Thanks Meter: 2
 
More
I will try this, currently i use GPS Tool. But yes i do need the bars as those are vital informations.
22nd January 2009, 11:03 PM |#5  
OP Retired Recognized Developer
Thanks Meter: 930
 
Donate to Me
More
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
22nd January 2009, 11:24 PM |#6  
Senior Member
Thanks Meter: 2
 
More
Glad you understand about bars & signal strength. This does launch faster than GPSTest and VisualGPSce, so that's nice.
22nd January 2009, 11:33 PM |#7  
OP Retired Recognized Developer
Thanks Meter: 930
 
Donate to Me
More
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.
23rd January 2009, 02:43 AM |#8  
Senior Member
Thanks Meter: 2
 
More
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'.
23rd January 2009, 03:02 AM |#9  
mindfrost82's Avatar
Retired Senior Moderator
Flag Illinois
Thanks Meter: 13
 
Donate to Me
More
This seems pretty good so far.

I got a fix within seconds inside my living room on 5 sats. I also loaded VisualGPSCe to verify and it showed the same thing. I loaded up iGo and it showed a strong GPS signal and an accurate position.

Of course I also use GPS about 4 hours ago, so I'm not sure if that helped it any or not.
23rd January 2009, 03:30 AM |#10  
Senior Member
Thanks Meter: 2
 
More
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.
23rd January 2009, 04:06 AM |#11  
OP Retired Recognized Developer
Thanks Meter: 930
 
Donate to Me
More
Quote:
Originally Posted by pkley

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.
Post Reply Subscribe to Thread

Guest Quick Reply (no urls or BBcode)
Message:
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes