Jump to content

AGPS Location Awareness API Incoming


Guest Snow02

Recommended Posts

So I was wanting to implement location awareness for titanium weather, and the only available winmo location service I could find is not cdma compatible. I now have a prototype based on DeepCast that pulls gps coordinates using cell towers that is extremely accurate. It writes the values to the registry for easy manipulation by other programs or scripts. I still need to work on it a bit and would like to implement it as a service, but a backgrounded startup app would be just as well I suppose, at least for now. I don't know if anyone has use for location aware ability, but we'll have it soon. And this should work for any phone on any carrier. I'll post a proof of concept tomorrow.

Link to comment
Share on other sites

Alright, here's a proof of concept. The program will collect your AGPS position (you can be indoors no problem as long as you have a cell signal), display your gps coordinates as well as a map with your location. This program also places your coordinates in the registry at HKLM\Software\Locaware. Currently it's set to update every five seconds, but I'll probably turn that way back to something like every 15 minutes in a final release. The source API also has the ability to notify services of changes in location to cause them to update automatically, so there's definitely some flexibility in program design around this.

Someone install this and let me know that it works ok for someone other than myself? Thanks.

To install:

1) Unzip and copy LocAware.cab to your phone and install to device.

2) Run the program from the start menu. It's called LocAware and has a satellite icon.

3) You can start and stop it from within the program with the left soft key, and it won't run after closing, so there's no worry about it constantly pinging for your location.

If it gives you an error the first time or two, try running it again. There seems to be an initialization issue sometimes. I'm just trying to get confirmation it will work before proceeding. Note you do need a data connection, whether that's wifi, cellular, or via activesync or you will definitely get an error. This is because it's trying to pull the map data. I haven't implemented error handling for this as I plan to remove the map pull in the final release, and it's only included here as a quick proof of coordinate accuracy.

I'm getting five-to-ten second agps fixes - indoors - to within 50 feet or so. I'm curious to know how it works for someone else. Thanks again for the feedback.

Video Demonstration:

LocAware.zip

Edited by Snow02
Link to comment
Share on other sites

I tried running this at least 20 times but all I get are unexpected errors in DeepCast.exe and I don't have the net3.5 messages cab installed to see the detailed error. Seems to be right after the Lat & Long change from - Searching - to 0 I get the crash error.

I'm running DC23 still with yardi's last 23568 rom.

Link to comment
Share on other sites

I tried running this at least 20 times but all I get are unexpected errors in DeepCast.exe and I don't have the net3.5 messages cab installed to see the detailed error. Seems to be right after the Lat & Long change from - Searching - to 0 I get the crash error.

I'm running DC23 still with yardi's last 23568 rom.

Hmm. Ok. Thanks. Anyone else?

Link to comment
Share on other sites

I've pulled the old installer and made a cab install. If you had a problem with the original, please try this one. There is no need to restart after installing this one.

Link to comment
Share on other sites

Guest Dork6243

worked after changing gps com port to NONE in samsung settings but that fugged up other programs that use gps, so setting to com1 seems to do the trick. so does this work as a fluffer for other programs such that dont use agps? not sure if it was coincidence but google maps had me locked onto 3 satellites indoors seconds after it opened, GPSWeatherRadar not so much though

Link to comment
Share on other sites

Thank you for the info. I believe your changing the gps com port was just coincidence, as it doesn't use the gps receiver. I've just always left my com port on 6 (the default) and never had any issue with any gps programs. Though I can see where turning it to none would cause a program that relied on a gps connection to fail.

How accurate was your position?

The API actually uses the same tower location database as google maps. The settings softkey doesn't presently do anything, so that's normal.

I'd like a couple more people's input if possible.

Edited by Snow02
Link to comment
Share on other sites

nevermind that now i cant get it to work at all -ill keep trying, and one more thing, the settings softkey isnt responding

Hmm. I'm having an issue myself now too.

Link to comment
Share on other sites

Guest tedkord

As an API, it'll need to be called by programs, right? Or, will this make programs that currently don't use aGPS (such as Bing) work with it?

Or, will it make those that do more accurate? My Sense weather is insisting I'm in Spain tonight. I thought I was in Southern New Jersey...

Link to comment
Share on other sites

As an API, it'll need to be called by programs, right? Or, will this make programs that currently don't use aGPS (such as Bing) work with it?

Or, will it make those that do more accurate? My Sense weather is insisting I'm in Spain tonight. I thought I was in Southern New Jersey...

It won't necessarily need to be directly called by programs, and it won't work with something like Bing. What it will do is allow another program the ability to have access to constantly updated gps coordinates via the registry - or, a program can be incorporated into the source so that the location service will notify the program when the location changes.

The simplest use will be to have a program you want to be location aware to check the registry every X minutes and update according to the coordinates there. This is how titanium weather will work. Once I get this working I'll release an updated titanium weather.mscr along with it as an example implementation.

I know sense also uses agps for it's location service, but I'm not very familiar with sense in general, and have no idea if their location service is editable in any way.

Link to comment
Share on other sites

Guest abuttio

Does this pull the ephemeris data off the cell towers to update the GPSOne chip within the phone to actually use the AGPS function, or is it just another version of gpsmoddriver like on XDA-Developers?

If it's the the former, then awesome.

If it's the latter, someone's already developed it for almost a year now.

If you want to truly get AGPS, I'd suggest you reverse engineer the Verizon Nav program and understand how it talks to the GPSOne Chip in the phone, Especially with the PDE servers. This project would certainly be an undertaking but can imagine that it would be worth it for the life of Windows mobile on this phone.

As of now, you cannot modify the PDE server info in QPST on the i920.

We don't even have to use Verizon's PDE, it would certainly be nice to use any of them. Several companies still keep them "open"

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.