[Windows Mobile Apps and Games] Mach2003:
MachCell service in driver

A new update version 3.10 is added to the first.

It contains support for reading cell tower position as a new service (MachCell). This new service replaces myLocation service (best to disable it, or remove it), works with "ALL" (CDMA too) devices, and integrates GPS position with cell tower location. Cell tower location is used to report to your application during the time that you are waiting for GPS fix. More after the change log below.

First the change log (from 2.60, many beta builds...):

- Added my own Cell Tower Reader, Works on CDMA too.

- 'Extra' page added to configure

- Added Kill Altitude and Kill Cell tower feature

- Added support for "Enable on GPS only"

- Changed no fix GPS timeout from 10 to 60 seconds

- Set default number of towers to save as 500

- Fix Altitude flag not being saved

- Changed to MCC based db cell tower file

- Dropped support for signal strength

- Using GPS position to resolve Tower first, then internet lookup

- Keeping only one position per tower

- Signal location was not linear, perhaps due to radio changing power levels

- Google cell tower location is actually based on 'some unknown user's' positions, not the actual tower locations.

- Changed Mod Settings dialogs to use check boxes where approprate.

- Added display of Altitude Seperation Value

- Fixed Flashing sats in view display

- Added landscape sats in view mode

- Added heading pointer (with compass pointer) to sat display page

- Changed logging of time and date to human readable local time

- Changed the way compass value is stored so that it is reversable (magval, heading, compass)

- Added speed = 5kph when compass is used so Maps will rotate

- Fixed Samsung compass when close to portrait, can't actually read compass (like at the north pole)

- Disabled Samsung compass at full landscape too, even though it works, this disables car compass mode

- Fixed Samsung corrections for Landscape, and Iport orientaions.

- MessageBeep on first fix

- Added support for reading GPS_POSITION structure, an application can just ReadFile sizeof( GPS_POSITION ), and use the raw data returned. Except I changed a couple of things... Speed is in KPH not Knots. Double Magnetic Variation is split into two floats, Magnetic variation, and compass heading. If you are develping your own application, this is way faster than reading COM and decoding NMEA.

Next Up:

- Support applications using the GPSAPI to READ from Mod Driver

- Allow compass enable-disable under profiles

- Add Compass speed to compass page (instead of fixed 5 kph)

- Auto profile switch, based on orientation (15 degrees of true)

Now the details:

A new service is installed with the CAB. It monitors the cell tower your phone is connected to by requesting a notification when ever it changes. This results in very little cpu/battery waste.

On each cell tower you are connected to, the system first checks for a GPS position from Mod Driver, if it is current we will store that, if not then, if allowed, use your cell data plan to locate the tower location. Towers are save in a file based DB, and if we have a saved position, we will use that. GPS position always updates the current tower location (we save the most current location for that tower).

Mod Driver will return Cell Tower location while waiting for first GPS fix, if it is current, or elae return last known GPS position. Mod Driver still updates the my Location registry so applications that read that registry will still function (better).

A new page is added to Mod Settings: "Extras".

Altitude Table setup moved here. (Enable Altitude Fix, and Prefer GPS)

Kill Feature Remove Table: If selected and confirmed, the table will be removed from the device, teh feature will be disabled, only re-installing the CAB will repair it.

Cell tower Location

Service is Running Now confirmation of the service state, tap to update the check mark, you can't start or stop it here, just see the status.

Enable Cell Service, um... yes, that's it, yup, enable it or not ;)

Enable Service, Only with GPS, service is disabled, and automatically enabled when an application opens a mod driver port, service is disabled when all ports are closed.

Enable Internet Cell Data Uncheck this if you don't want to use cell data to resolve towers (see the update button below) Better to disable here than rely on "no data" applications, less CPU waste, better response.

Entries to Save The maximum number of towers to save to the file. Each tower is a little less than 50 bytes, yes bytes. Gage how many you want to use your valuable device memory. This number is PER file (mobile country code), so if you frequent another MCC, then reduce this accordingly. My little city has 30 cells for my current provider (10 towers, three cells on each tower). The default of 500 covers off a very large area...

ReStart button, stop and then start the service.

Stop / Start button, um... You know what this does don't you

Export button Copy all cell tower locations that are resolved, to a GPS file for review in mapping programs, or on google earth.

Update Button Resolve any towers to locations that are not known yet. Best to use this when active sync is active to the PC. This button will ignore your Enable Internet data choice above. Especially usefull if you don't use cell data. When you get home, connect to your PC, and update the missing tower locations.

Kill Feature Remove Service: If selected and confirmed, the service dll will be removed from the device and deactivated, the feature will be disabled, only re-installing the CAB will repair it.