CQ/X de NO5W GPS-Enabled Software for Mobile Contesting
Home Overview Features Limitations Contests
GPS Devices Radios Keyers Documentation Downloads
QSL Gallery Support Revision History Route Plans Technical

Technical Information

This section provides an overview of the technical aspects of CQ/X including the following :

System Requirements

CQ/X was developed for the Windows OS and has been used primarily on WinXP(both the 32-bit and 64-bit versions). It has also been tested on Win2K. It has not been tested on Win98 or on Vista. The machine I use for mobile operations is a Dell Latitude D400 running XP. The machine has 1GB of RAM and runs at 1.7Ghz. Detailed description of requirements for use of the software under various operating scenarios can be found in the What You Need document.

Program Development

CQ/X was developed for the Windows OS in C++ using Borland's C++ Builder 5.0. The main executable as well as all dynamic link libraries were developed using this environment. CQ/X  is a multi-threaded application with separate threads running the interfaces to the GPS, the radio, and the keyer with listener threads in the main user interface listening for updates from the GPS, the radio, and the WinKey devices.  

Program Structure

CQ/X is structured around a main user interface and  a number of dynamic link libraries that give the contest and the various devices their personalities. These include the following:

Data Files

For any given contest CQ/X is driven by a number of different data files that are contained in separate directories for each contest. These files include the following where the <*> will be a different name for each contest:

County Detection Algorithm

As indicated above, each of the counties in the state or region is modeled as a polygon using data that has been extracted from USGS shape file data downloaded from the internet. This data extraction was performed using a commercial product (GlobalMapper ver 7.0) and then put into final form for CQ/X using a set of utilities (QPTools) developed by the author for automating many of the tasks required to build the data needed to support the QSO parties.

Some of the polygons used to model the county boundaries are quite simple and include less than 10 points while others that are defined by rivers or coastlines may contain 500-1000+ points. For example the total number of polygon vertices  required to define the 254 counties in Texas is approximately 33000. Once the trip is underway the job of the county detection logic is to determine, at whatever period specified by the user (as low as every 4 seconds), which unique member of the set of polygons contains the current latitude and longitude point provided by the GPS. The process consists of the following steps:
That's the highlights of the technical aspects of the project. Suffice it to say that it has been a non-trivial exercise to carry out the implementation of the above ideas and to ensure that all of the parts play well together. Readers interested in additional details about any of the technical aspects should feel free to contact the author for further discussion by sending an email to the address given on the Support page. Top

Copyright: C.W. Sanders, NO5W
Last Updated:30-January-2008