[GPS] Mod Driver - GeoCaching, Lag, Compass, Cell Tower, Altitude, GPS support.

Search This thread

1milenia

Senior Member
Jan 15, 2009
729
23
i have a tmobile touch pro 2 gsm

and want to install this mod
i have nrgs latest rom and my port is com3
i have garman xt

what settings should i use
or is there a cab


volume3022.png
 

skurakai

Member
Oct 30, 2008
30
0
Ostrava
Cell tower

Hi,

i dont understand why, but GPS mod driver doesnt work. No fix, no location due Cell Tower if GPS signal lost, ... nothing.

I try change settings, change ports in applications, try other version of GPS Mod Driver but nothing helps me.

I'am sure that some previous version of GPS Mod Driver work on my device fine.

HTC Tytn II, WM 6.5, integrate GPS, GPS application (navigation): SmartMaps, PocketDrake, version of GPS Mpd Driver 3.4.3 on internal memory of device.

Maybe some problem in setting? If need i can send screenshot of settings.
Thanks for help

skurakai
 

RoryB

Inactive Recognized Developer
Sep 4, 2008
2,921
766
Lexington
Hi,

i dont understand why, but GPS mod driver doesnt work. No fix, no location due Cell Tower if GPS signal lost, ... nothing.

I try change settings, change ports in applications, try other version of GPS Mod Driver but nothing helps me.

I'am sure that some previous version of GPS Mod Driver work on my device fine.

HTC Tytn II, WM 6.5, integrate GPS, GPS application (navigation): SmartMaps, PocketDrake, version of GPS Mpd Driver 3.4.3 on internal memory of device.

Maybe some problem in setting? If need i can send screenshot of settings.
Thanks for help

skurakai
First, so we understand better.

Does GPSModSettings start and show fix on one sat?

Then after a period of time does it show:
No FIX?
Fix on 0 of some sats?

Or are you saying that you get a fix on sats and after some time you lose that fix?

GPSMod gives you a fix when it starts based on the last fix you had at the current cell tower or the cell tower's known location. After the timeout it switches over to GPS sats. I do not think it switches back to cell tower based fix if you lose track of the sats.
 

gadgetuk437

Senior Member
Dec 29, 2006
313
23
Devon/Cornwall border, UK
Humble Request

(To OP)
Please post new betas in the first post and update the thread title.
I apologise for not following this thread with the assiduity it deserves!

(a link to the current page is handy too)

Feel free to ignore me :)
 

Skyguar

Senior Member
Jan 23, 2010
272
34
Hello Mach2003,

You have promised the EXT package... :eek:. Just to remind... If you have some time, some day... ;)
 

omek07

Senior Member
Oct 15, 2007
977
107
Hello Mach2003

I cant use the 3.5.8 because i can see the satellites but it cant lock position and i use the 3.5.7 but i have problem because when i close the Gps program ( Igo or Destnator) and i open it after (for example 1 hour) it cant lock position. I have to soft reset the omnia .

Can you help me ????
 

Larry Brent

Senior Member
Oct 8, 2006
81
2
Hi,
with the newest beta version i had really big problems on my holliday journey.
In the middle of the way after about 1000 km i had to switch back to the internal com port, because my O2 shows very strange behaviour. For 3 times iGO closed suddenly, without reason. Last time it closes iGO and the time/date seems to be at 1.30 PM and date something in year 2036. That was really a bad thing, because no more routing while driving, had to go to a parking place and repair it. On the following 1000 km there where no problem with iGO (and the internal com port). Only the height display is wrong (but that's the reason for me using the moddriver).
Another thing is, while crossing tunnels the moddriver switches off GPS after 10 seconds and the routing arrow in iGO is greyed out. With internal port without gpsmoddriver, the routing arrow goes on in tunnels, does "simulating" the routing.

greetings from spain

Larry
 

wandel

Senior Member
May 2, 2007
72
2
Kyiv
Is there any help or explanation for Mod Driver?.. especialy for screen rotation
I have htc hd2.
When I make screen rotation(90 degree left - Landscape) all my gps applications show me wrong compass direction(90 degree right).

Is there any way to repair it?
 
Last edited:

ndiqbal

Member
Jun 15, 2005
13
0
Super! using the 3.5.8 on my HTC HD (Blackstone) excellent. Tomtom lost GPS, I had to re-store the O\S thios worked after installing a few apps. then GPS is lost, but with this app. Its great.
Thanks a million
 

majin

Senior Member
Apr 28, 2006
182
37
Hi Folks, I had installed GPS Mod Driver 3.4.3 on my Samsung Omnia 2 (I8000). Firstly I must say my Omnia 2 GPS tracking improved dramatically on garmin XT after installing GPSModDriver 3.4.3, however I not sure if I configured it the best COM port options with it. I am confused abt the COM port settings to use for optimised satellite tracking response for Garmin XT.

The GPS Mod Driver 3.4.3 was automatically installed to COM2 on my phone. Default GPS com port for program to use is COM7.

I have to switched to COM2 for program in my phone setting before I can set my garmin to use COM2. However it always bounce back to COM7 after awhile. Also when I launched the GPSModSetup application, I had to use COM7, if not it cannot locate satellite. When using COM7, the GPSModSetup will show saltellites under profile of: Mod COM7, is this normal?:confused:

Another query is on the default PORT setup in the GPSModSetup application menu which showed External GPS COM ports/priority checked for MSAPI-1, COM7-2. I cannot check COM2 (both Enable & Fix check boxes) OR change it's priority setting of 99 and save the new settings. It was always unchecked itself for COM2 "Enable" box but leaving the "Fix" box checked with priority setting at default of 99. Why is this so, it this normal? Does it mean that the GPSMod driver is not being used or enabled then?:confused:

I'm really don't understand what is the difference between COM7 used by internal GPS device, COM2 assigned to GPSModDriver and the Intermediate GPS Driver. :eek: I read here that for Garmin XT COM port switching issue was resolved by using Intermediate GPS Driver--Can anyone explain what does it means and when Garmin XT is setup with Intermediate GPS Driver, which COM port is it communicating with (I guess it's COM7) and whether the benefits of GPSModDriver is being used then. What's the point of installing GPSModDriver?

Also I noticed when i launch GPSModSetup application, it stays in the background even after exiting the software and it really drains my battery. I observed that the GPSModSetup.exe is still running on my phone. So I suspect the GPS is somehow still ON. Again, is this normal:confused:

Lastly, after installing the GPSModDriver, the Nogarder application cannot track satellite anymore (regardless of COM port setup used) although the menu options are still accessible.--anyone encounter this?

Appreciate your input. Thx a million.

After installing Google Maps and trying to make it work on my Samsung OmniaPro GT-B710 (I already had TomTom and GPSModDriver 3.5.8 working fine), my device got crashed (the GPS Hardware was not detected anymore!) and I was obliged to make an Hard Reset.

After the hard reset, I tested a dated GPSModDriver version (maybe 3.1).
It set the default GPS COM port for programs on COM2.
Then I installed TomTom (set on GPSModDriver) and Google Maps (set on COM2).
Bot were working fine, even at same time!

Does the last versione 3.5.8 of GPSModDriver make the same?
 

Mach2003

Senior Member
Sep 3, 2008
1,020
88
Kelowna
Use Gps Intermediate Driver on Garmin Mobile XT, any COM port selection always reverts to the internal Com port. GPSID is using ModDriver, It uses NO COM port, it is an API. ModDriver uses MSAPI (same thing as GPSID) by default, that also does not use a COM port. ModDriver installs a special copy of gpsid.dll that patches into ModDriver's data.

ALL versions of MoidDriver will use the same port assignments. (Sonce 1.x beta's anyways).

I use the latest beta with my OmniaII all the time, I am not seeing any of the reported problems, but then I also use the installer's default settings. I have seen the msapi port return no sats for some time, and have had to SR to get them back, but that has been VERY RARE.

I can't see any reason ModDriver would crash hardware GPS requiring a Hard Reset, soft reset at best should have fixed it.

Yes I did promise an EXT and OEM copy, now that I am home again for a while I'll get working on it.
 
  • Like
Reactions: Skyguar

majin

Senior Member
Apr 28, 2006
182
37
Use Gps Intermediate Driver on Garmin Mobile XT, any COM port selection always reverts to the internal Com port. GPSID is using ModDriver, It uses NO COM port, it is an API. ModDriver uses MSAPI (same thing as GPSID) by default, that also does not use a COM port. ModDriver installs a special copy of gpsid.dll that patches into ModDriver's data.

ALL versions of MoidDriver will use the same port assignments. (Sonce 1.x beta's anyways).

I use the latest beta with my OmniaII all the time, I am not seeing any of the reported problems, but then I also use the installer's default settings. I have seen the msapi port return no sats for some time, and have had to SR to get them back, but that has been VERY RARE.

I can't see any reason ModDriver would crash hardware GPS requiring a Hard Reset, soft reset at best should have fixed it.

Yes I did promise an EXT and OEM copy, now that I am home again for a while I'll get working on it.

Sorry Mach2003. I didn’t want to hurt you.

I don’t know very well about APIs, MSAPIs, GPSID. So, excuse me.
I just try to say what happened.

After the GPS was not able to fix anymore, I tried to change some settings in both in Win Mobile, and in GPSModDriver. No solution at that point. So I tried to uninstall/install several times GPSModDriver. No way to uninstall it completely.
At the end, the GPS (hardware) was not detected anymore (seeing at the function *#1472364#).

After the Hard Reset, every thing works fine with the last beta of GPSModDriver.
The strange thing is this: to let Google Maps getting a fix, I need to launch Tom Tom before. After Tom Tom gets his Fix, Google Maps at same time gets Fix too.
That’s it.

Thank you for your great work.

You have a great knowledge about this facts and you have Samsung too, so let me ask you. How can I know (in the registry keys settings) which are the COM ports involved in Data Connection, ActiveSync, and Wi-Fi? Is it possible that they have a conflict with the GPS standard COM port for Samsung (generally COM7/4/8)?

Regards.
 

Mach2003

Senior Member
Sep 3, 2008
1,020
88
Kelowna
Sorry Mach2003. I didn’t want to hurt you.
I am not offended or hurt, no problem here.
I don’t know very well about APIs, MSAPIs, GPSID. So, excuse me.
I just try to say what happened.

After the GPS was not able to fix anymore, I tried to change some settings in both in Win Mobile, and in GPSModDriver. No solution at that point. So I tried to uninstall/install several times GPSModDriver. No way to uninstall it completely.
Please tell me what portion was left installed, my un-installer should be "flawless" now ;)
At the end, the GPS (hardware) was not detected anymore (seeing at the function *#1472364#).
I don't know that short code, on my device it reports waiting, and then failed.
After the Hard Reset, every thing works fine with the last beta of GPSModDriver.
The strange thing is this: to let Google Maps getting a fix, I need to launch Tom Tom before. After Tom Tom gets his Fix, Google Maps at same time gets Fix too.
That’s it.
What port are you using for Google Maps and TomTom? Is it the ModDriver's Output port?
Thank you for your great work.

You have a great knowledge about this facts and you have Samsung too, so let me ask you. How can I know (in the registry keys settings) which are the COM ports involved in Data Connection, ActiveSync, and Wi-Fi? Is it possible that they have a conflict with the GPS standard COM port for Samsung (generally COM7/4/8)?
Use your favorite Registry editor, search for the string "COM", without quotes. Pay attention to HKLM\Drivers\BuiltIn and it's sub-keys. Look for the value "Index" within the same key, this is the com port number. There are other places too look as well.

Code:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial0]
 "Prefix"="COM"
 "Index"=dword:3
 "FriendlyName"="Serial for Modem"
 "Dll"="bt_serial.dll"

So Serial0 (Serial for Modem) device is on COM3, using Bluetooth Serial driver.

If there is no index value for that key, then Windows assigns the first un-used device starting at 1 through 9. Nore that index 0 is valid and a device can use COM0 (I assign the USB sync port to it).
 

Mach2003

Senior Member
Sep 3, 2008
1,020
88
Kelowna
I know I posted this before in this thread but here it goes again.

For my OmniaII (B8000) I rearrange my COM ports by using this registry file (when I build the rom, but one could just import it and soft reset).
Code:
[-HKEY_LOCAL_MACHINE\Comm\IrDA]

[-HKEY_LOCAL_MACHINE\Comm\Irsir]

[-HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IrCOMM]

[-HKEY_LOCAL_MACHINE\Drivers\BuiltIn\IrCOMM\Unimodem]

[-HKEY_LOCAL_MACHINE\ExtModems\GenericInfraredModem]


[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial0]
"SysIntr"=dword:00000017
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,00,00
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
"Tsp"="unimodem.dll"
"FriendlyName"="Serial for Modem"
"DeviceType"=dword:00000000
"Port"="COM3:"
"Priority256"=dword:0000009F
"Order"=dword:00000001
"Dll"="bt_serial.dll"
"Index"=dword:00000003
"Prefix"="COM"
"ISTTimeouts"=dword:00000200
"InterruptBitsShift"=dword:00000001
"MemLen"=dword:0000003C
"MemBase"=dword:7F005000
"Irq"=dword:0000003D
"DeviceArrayIndex"=dword:00000000

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial1]
"SysIntr"=dword:00000019
"DevConfig"=hex:10,00,00,00,05,00,00,00,10,01,00,00,00,4B,00,00,00,00,08,00,00,00,00,00,00
"IClass"="{CC5195AC-BA49-48a0-BE17-DF6D1B0173DD}"
"Tsp"="unimodem.dll"
"FriendlyName"="Serial for Bluetooth"
"DeviceType"=dword:00000000
"Port"="COM5:"
"Priority256"=dword:00000068
"Order"=dword:00000001
"Dll"="bt_serial.dll"
"Index"=dword:00000005
"Prefix"="COM"
"ISTTimeouts"=dword:00000200
"InterruptBitsShift"=dword:00000001
"MemLen"=dword:0000003C
"MemBase"=dword:7F005400
"Irq"=dword:0000003E
"MaxRxQueue"=dword:00000001
"MaxTxQueue"=dword:00000001
"TxWaterMark"=dword:00000020
"RxWaterMark"=dword:00000020
"DeviceArrayIndex"=dword:00000001

[-HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Serial2]

[HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\Serial_Class]
"Index"=dword:00000000
"Prefix"="COM"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\VirtCOM]
"Dll"="rilgsm.dll"
"Index"=dword:00000009
"Order"=dword:00000002
"Prefix"="COM"

[-HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers\USBSER_Class]

[HKEY_LOCAL_MACHINE\Software\Microsoft\Bluetooth\Serial\Ports]
"SupportedPorts"=multi_sz: "COM1",
		"COM2",
		"COM4",
		"COM6"

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer]
"DriverInterface"="COM8:"
"MaxBufferSize"=dword:00000400

[HKEY_LOCAL_MACHINE\System\CurrentControlSet\GPS Intermediate Driver\Multiplexer\ActiveDevice]
"Index"=dword:00000008
"Prefix"="COM"

[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\ModDriver]
"Index"=dword:00000007
 

Mach2003

Senior Member
Sep 3, 2008
1,020
88
Kelowna
Release Version 3.6.0 added to first post.

The only change from the last beta is a minor change to recover from the sudden loss of a BT com port.
 

Mach2003

Senior Member
Sep 3, 2008
1,020
88
Kelowna
EXT_OEM

Here is a trial copy of the two styles of kitchen tools to build ModDriver into your ROM.

I have not tried to include it it my own rom yet, but it *Should* be fine, try it and report if there are any issues.

Be sure to read the Chef's Guide and configure the system to your device before building into your rom. (You can always copy the values from an installed version first).
 

Attachments

  • GpsModDriverExtOem.zip
    289.9 KB · Views: 62

bajok!

Senior Member
Mar 11, 2008
546
4
Caloocan
...thank you very much Mach2003 for the EXT. But there is a little bit of error in the package, you have to edit "GPSMod Setup.lnk" file using any text editor; change \Windows\GpsModSetup.exe to \Windows\GpsModSettings.exe. I also edited the registry according to my previous setup... everything works fine now...!:)
 
Last edited:

wandel

Senior Member
May 2, 2007
72
2
Kyiv
Dear Mach2003

I ask one more time:

Is there any help or explanation for Mod Driver?.. especialy for screen rotation
I have htc hd2.
When I make screen rotation(90 degree left - Landscape) all my gps applications show me wrong compass direction(90 degree right).

Is there any way to repair it?


Could you give an answer?
 

Mach2003

Senior Member
Sep 3, 2008
1,020
88
Kelowna
Change the landscape ange on the sensors page under Magnetic Declination, add or subtract 90 degrees.

The first post has most of the instructions.
 

wandel

Senior Member
May 2, 2007
72
2
Kyiv
Change the landscape ange on the sensors page under Magnetic Declination, add or subtract 90 degrees.

The first post has most of the instructions.

In LLand mode, Landscape for Oziexplorer(270 degrees) - compass in Oziexplorer lock(no moving at all)

In Flat mode but Landscape for Oziexplorer(270 degrees) - 90 degrees error.

What is wrong?
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 5
    GPS Mod Driver (From original post in Diamond thread Ending Here)
    This Driver installs between your gps application and the GPS driver that reads the hardware gps.

    - Lag is compensated, by guessing your position 'some number' of milliseconds in the future, current course and speed changes are included in the guess.
    - Driver corrects for invalid data in the gps strings, Out of range DOP values, and Heading values of 'NaN' (Not A Number). Position, Speed, and course are reported, even though the distance traveled is less than 30 meters.
    - Cell Tower location is used when GPS is unavailable
    - Altitude is corrected from/to WGS84/ASL
    - Hardware Compass Support
    - Allows selction of many input sources, including MSApi (GetPosition api)
    - Suports GPS applications on any COM port, as well as GPSApi (GetPosition api)

    Hardware Compass Support information is in Post Number two
    QueStub support is in post Number Six, Garmin can now use GPS Intermediate Driver, so no longer needs QueStub

    Newest Version:

    3.4.4
    Add back in the detection of dead input port

    3.4.5
    Fix GpsApi when calling app is stupid
    - Caller asks for V1 data with V2 dwSize (I return V1 as version with V2 size, and V2 data in the return
    FixGpsApi GPSGetDeviceStatus
    Change ReadNewData to detect, and call GPSGetDeviceStatus, and set the waiting handles (if there are any)

    3.4.6
    Remove trap on stuck GPS from msapi, only COM ports are detected (TP2)
    Rename gpx and csv files to: "ModDriver_{date}_{time}{In or Out}.{gpx or csv}"

    3.5.0
    Add GPX tracklog 'ending' to each log write, fseek back to overwrite.
    Change time sync to CellInit, since clock is functioning when service loads.
    - Detect when Cell service not loaded, and sync on GPS open port

    3.5.1
    Created a new device MsClock, provides current device time with millisecond resolution
    Created and linked MachClock.dll (uses MsClock)
    - Provides SystemTime and FileTime with 1 m/s resolution
    - Uses device clock for base time
    - Re-Sync time on device wake-up from sleep
    Used MachClock to keep time in sync (all apps and drivers)

    Fixed a bug in appending GPX tracks to existing logs

    3.5.2
    Move DeviceStatus maintenece to ModDriver
    - Modify COM_Read, COM-Write to support transfer of data to caller (GPSApi.dll)
    Remove Power up/down redundentcies from ModDriver and MachCell
    Add Thread open count to MsClock
    Fix Power up notify in MsClock
    Fix Extra calls to UpdateDeviceStatus in ModDriver, when no-one is listening
    Create Named event in GPSapi.dll to track mutiple instances of dll

    3.5.3
    Include AutoLog, RegUtil, and CardPath into MachClock.dll
    - Should save some ram since the code will only load once (shared for all apps and drivers)
    - On my device running GpsModSetup saves 20kb of ram
    MachCell should have saved another 20kb too, but since it is a service I can't prove it
    - Fix a COM port read issue when GSV is not sent regularaly (some BT recievers)


    3.5.4 - 3.5.6
    Fix EnableLogs Registry read error issue
    Remove close COM port on PurgeCom (bug)
    Fix time error
    Fix GPX logging
    - Could stop/delay output data

    3.5.7
    ModDriver could be sending data to the application way too often
    MsClock driver was not being used by ModDriver
    MsClock bit of tweeking, and was made faster too
    could have stayed running 'awake' when nothing was using it.

    GPX log files was still broken sometimes, another tweek there too.
    reset the device clock to the GPS time (+500m/s)
    added some logging to MsClock, but only for testing

    3.5.8
    Logging Owner Process Name in ModDriver and MsClock
    Extra Delay removed reading some COM input devices
    When input port times out, reader thread could stay active (or even duplicate)
    MsClock, only reset device clock if it needs resetting (read current clock, and compare first)
    Changed timing on EnableSmooth
    - Used to return data at 600, 400+, 600...
    - Now 500, 500+, 500, 500+,
    Better handling when reader app crashes without closing the ports
    - System sends me Ioctl_Psl_Notify
    - I force close reader port, SetLastError( 6 )
    - In GPSApi I react to GetLastError() == 6, by exiting the reader thread.


    3.6.0
    - Fixed a minor issue with sudden loss of BT com port

    Version 3.10 and newer: Added Direct support for reading cell tower location.
    See the change log and Cell Tower features starting on post 1346 here

    External Card Storage
    - If the card is removable, installing a device driver to it is just a BAD idea, don't do it!
    - My attached shortcuts don't work, make your own or edit mine.
    - Your card may not be avalable during early boot, so driver may not autoload.
    - Driver will take londer to load, so phone will take longer to boot.
    - ModSettings will take longer to load
    - Uninstall is not as perfect, but still works fine, except it is possible that the dll on the card may not be removed if it is in use at the time.
    - Did I say don't install to a card unless you have to?

    - Install the driver cab, change your GPS application to the indicated port or to use Gps Intermediate Driver, instead of the original internal com port.

    - Run GpsModSetup (found in start), you will see live gps data from the ModDriver on the main page. Tapping the screen will toggle to a sattelite view screen.

    Menu/[Profile] (driving or Walking): to use a preset setup, Save will update driver to use new profile. If auto profile is enabled you will not be able to make this selection, but can still edit the profile's values.

    Menu/System: to change the values used by ModDriver.
    - Log File: Creates a debug log in \Mach2003 of the device.
    - Extended: Adds more information to the logs.
    - Track Log: Creates a GPX and CSV file to card\Mach2003 that can be viewed in Google Earth, or many other applications.
    - Raw Data: Includes an extra GPX and CSV file for the raw input readings from the GPS source.
    - Smooth: Allows Mod Driver to insert an extra GPS output at half the sleep time, so that some map displays are less jumpy.

    GpsModDriver section
    - Sleep Time: Amount of time that Mod Driver will wait for a new GPS reading. Default devices are 1000 ms.
    - ComTimeOut: Passed on to the windows com driver when using a COM input port, amount of time readfile will wait for ANY data to arrive on the port.
    - Keep Alive: Driver will keep reading raw data for this many milliseconds after the last reader port is closed. Allows for switching GPS applications without loosing fix.
    Be very careful changing the following port, you may need a factory (HARD) reset if you change a port to one that is already in use!
    - Com Port: The output port Mod Driver will use to send data to your GPS Application.
    - Enable: Enable (or disable) All Mod Driver functions.

    Internal GPS Device section
    These settings are written to the internal GPS device registry, and MAY be used by the original driver
    - Sleep Time: Time to Wait for data when no data is available ro read.
    - Poll Rate: How often to check for new data from the internal driver.
    - Input Buffer: Amount of phycical RAM to reserve for READING the internal GPS device.
    - Output Buffer: Amount of RAM to reserve for communication to MS GPSID driver.
    Be very careful changing the following port, you may need a factory (HARD) reset if you change a port to one that is already in use!
    - Com Port: Com Port for GPSID data, same as using the 'External GPS' control panel 'software port' item.
    - Enable: Enable (or disable) the internal GPS, same as "allow windows to manage device" under external GPS settings.

    Menu/Extras: To configure additional settings.
    Altitude Table section
    - Altitude Fix, To enable driver to correct altitude to true (ASL)
    - Prefer GPS, To use GPS altitude when avaiable instead of the table values
    - Kill Feature Remove Table, Use to remove the altitude correction feature, and the table file from your card.
    Auto Profile Selection
    - Gsensor Angle, angle from vertical when to switch to/from walking profile.
    - Enable portrait, To autoswitch profile when in portrait mode
    - Enable landscape, To autoswitch profile when in landscape mode
    Cell Tower Location
    - Service is Running Now, Reports current service status, tap to update
    - Enable Cell Service, ...
    - Enable Service, Only with GPS, starts and stops cell service when Mod Driver is used/closed
    - Enable Internet Cell Data, Allows Servicer to use data connection to resolve location of unknown cell towers
    - Entries To Save, restricts the size of the cell tower database
    - Default MCC, Can be set to YOUR Mobile Country Code for when your RIL does not have this vital information
    - ReStart, Stop/Start Buttons.
    - Export, To export known cell tower locations to a GPX file
    - Update, Used to resolve all unknown cell tower locations, ignores Enable data Flag (use while connected through A/S)
    - Kill Feature Remove Service, Use if you don't want cell tower location features.
    Menu/Ports: To enable Mod Driver to use other input ports.
    Port Scan Mode
    - Scan On Power Only, default, allows scanning for a better input port only when the device is plugged in.
    - Scan on Battery Too, allows port scan at all times, regardless if device is plugged in or not.
    - Never Scan, disables the port scan feature.
    - Scan Only Once, does an imediate scan, then sets itself to "never scan".

    Input Port section
    - Port (MSAPI, or Com Ports from 1 to 9)
    - Enable, allows Mod Driver to read this port
    - Fix, applies Mod Driver Lag, speed, and heading fixes to this port (some devices might not need these fixes)
    - Order, Mod Driver tries to find GPS data on the Enabled ports in this order, 0 first, then 1, 2... (99) is auto entered for the "output" port, as it can not be used for input as well.

    All screens have an 'Undo' and 'Save' button. Undo will revert all changes made to the screen, save will update the driver to use the new settings.

    Profile Screens
    - Name: Used for profile selection and display (alters the names on menu and selection screens)
    - Set To Defaults button: Sets all profile fields to factory default values, as installed from the latest CAB.

    To Insert Speed and Course section
    - Distance Moved: Meters times 10 to update course and speed (30 = 3.0 meters)
    - Zero Speed Time: Milliseconds to speed when distance above is not exceeded, your speed will "stick" until this time passes when not moving.
    - Minimum Speed: Any speed below this value will be considered as "zero" to filter out erratic slow readings.

    To Calcualte Lag Position section
    - Speed Threshold: kph times 10 to update LagAdvance position (50 = 5.0 kph), readings with speeds below this value will not have lag applied.
    - Lag Advance (ms): Number of milliseconds to project your position into the future to compensate for delay in GPS readings

    Toggle Enable section
    - Speed Fix: Allow the driver to correct speed
    - Prefer GPS: If GPS raw data has a valid speed, use it instead of calcualting speed from position.
    - Course Fix: Allow the driver to correct Course
    - Prefer GPS: If GPS raw data had a valid course, use it instead of calculating course from position.
    - Dop Fix: Allow the driver to correct bad dop values
    - Compass: Allow hardware compass with this profile

    Auto Input Selection
    Mod Driver allows you to select more that one source port for reading GPS data. No matter what input port is used, your GPS application can read Mod Driver to get GPS data.
    - You can enable Bluetooth GPS devices as well as MSAPI, and the internal COM port devices.
    - 'Order' assigns the preferred port to use, 0 is the most prefered, 1 is next...
    - When first started (any GPS application opens Mod Driver port), driver scans ports starting from 0, to find input data.
    - If the scan mode is enabled, it tries lower order ports every 30 seconds or so, and switches 'up' to a better port if fixed data is there.
    - If the current port looses connection, Driver will try any enabled port to get good data (regardless of scan mode).
    - To install a BT device, pair it with your phone, and add an external com port to it.

    Altitude Fix
    The NMEA standard requires GPS altitude to contain Altitude above sea level (standard was made by boat people), and seperation from the WGS84 ellipsoid used in calculating the ASL. Sea level varies on the planet by up to +- 100 meters from the ellipsoid due to gravitational force changes. Using data from NGA (2008), a table was created (stored on CARD under \Mach2003, 64kb), and is used to determine the seperation value for the current GPS position. In testing, we found that the table value was more current (a more accurate value) then even the devices' driver was using. Prefer GPS will override the table value, and use what the device thinks is correct only if the GPS data actually has the seperation value. You CAN disable this feature and save a bit of card memory by deleting the Altitude*.RAW file. (if card memory can not be found, the file is retained in the devices \Windows folder).

    There are also a couple of shortcuts attached here to auto-select a profile. You can copy them to start menu, or to app keys to assign to a hardware button. There is also a shortcut for running the "scan once" selection without "starting up" mod settings.

    KillDriver.exe
    Used to remove a stuck un-install of the driver instead of using SKTools.
    Copy the un-zipped file to the device and run it. It will remove all the files, registry entries, plus the Mod Driver entry in the uninstall database.

    It may leave behind some registry entries, and does leave behind the files under \Windows\App Install. You may delete these files manually after running the kill driver application.
    3
    GPS Mod Driver - Hardware Compass Support

    Mod Driver supports the hardware compass on the HTC, and Samsung devices that have a hardware compass.

    - Mod Driver uses Compass Heading below Delta Speed for the current profile in place of GPS heading.
    - Compass speed is configurable, default is 2.5 kph (works with Garmin Mobile XT)
    - Not all GPS applications will use the heading without a speed, your results will vary.

    Samsung Devices need to have the SDK 2.0 cab installed (attached here).

    When a hardware Comapass is detected an additional menu item is available for presetting the difference between the hardware compass and actual heading. This is required because your phone may be mounted slightly off angle, and it also reports a 'magnetic' heading instead of the GPS 'True' heading.

    Compass hardware does NOT detect landscape rotation properly, but Mod Driver adjusts for this automatically.
    Calibration factors are retained for each profile, so mounting (or holding) position is accounted for.

    Hardware compass is quite useless in an automobile because of the huge amount of metal around you, and teh EMI that the car generates. You can disable the compass under "Driving" profile, and when using auto profile selection, the compass will only be used when you have the phone out of it's car cradle. Or if you don't use auto-profile, when you select walking profile.

    The best way to calibrate the driver's compass value to to just edit the value directly, note that you can not enter a negitive value, but just add 360, and enter that (ie: -21 degrees = 339 degrees).

    To calibrate the compass
    Choose compass from the menu button.
    Be prepared to exceed your current 'Delta Speed' Value for at least 10 seconds, and travel in a relatively straght path.

    Compass Screen:
    - Num Averages: The number of compass/g_sensor readings to average together
    - Landscape Angle: For HTC only, the amount of rotation to determine that landscape is triggered.
    - Poll Time: How often to read the sensors.

    - The portrait and Landscape buttons are not selectable, but will show the current orientation of the device.
    - Values for the current calibration from GPS to COmpass heading can be enetered manually, or viewed here.
    - Reset to Zero, allows a simple reset function for each orientaion.
    - Calibrate button enters self calibarate mode (see below)
    - Help?, condensed version of this post :)

    Calibration
    There are three 'status' messages displayed. One for speed, averages, and overall status.
    Each message has a check box that will tell you if that item has been satisfied.

    Press Calibrate button,
    Notice that count (at the bottom) will count down the number of seconds until you get to Delta Speed.
    Once at speed, the count will change to teh number of readings included in the calibration average.
    Compass and GPS heading are updated as messages arrive from the driver (about once a second).

    Once 10 readings are taken for the average value, the updated value will be shown.
    3
    Thank you Mach i thought that you left from this threat

    I will test it and i will tell you as soon as possible

    Thank you again

    :eek: Left the thread :confused: no way! I've been making test builds and letting RoryB do all the work of testing them (via email). He deserves a thanks for his hard work.
    3
    New Public beta build

    I am now using a new build number version system for this project.

    Currently Major version 3, will change with whole program update
    Minor Version 3, will change if new features are added
    Release Version 4, will change anytime I email or post an update
    Build Version (various), each module has it's own counter.

    Build numbers may not be the same on all apps/drivers in a cab (they don't all get built the same number of times).


    Changes from 3.29 to 3.3.4
    -Exiting COM input by testing good messages recieved
    -Fixing altitude, whole new line of thought
    My old routines were not updated when I changed from saving seperation value to saving AEL
    No longer need to compare last reading to this reading to detect changing items
    I am introducing a small error for some devices, when your actual seperation value is exactly 0.0
    I will assume you have AEL in the data, when you actually have ASL and AEL, but they are equal
    Driver will use its table, and alter ASL incorrectly, but table will be very close to zero, so the error will be very small

    -Added version checking/logging for ALL related apps and drivers, including your GPS application itself
    -Simplified ModSettings main page text (and font used)
    Using off screen composting now
    - Allowed restore backup settings on fresh install
    - Detect loss of GPS data string, and switch ports (sudden BT power off)
    - First "KeepFix time" of connection will use CellTower location, even when KeepFix is not enabled
    - ReDo all the insert speed/heading, and keep fix logic
    - Using KeepFix time for ALL cell tower insertion timeouts.

    - rework portscan
    - Changed scan allowance to get fix from 30 to 60 seconds
    - Repair time difference calculation, messed up everything
    - Reset GPS string time on first fixed position only
    - Re-Work switch over to Cell/Unknown rules
    - Clear GPS valid speed flag, and reset speed to zero as required
    - Add short name to version screen/logging
    - Menu, About, displays version info for all related aps and drivers, tap screen to close

    For those that need the PPC2003 version of the driver, I have attached a beta version for you to try now as well.
    3
    Update

    3.6.2
    - Fixed a bug where when loss of fix happens, the time to "keep fix" may have been incorrect.
    - If device clock was in the past, it would never be reset to GPS time.
    - Better detection of lost GPS input
    - If allowing MSAPI, and COMx (both internal GPS, default config), and the current port looses GPS, ModDriver will switch to the other port. This recovers a stuck internal GPS on some devices.