Ignatu.co.uk
Programming button Everything else button

GATSO Hunter

Screenshot of GATSO Hunter

Overview

Full title: GATSO Hunter
Latest version: 1.1
Description: A Win32 application that uses NMEA format GPS data to monitor (and warn about) speed camera proximity
Last updated: Middle of 2006
Written in: Visual Basic 6
Source code: Available

Requirements

  1. Windows. XP SP2 is known to work, Windows 2000 will probably work. Windows 98 might work. The executable is very simple so the chances are good.
  2. MSCOMM32.OCX in your system32 folder and registered.
  3. An NMEA GPS receiver connected to a working COM port. (Or virtualised with a USB to COM driver).

Installation

  1. Extract the RAR file to a folder of your choice, keeping all the files together.
  2. Edit GATSO Hunter.ini and change the COMPORT setting to match your system configuration.
  3. Run GATSO Hunter.exe

Configuration

  • CLOSEZONE
    Radius in kilometres, from the current position, that you want to monitor cameras. After moving (CLOSEZONE - 1) kilometres from your current position the program recalculates the close cameras. For that reason don't set it to 1 or below!
  • WARNZONE
    You will be warned about any cameras that are closer than this value (in kilometres).
  • HEADINGTOLERANCE
    Number of degrees to the right and to the left of your current heading to look for cameras in.
  • COMPORT
    The com port your GPS is on.
  • COMSETTINGS
    Baud rate etc.
  • CAMERAFILE
    Name of the CSV file containing the camera positions.
  • SPEEDUNIT
    mph or km/h or anything you want really! All this really does is tweak the interface. The speeds in the CSV are just numbers so this helps the program give them meaning. It does not stop the program using km/h for all it's calculations. The WARNZONE and CLOSEZONE units are always km's whatever you set this to.
  • WARNATLOWSPEED
    True or False (case sensitive). Set this to False if you do not want an audio announcement about approaching speed cameras when your speed is below 5km/h.
  • WARNGPSNOTLOCKED
    False, Once or Always - Determines how often you get warned about the GPS not having a positional fix. Once will warn you one time, until a fix is re-acquired. If that fix is then lost it will warn you, once, again.
  • WARNGPSNOTLOCKEDINTERVAL
    If you are using Always warn (see above) then this lets you set the interval (in seconds) between the warnings.
  • WINAMPMUTE
    False, Pause, Absolute or Relative. Determine how GATSO Hunter will try and deal with Winamp. False and Pause are obvious. Absolute will turn the volume to around 1/3 of the total scale and after the warning has been spoken will put the volume up to 100%. (Regardless of what you had the volume on before). Relative will move the volume down by a number of units and then back up by a number of units. (See below).
  • WINAMPRELATIVE
    0-64. Determine how many units (on a scale of 0 to 64) to shift the Winamp volume by when WINAMPMUTE is set to Relative. (See above).

Camera data file

The speed camera database format is the same as the one used at PocketGPS.

When you download an updated ZIP from PocketGPS you need to look for a file in this format:

Longitude,Latitude,Name
-0.76298,51.98999,"GATSO:5244@30"
-0.24594,52.58497,"GATSO:0890@30"
-2.77217,55.74874,"GATSO:3110@60"
-0.32181,51.33441,"GATSO:4834@40"
-0.39686,52.57074,"GATSO:5951@70"
-0.40146,52.57444......

It should be with the CSV files.

Adding speed cameras

You can only add cameras when you have a fix.

Hit the "Add Camera" button and then press the camera type buttons and the speed buttons to build the information that you will be adding.

You do not have to select a speed to add a camera.

The position info will update while you're on the "Add a speed camera" form. So you can prepare the info you want to add and then hit the "Save" button as you drive past the camera.

The camera info is automatically added to your camera database CSV.

GATSO Hunter also writes information about the camera to a file called GATSOHunter_submission.txt in the same folder as GATSO Hunter.exe. This file can be emailed to PocketGPS and other camera position repositories.

Download

The GATSO Hunter executable is available under the following license. A copy of the license can also be found in the installation archive.

Copyright (c) 2007 ignatu.co.uk

This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

Download executable

Code quality

The source code for GATSO Hunter is of a poor standard. At the time it was written I was still learning Visual Basic 6 and the concept of classes and the FileSystemObject were not as familiar as they are now. That's not to say the program is buggy - I had no problems with it when I was using it on a daily basis - it's more that the code is inelegant, and thus painful to work with.

However, there are some very useful latitude/longitude distance and angle functions in the code, so hopefully they will be of use to someone.

Source code

The source code for GATSO Hunter is available under the following license. A copy of the license can also be found in the source code archive.

Copyright (c) 2007 ignatu.co.uk

This software is provided 'as-is', without any express or implied warranty. In no event will the author be held liable for any damages arising from the use of this software.
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation is required.
2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
3. This notice may not be removed or altered from any source distribution.

I'd love to know what you do with the code. Drop me an email and let me know! (Check the bottom of this page for my email address).

Download source code