yashsingh1/xdaforums huggingface dataset:
[Windows Mobile Apps and Games] jacko5:
Mach2003,

Your latest mod driver is working great ( PC2003 version ), connects everytime and is very smooth :)

I asked you before if it can be installed onto an SD card instead of the windows folder.

I am using windows CE 6 and it a pain to keep installing your mod driver everytime i hard reset or when battery power is lost.

So is their anyway that you can make it work on a SD card or residentflash drive ?

Maybe some sort of script to make it auto install ( windows folder ) on power up.

Maybe you can make it work inside the igo8 folder ( or tomtom folder ).

Thank you for this great software :D
[Windows Mobile Apps and Games] Mach2003:
You can try copying the driver dll to the card and then insert the full path into the registry at HKLM\Drivers\Builtin\ModDriver,REG_SZ,Dll (for example: replace "GpsModDriver.dll" with "\StorageCard\xxx\GpsModDriver.dll" ( I don't think you need double backslashes here either, but you could try that too: \\StorageCard\\xxx\\GpsModDriver.dll), but be warned that mod driver loads early on system boot, and the card driver may not be loaded yet at that time. Try different locations if you have more than one "card". Let us know if you get it working.
[Windows Mobile Apps and Games] lohtse:
Hmmmm agreed.....

I like the idea of this driver and can see the benefits when walking out in the hills etc. But would be great to know what the settings mean and what they would do...... I am unwilling to play with the settings till I no more so I suspect am not completely benefiting from the driver.. A text file about settings etc would be just great...

regards

Lohtse
[Windows Mobile Apps and Games] jacko5:
Mach2003,

Many thanks for that great information.

I installed modriver to "residentflash" and edited the registry from "GpsModDriver.dll" to "\residentflash\GpsModDriver.dll"

Now even after a hard reset the driver loads 100%.

I imagine it would be the same for SD cards etc, just different paths in the registry.

Once again many thanks :D:D:D:D
[Windows Mobile Apps and Games] Mach2003:
Cool, then I'll look into setting the driver dll path on installation if the user selects an install location other than "device". I'll have to play with this for a while...
[Windows Mobile Apps and Games] jacko5:
Thats great.

I am sure Windows CE users will appreciate that :D:D
[Windows Mobile Apps and Games] plguzman:
Unfortunately new version (2.3) didn't work in my Omnia II. Had to rollback to 1.51. The ports in 2.3 are not correctly assigned on my phone. The Mod Driver was assigned to the default port (COM4 or 7), and the real Mod Driver Port (COM2) was not enabled. Of course, didn't detect any satellites.
[Windows Mobile Apps and Games] JJKameR:
It works good on hd2.

I had to force iGo to detect properly the gps port...

I will test it better tomorrow.
[Windows Mobile Apps and Games] lqbweb:
For me, on omnia 2 too, didnt work either... No sat found on iGo or tomtom... Beeline says that the GPS doesn't support NMEA protocol...... could you upload 1.51 version plz?
[Windows Mobile Apps and Games] Mach2003:
Try using the MsApi port on the OmniaII to see if it fixes the problem. GpsModSettings, ports.
[Windows Mobile Apps and Games] lqbweb:
i've found 1.51 version and it works perfectly..... i'll reinstall 2.3 again and try what you tell me....
[Windows Mobile Apps and Games] lqbweb:
didn't work neither.... ive gone to "Ports" and I checked MsApi. still exactly the same problem.....

By the way if i i click on the gpsmod application, the last line says "NO FIX on 0 of 0 Sats" I remember that on the 1.51 version there was something like "NO Fix on 0 of 9 sats"....
[Windows Mobile Apps and Games] Mach2003:
Before you uninstall 2.3, can you enable logs and enhanced, save, save, and then re-run mod settings for 60 seconds or so. Send me the two txt files from device \Mach2003 so I might see what is happening.
[Windows Mobile Apps and Games] lqbweb:
there you have....

Ive enabled it with "extended" option and track log.... ive let the program at background on and ive performed a search on beeline program with the given error....

if you need anything else....
[Windows Mobile Apps and Games] lqbweb:
i think i didn't do it correctly, i didnt close the program.... anyway, here you have another sample with the track log disabled (i suppose it generates too much crap)...

in this file you have another file called ModDriver....

hope it can be useful

edited: file was empty
[Windows Mobile Apps and Games] Mach2003:
Your msapi port is reading the way it is supposed to, except that it has no FIX. Soft reset your device, and then Let it have a good view of the open sky for a while. See if it then gets a fix.

Track Logs are written to storage card, not to device memory, so they don't affect these logs at all, but if you don't want track logs, then you don't need to enable that feature.
[Windows Mobile Apps and Games] barty22:
Enabling track logging will create .gpx files (gps tracks) on the storage card (mach2003 folder), which can for example be opened in google earth! I believe these track logs will be erased and renewed every time you run gpsmoddriver or when you use any gps application which uses the gpsmoddriver com port. Using this feature, you can create gps track logs of ALL gps applications :) When you also select 'raw data', the 'input' gps data is logged to a seperate track log, the normal track logging logs the gpsmoddriver 'output'.

This is a VERY cool feature of gpsmoddriver!
[Windows Mobile Apps and Games] lqbweb:
but beeline gps doesnt show any sat at my balcony neither in tomtom or igo... absolutely nothing... but on 1.51 version i can see the bars in tomtom or the sat map on iGo moving on although not fixed of course.... im indoor now so i cannot test it all the good but ill test it tomorrow while im driving. something goes wrong on this version for sure
[Windows Mobile Apps and Games] Mach2003:
Mod driver *may* not be sending the sat's in view information when un-fixed, I noticed that in your logs, but did not check into why that is yet. Once you have fix, the sats in view information is certany sent.
[Windows Mobile Apps and Games] lqbweb:
ive let the phone on the border of the balcony (im crazy?) and after a while it got fixed on igo and all the sats showed... so you are in reason, but is it normal that your driver is not sending if not fixed?
[Windows Mobile Apps and Games] Mach2003:
It is sending data when unfixed, but the sats in view information is unintentionally missing. When un-fixed, the sats in view information is all that iGo or TT would show.
[Windows Mobile Apps and Games] plguzman:
So, even if the ports look not properly assigned on Omnia II and doesn't show nothing for a while, it means that I just have to be patient and will get a fix? Also, I get a quick fix with 1.51 (that's the reason I use this software). Will the fix with 2.3 be always slow as with the default driver?

Cheers.
[Windows Mobile Apps and Games] dampam:
+1.

Should also make a mention on the various system components, like the compass, G-sensor, data, etc, used and its purpose/effect.

I have got v2.3 working almost perfectly on my HD2 (yes with very minimum erratic position problem, so far) with default settings.

Look forward to knowing the parameters better to fine tune.

Thanks March2003 for the excellent piece of work.
[Windows Mobile Apps and Games] lohtse:
Well I installed and played with the driver for two days and have uninstalled it.

It seemed to work well at first but then I noticed when using Memory map and Tomtom that it was a little off with location..Well a little is a bit mild. As was nearly 2 miles out on average.. So I uninstalled it deleted reg settings etc then reset and reinstall.... And well the problem persists so have had no choice but to complete remove and nolonger use it......AM not sure if I did anything wrong as didn't change any settings as don't know what they do so left them...

Any ideas folks??

regards

Lohtse
[Windows Mobile Apps and Games] Mach2003:
Do you have myLocation installed?
[Windows Mobile Apps and Games] lohtse:
I do but have it disables as not required at this time......

regards

Lohtse
[Windows Mobile Apps and Games] Mach2003:
myLocation writes cell location to the registry. Mod Driver reads this information, and compares it to the last known GPS position and uses the latest time. When you first open a GPS port after a soft reset the last GPS time is zero, so any Cell Tower position is going to be newer, no matter how old it is.

So even though you have myLocation disabled, the 2.3 version could still use it's very old position information.

I am working on an update that fixes the way last known, and cell tower position is used (this will repair sat view when un-fixed too). The new update will make sure cell tower location does not get used during loss of fix, unless it is recent.
[Windows Mobile Apps and Games] lohtse:
thank you for that info.will wait for update as current version is useless for me due to nature of why I use mapping software...

again thank you

regards

Lohtse
[Windows Mobile Apps and Games] lqbweb:
Today, i went out to run a bit. The first time with my omnia 2... Normally, with Nokia 5800 at the end it reports like 6 or 7km, with my omnia and this driver v2.3, with Run.GPS software it says 11 :S and the avg. speed much more above the real one...... Maybe is the Run.GPS fault.... but that soft looks like with good support (although not better than yours :D :D)....
[Windows Mobile Apps and Games] Mach2003:
What was your approxamate real min/max/average speed?

What average speed was reported while using ModDriver?

Were you using walking or driving profile, and were any settings changed from defaults?

You can turn on track logging, and enable raw data. Then load up google earth on your pc and "open" the gpx files in it. Or better still if you have a map program on your PC (Garmin Mapsource for one), that will read GPX files and show your tracks plus the average speed, and length. You can then compare the raw GPS track to the Modified track to see what is different.

You want to set the speed threshold to a value ABOVE your "walking" speed so that Lag is not inserted while walking (or running).

Edit: 2.3 still has a minor bug with myLocation installed, you may also have gotten a cell tower location mixed in there if you lost fix for a moment.
[Windows Mobile Apps and Games] dampam:
Hi March2003

Is it correct that in v2.3 I will still be paying for data usage due to myLocation even if I turn off my data connection on my HD2 ?

Will the option to turn off myLocation (to avoid roaming data charges while overseas) be available in your next release ?

What will I miss without myLocation (data connection) in ModDriver ?
[Windows Mobile Apps and Games] Mach2003:
Mod Driver NEVER uses a data connection under any cases!!!

You can disable (or uninstall) myLocation to prevent IT from using data.

Mod Driver, only reads myLocation data from the registry, determines how old it is, and decides if it should replace 'old' GPS position data with cell tower location. As long as you have fixed GPS data myLocation data is never even read from the reg. Fixed GPS position is written to the myLocation reg, and any app that uses myLocation will then get "accurate" GPS location instead of "close" cell tower location.

Tonight, I went for a drive with all the GPS ports disabled, and so was using cell tower location alone. I have to say that I connected to 4 different towers in a short drive (15 km in a loop), not as good as GPS, but better than nothing. I think I might install ModDriver and myLocation on my Hermes (it has no onboard GPS).
[Windows Mobile Apps and Games] Mach2003:
New version 2.40

Attached to the first post, in both PPC2003, and standard versions.

QueStub updated as well because it had the "logfile.txt" bug too.

- Enabled Sat display when unfixed GPS is being read, now you will get sats in view when unfixed, after the 10 second "old data" delay.

- Changed when and why I send Cell Tower, Last Known or Live GPS data, when an applcation first opens a Mod Driver port I send last known position for up to 10 seconds or until you get a fix. If the myLocation position is newer than the last GPS fix I have saved (or if I have never saved a GPS location, like just after a soft reset), then celll tower location is used instead. If you loose fix (like when you enter a tunnel), I will contunue to guess your position for up to 10 seconds, and then start sending unfixed data from the GPS. After 10 more seconds of un-fix, I will revert to cell tower position. If youe GPS goes offline (power off your BT GPS), then I will guess your position for 'from 2 to 5 seconds' before reporting the lost fix, and then after 10 seconds revert to cell tower. Of course if a second device is available (internal port), then it will come online within a few seconds, and the cell tower or lost fix will never actually be sent.

- Added support for installation to external storage, READ the info on post 1

- Fixed "logFile.txt" creation bug, this file should never be created in a production version.

- Enabled MSAPI by default on Cab install when save settings is not used (or on new installations), it is better than COM anyway when it works. And it does work for almost everyone. If you have no GPSID support, then disable this check box under ports.
[Windows Mobile Apps and Games] dampam:
Hmm..do I now understand correctly that 'Sleuth's myLocation Service' is not embeded into ModDriver and I have to install the myLocation service by Sleuth seperately so that ModDriver can use the location data ?:confused::confused:

What about the HD2 location service ? Will modDriver use its location data ?
[Windows Mobile Apps and Games] Mach2003:
Yes your current understanding is correct, my Location service must be installed in order to use it's features. Mod Driver will only use it when it is installed as well as mod driver. myLocation service is NOT contained in my cab.

As usual with HTC, there is no published SDK for the HTC location service, if you find a way to access it, I'll be glad to include it in my driver. (actually I have never sreached to see if anyone decoded it yet).

EDIT: You can tell if you are using myLocation, in ModSettings, the phrase "Cell Tower" will show instead of "Last Known"
[Windows Mobile Apps and Games] dampam:
Installed myLocation and ModDriver 2.4. Working perfectly on my HD2. Unfortunately I am no programmer and have no clue where to look for the SDK, sorry.

Have just posted in Sleuth's myLocation thread asking if it's possible to record the cell tower ID and coordinates in a text file/ GPX file.

It will be great if such information/ GPX file is available so that it can be easily displyed on Mapsource, Google Earth etc...

Any plan to include this in ModDriver, perhaps in the log file ?
[Windows Mobile Apps and Games] Mach2003:
You can 'almost' do that now. Disable all ports in mod settings, save. Now you will get cell tower location alone. Enable track log, no point in enabling raw, celll tower has no raw input. The ModDriverOut.gpx found on card\Mach2003 will be your current cell tower positions. The only thing missing is the cell tower id numbers. You will also get an entry every second, that is the same tower 'most' of the time, but since GPX is also just XML, you can then edit it as you like (or just edit it in mapsource).
[Windows Mobile Apps and Games] cybermaus:
Cool program.

I was always annoyed by the HTC/Qualcomm chipset (at least on my HD) not providing the proper altitude, as it lacked the WGS84 Ellipsoid to EGM96 Geoid correction as mandated by NMEA. I even went as far as to program a correction routine into gpsVP myself.

Recently I learned that the MS GPS Intermediate Driver does do the proper sealevel correction, even when the input is missing it. And this driver, by converting GPSID back into COM port, allows any program to have the correct altitude.

Thanks
[Windows Mobile Apps and Games] Mach2003:
I have never paid any attention to GPS altitude before now. When I use topo maps, Garmin corrects the altitude to the DEM data in the maps.

I have a Garmin GPS-10X Bluetooth SirfIII unit plus the internal GPSOne in my Diamond. Just now I did a test using the three ports (BTCom2, Com4, and MsApi) and inspected the log data generated, while fixed, sitting at my home desk.

COM2: 429.9,M, -16.0,M

COM4: 395.4,M,0,M

MsApi: 0.0,M,377.4,M

The MsApi is about 16 meters lower than the Com4 reading, however the BT reading is higher than either, even with the -16.0 applied. I have always thought that GPS is a poor way of getting altutude, but here we see that the same device reports different values (one corrected, one not?), and another, assumably more reliable, device reports a different value all together.

Edit: Your correction table for gpsv, would have me at 0 meters.

Edit again, just noticed that MsApi is actually reported as Altitude = 0.0, AltitudeWGS84 = 377.4
[Windows Mobile Apps and Games] rpettipher:
Yes, an excellent program which seems to be working fine on my HTC Touch HD, and as cybermaus says, corrects the altitude with an ellipsoid to geoid conversion, making up for the deficiencies in the qualcomm chip set.

However, looking at the NMEA messages generated, there is still a problem.

The GPGGA message field 9 now correctly contains the altitude above mean sea level, and this is enough for most GPS programs. However the field 11, which should contain the geoid separation (according to the NMEA Reference manual) now contains the height above the ellipsoid.

For example, in my case I would expect to see .....503.3,M,50.0,M....

The qualcomm chipset gives me ....553.3,M,0,M.....

The new driver gives me ....503.3,M,553.3,M....

I do not suppose that this error will worry many people, but it would be nice to get it right unless you have a reason for it.

Anyway, thanks for a fine program.
[Windows Mobile Apps and Games] cybermaus:
Regarding my '0' meters. Thats not 0 meters altitude, but zero meters altitude correction. However, I suspect you are looking at a block of zero's. on US east-coast, not filled in yet, which has to do with an old patch being included in the gpsVP build, sorry about that.

Anyway, your MSAPI numbers are confusing:

Your Sirf III seems to say that it does calculate Geoid, and that your true altitude is 429M. Also it is telling us at your location the Ellipsoid is 16M above the Geoid.

Your GPSone confirms to me HTC does not calculate geoid/sealevel correction. If it would, it would be 16M higher, thus 411M. Could it be the 18M difference between is just within the 'normal' GPS variation? Bad reception maybe?

But the MSAPI numbers? Those confuse me? When you say MSAPI, you are talking about this structure?

I checked that data structure, and it is giving me a value for both the altitude and the altitude correction (float flAltitudeWRTSeaLevel;

float flAltitudeWRTEllipsoid; )

---

What rpettipher is saying is that according to NMEA, though field 9 must have the corrected altitude, field 11 should have the correction value itself, so that client programs can if they wish undo the correction by adding 11 and 9 together. In any case, like rpettipher, I can tell you that your driver makes other GPS programs display the proper altitude.

You have to understand we live in areas where the correction is not within normal GPS margins (like your 16M) but a full 45 and 50 meters wrong, so it makes it more important.
[Windows Mobile Apps and Games] rpettipher:
I think you mean "below the Geoid", as you say the height above sea level + correction = height above ellipsoid.

Your calculations confirm this.

The MSAPI field names are confusing, in particular flAltitudeWRTEllipsoid which in fact is the correction value, and seems to have been a mistake, as indicated here: http://www.generation-nt.com/us/wrong-ellipsoid-altitude-value-returned-gspid-help-100343552.html

Nevertheless I share cybermaus's confusion over the meaning of the figures on the MSApi line.

Not surprising there are problems.
[Windows Mobile Apps and Games] Mach2003:
Yes by MsApi I refer to the GPS_POSITION structure provided by MS, GetGPSPosition returns this struct, all I do is translate it back to NMEA using the same routines that I use for re-writing the COM port input values (COM input I translate into GPS_POSITION). So the zero I refer to is actutally a zero in the struct member.

Do you have a recomendation of what I should modify to make it work correctly, bear in mind that at the time I will have only one of the COM input field 9 with altitude field 11 blank, or the GPS_POSITION structure where the two seen, to be reversed (although a short fixed test while sitting at my desk is hardly proof).

The MsApi routines actually get data from the Qualicom chip via IO calls to GPS0: device, so the chipset is actually calculating the values either way. When I debug the gpsapi.dll file, it does no conversion of the data that gpsdriver.dll provides to it. The COM output (NMEA) may be bugged though, it has several other problems in it as well.

I am near the West coast in Canada 119 west, 49 north.
[Windows Mobile Apps and Games] cybermaus:
No, I am pretty sure in Canada the Geoid sinks below the Ellipsoid. As a result altitude to Geoid will read higher then altitude to Ellipsoid. (If you are flying well over it, the distance to the lower Geoid is greater.) And to correct from Geoid back to Ellipsoid, you add a negative value like the -16 we have.

And I respectfully suggest you check again, because if you get a 0,M,377,M than we could not be getting any altitude at all. I am hazarding the notion you meant you get 377,M,0,M ?

Also, again with all respect, check the code. because if you are getting these values:

COM2: 429.9,M, -16.0,M
COM4: 395.4,M,0,M
MsApi: 377.4,M0.0,M

then I suggest that COM4 and MSAPI *are* the same, but the altitude correction value was accidentally added to the altitude *again*. (395-16 = almost 377)

But that last one is a total guess. I have admit, it is difficult, with GPS doing a random walk in altitude as well, and the variation is as big as the number we are looking at.

Lets first make sure we are certain of the values we are getting. I will fire up some source to the GPSID myself, it may be easier testing here in the 45 meter correction geography, the numbers are more clearly distinct from random walk errors.

yes, and I was under the impression this GPS0: device serial port similar to COM ports (but some interchip variant like i2c) with already the NMEA stream in it. The hints I had to come to this conclusions were the fact that the MS documentation refers to the NMEA stream as the 'RAW' data. And also the registry values for it are typically those for a serial port reader (protocol COMM, polling time 1000 (ms), buffer 3000 (bytes)).

So I was in the assumption that the COM port NMEA data we see is the unmodified chipset data. I cannot bring myself to believe the GPSID would pass the NMEA data, only not field 11.

I find it more likely to assume GPSID does its own calculations for the altitude, especially since that is the reason why field 11 exists, so the correction can be undone so client programs can use their own routines (better ones, possibly based on newer survey data like the newer PGM2000)

NASA / MIL / EGM96 claims your Geoid altitude to be: -16.31M

(You would need a post 0.4.20 version of gpsVP, as it is in the portion of the matrix that was not filled in yet.)

Oops: Look at how much text I typed. I fear we may be hijacking your thread :D