Contest configuration
Contents
The contest configuration panel
Callsign | Station callsign used. |
Grid square | Station location in Maidenhead grid format (6 positions). |
Exchange | Typically the contest exchange BUT may also be keywords such as "DX" or "NONE". |
DXCC prefix | Station's standard DXCC prefix. |
CQ/WAZ zone | Station's CQ/WAZ zone. |
ITU zone | Station's ITU zone. |
State/Province/Other | Station's state or province. Sometimes used for other purposes. |
Name | Full name of log submitter. |
Address | Full address of log submitter. |
Email address of log submitter. | |
Club | Name of club results are credited to. |
Contest | Contest or dxpedition. |
Category | Contest category. |
Station | Contest station category. |
Overlay | Contest overlay |
Class | Station's contest power class. |
Mode | Mode of operation. |
Op. name | The name of the operator (if required). |
Power | The station's power level (if required). Can be set to 1TT, KW, etc. when used for contest exchange. |
Operators | Comma and/or space separated list of callsigns for the station's operators. Optionally add a leading @ to the hosting callsign. The field accepts up to 255 characters. |
After filling out the Callsign field, an empty DXCC prefix, CQ zone, or ITU zone field will be auto-filled.
Important: The DXCC prefix auto-fill uses the CQ WW country definition which means that e.g. IT9 and TA1 are separate countries.
There are mechanics in DXLog making sure this is not a problem in contests using a strict ARRL DXCC country definition.
Important: The Exchange field does not always contain the actual exchange. In contests with e.g. serial number and grid as exchange,
the Exchange field may even be disabled. When in doubt, leave the Exchange field empty and click OK. This will show
a pop-up with instructions.
Important: There is no band category setting. Some contest definitions include categories which also include bands but most do not.
Lacking an explicit band category, DXLog will automatically determine it.
If your log contains QSO on more than band, exported Cabrillo file will say CATEGORY-BAND: ALL.
If your log contains QSO only on one band, say 20m, the exported Cabrillo file will say CATEGORY-BAND: 20M
All X-QSO are ignored in this process, so if you accidentally make a QSO on the "wrong" band, simply mark it invalid using [Ctrl][X]
.
After pressing [Enter]
(or clicking on the OK button) all fields are checked against the rules defined in contest definition file.
If any field contain incorrect data, DXLog will issue a warning with instructions on how to correct the data, and move the cursor to
the entry box with the erroneous content. It may also show a link to the contest rules (if this is included in contest config file).
Contest irregularities
Since the contest configuration panel in DXLog is fixed and some contests have very non-standard
exchanges, the information sometimes has to be entered in a non-intuitive way.
The contests listed below use the configuration panel entry fields in a non-standard way.
Contest | Exchange | State/Province/Other | Power | Name |
---|---|---|---|---|
ARRL Sweepstakes | The last 2 digits of the year of first license for either the operator or the station. |
ARRL/RAC Section. | “Q” for Single Op QRP (5 Watts output or less). “A” for Single Op Low Power (150W output or less). “B” for Single Op High Power (more than 150W output). “U” for Single Op Unlimited (Regardless of power class). “M” for Multi-Op (Regardless of power class). “S” for School Club. |
|
SSA Jultest | Your first random 5-letter word. Reset your messages to default to ensure your F2 message is correct. |
The following contests have known deviations from the standard operating procedure or contest mechanics:
Contest | Limitations |
---|---|
7th Call Area QSO Party | Only the first 10 DXCC counts for multiplier. DXLog will show all unworked DXCC as multipliers. The score summary is however correct. |
AGCW QRP-QRP-Party | Enter the slash ("/") as part of the exchange. |
Arizona QSO Party | The bonus station points are not recognized. Only the first 20 DXCC counts for multiplier. DXLog will show all unworked DXCC as multipliers. The score summary is however correct. |
ARRL Winter Field Day | Bonus points and band/mode multipliers are not supported. Non-standard Cabrillo keys CATEGORY and ARRL-SECTION are not supported and have to be manually added to Cabrillo file. |
Colorado QSO Party | The bonus station points are not recognized. |
CQ WW 160m | The contest rules state a mixed prefix/province scheme for VE multipliers. DXLog only counts provinces as multipliers. |
FOC Marathon | Since the rules are not publicly available, scoring may be incorrect. Bonuses like first continent, 5-band, etc. are not supported. |
IG-RY WW RTTY | There is no band change rule violation check for single operator categories. |
Illinois QSO Party | Only the first 5 DXCC counts for multiplier. DXLog will show all unworked DXCC as multipliers. The score summary is however correct. |
Naranja CW | Own callsign district are counted as a valid multiplier although it is not. Own DXCC is shown as worked but does not count as multiplier. |
New Hampshire QSO Party | Only the first 10 DXCC counts for multiplier. DXLog will show all unworked DXCC as multipliers. The score summary is however correct. |
OK DX RTTY | There is no band change rule violation check for single operator categories. |
OKOM, PACC, SAC, UBA, WAE, WAG, YUDX | 10-minute rule is not bypassed when Run station works a multiplier. |
PAQP | Bonus points for Rover and Mobile stations is not supported. |
SARL HF Contest | There is no band change rule violation check for single operator categories. Also, bonus points for working the same station on all three bands is not supported. |
South Dakota QSO Party | The bonus station points are not recognized. |
Vermont QSO Party | The bonus station points are not recognized. |
Washington State QSO Party | Only the first 10 DXCC counts for multiplier. DXLog will show all unworked DXCC as multipliers. The score summary is however correct. |
Ontario QSO Party | Slashed exchanges are not supported for logging, only transmission. Log twice when working a county line station. |
West Virginia QSO Party | The bonus station points are not recognized. |
Winter Field Day | Band and mode multipliers are not recognized. |
Contest definition and support files
The behavior and visual appearance of DXLog for a particular contest is controlled
by a contest definition file, often accompanied by support files.
Important: Before reading further, if you are in need of updating the files for a particular contest,
consider using the File|Update contest
function described in the Update contest chapter.
A contest definition file is always of the type .TXT.
There are four types of support files: prefill databases, warning files, regular expression
files and points files.
Prefill data bases (sometimes referred to as call history files) can be of three different
types: .TXT, .DTB, and .CSV.
- .TXT is the default, plain text DXLog format.
- .DTB is a binary, legacy format compatible with Win-Test.
- .CSV is a plain text format, compatible with N1MM Logger+.
Warning files, regular expression files, and points files are always of the type .TXT.
Contest files and support files are all part of the installation binary but are copied at start up
to a secondary folder to allow user modification without the need for elevated permissions.
Contest files are copied to %appdata%\DXLog\Contest and support files are copied to
%appdata%\DXLog\Database.
The standard setting in Microsoft Windows is that %appdata% folders are hidden since they
are not intended for manual modification.
The easiest way to open the %appdata%\DXLog folder is via Dxlog's menu File|Open configuration folder
.
The folder is also reachable by typing "%appdata%\DXLog" in either the path text
box in Windows Explorer or using Windows' Run command, [Win][R]
.
At startup, DXLog compares the age of all contest related files in the installation folder with
the age of the files in the secondary folder. If a file in the installation folder is missing or has a more
recent modification date, the file in the secondary folder is overwritten. Otherwise, it is left untouched.
The purpose of this approach is to allow user modifications while still receiving updates included in new releases.
Contest related files are frequently updated between releases.
Sometimes, but not always, this is announced on the DXLog support reflector.
To update the files associated with a particular contest, open a log for the contest and click File|Update contest
.
Under some circumstances (such as a fatal bug that prevents the opening of a log for the contest)
you may have to download contest related files manually.
To do this, right-click the file's link, select "Download the file as", and select a location of your choice
such as your desktop. (This file can be deleted once it has been copied to the destination below.)
Next, copy the file(s) to the relevant folder(s), thereby overwriting the earlier version of the file:
- Contest definition files should be copied to the %appdata%\DXLog\Contest folder.
- Prefill database files should be copied to the %appdata%\DXLog\Database folder.
- Warning files should be copied to the %appdata%\DXLog\Database folder.
- Regular expression files should be copied to the %appdata%\DXLog\Database folder.
- Points files should be copied to the %appdata%\DXLog\Database folder.
Macro commands and special characters
Basic macro commands
$13 | Send carriage return character. (Data modes only) |
$!ABCD | Execute script with name ABCD. |
$!DISABLE!ABCD | Disable script with name "ABCD". |
$!ENABLE!ABCD | Enable script with name "ABCD". |
$ACQ | Swap radio focus and send CQ. (Only usable in SO2R scenarios.) |
$AILOCK | Enable interlock blocking. |
$ALTERNATECQ | same as $ACQ. (Only usable in SO2R scenarios.) |
$BANDIDssss | Send band of Radio 1 of station "ssss" in the network. E.g. $BANDIDSK3W_1 will send band of radio 1 of station with ID SK3W_1. Important: Does not work with station ID containing any of the special characters used in messages such as + and -. |
$BANDOR | Send band of non focused radio. |
$BLANK | Send a space character in digital mode or wait one word space in CW. Important: Can be used in SO2R scenarios, in which all space characters are ignored. |
$CAT1 $CAT2 $CATF | Sends a CAT command to radio 1, 2, or the focused radio. Binary CAT commands (e.g., for ICOM and older Yaesu) are in hexadecimal and preceded by a percent sign. For ICOM the header (FEFE...) and terminating byte (FD) should not be included. To include space in a CAT command, use underscore _. Example 1: $CAT1=AG000;AG$000; will silence both the main and sub receiver on an Elecraft K3. Example 2: $CAT1=%14010000$CAT1=%290114010000 will do the same on an IC-7610. |
$CHECKCALL | Check validity of entered callsign (against general and contest rules). |
$CLEARRIT | Set RIT to zero on supported radios. Does not disable RIT. |
$CORRECT | Send corrected callsign. Sends nothing if callsign has not been modified. |
$CQZONE | Send own CQ/WAZ zone. Follows CW number sending rules. |
$CQ | Send CQ (i.e. Run F1 message) on focused radio. (Creates infinite loop if used with key F1.) |
$CR | Equivalent to pressing [Enter] with ESM disabled, i.e. logs QSO. Differs slightly from $LOGQSO, in that e.g. its timing can be shifted. (C.f. $LOGQSO and $FORCELOG) |
$DASH | Sends "-" (dash) in digital modes or waits one word space in CW. |
$DELAY=nnn | Wait "nnn" milliseconds. E.g. $DELAY=80 |
$DISABLERIT | Disables RIT on supported radios. |
$EXCHANGE | Send the exchange entered in the configuration panel. Follows CW number sending rules. |
$EXCHANGENOAB | Send the exchange exactly as entered in the configuration panel. |
$EXTINF | Send the content of the first non-empty line in the Extra Information window starting from the top. Ignores online resources such as HamQTH. |
$EXTINF1 $EXTINF2 $EXTINF3 | Like $EXTINF but only sends the first/second/third word in the line. Word delimiters are space, comma, and semicolon. |
$EXTINFT | Like $EXTINF but only considers the topmost line in the Extra Information window. |
$EXTINFT1 $EXTINFT2 $EXTINFT3 | Like $EXTINF1/2/3 but only considers the topmost line in the Extra Information window. |
$F1-$F7 | Send or play back the message associated to the function key. |
$FOCUS1 | Change Focus to Radio 1. (Only usable in SO2R scenarios.) |
$FOCUS2 | Change Focus to Radio 2. (Only usable in SO2R scenarios.) |
$FOCUSCALL | Move focus to Callsign field. |
$FOCUSRCVD | Move focus to the received exchange field. |
$FOCUSREC1 | Move focus to the second received exchange field. |
$FOCUSREC2 | Move focus to the third received exchange field. |
$FOCUSREC3 | Move focus to the fourth received exchange field. |
$FORCELOG | Logs QSO bypassing all validity checking. |
$FREQIDssss | Send frequency of Radio 1 of station "ssss" in the network. E.g. $FREQIDSK3W_1 will send frequency of radio 1 of station with ID SK3W_1. Important: Does not work with station ID containing any of the special characters used in messages such as + and -. Obeys settings for rounding when transmitting frequencies from macros. |
$FREQbbb | Send the frequency of the networked primary radio found on this band. Band "bbb" is 160...10, 50, 144, and 432. Important: Only considers stations of type R, R+, and M. Obeys settings for rounding when transmitting frequencies from macros. |
$FREQOR | Send frequency of the other radio in SO2R. Obeys settings for rounding when transmitting frequencies from macros. |
$FREQPASSbbb | Send the defined pass frequency for band "bbb" for the station. Valid band names are 160...10, 50, 144, and 432. Sends nothing if undefined. Obeys settings for rounding when transmitting frequencies from macros. |
$FREQR1 | Send the frequency of Radio 1. Obeys settings for rounding when transmitting frequencies from macros. Was $FREQP. |
$FREQR2 | Send the frequency of Radio 2. Obeys settings for rounding when transmitting frequencies from macros. Was $FREQS. |
$GRABPARTNER | CW: Grab the topmost callsign from the Partner stack, overwriting any entered callsign. Digital: Grab the most recently decoded call. If this is not available from the decoder or this call is the just logged call, grab the topmost call from the Partner stack. Does nothing if entry line contains a call. |
$GRABPARTNER1-$GRABPARTNER9 | Grab the numbered slot from the partner stack. Overwrites any entered callsign. |
$GRABSPOT | Grab spot from the bandmap on the current frequency. |
$GREET | Send GM, GA, or GE based on the local time of day. |
$GRID | Send the full Maidenhead locator as entered in the contest configuration panel. |
$GRID4 | Send the first four characters of the Maidenhead locator as entered in the contest configuration panel. |
$GUESSEXCH | Force guessing of the exchange. |
$INSERT | Send the INSERT message, the message associated with the [Insert] key. |
$ITUZONE | Send own ITU zone. Follows CW number sending rules. |
$LOGGEDCALL | Current callsign on focused entry line. If empty and not digital mode, the previously logged call. If empty and digital mode, the most recently highlighted non-dupe call in the decoder window. |
$LOGQSO | Logs QSO when executed. (C.f. $FORCELOG and $CR) |
$MK2R=abc | Send command "abc" to a connected microHAM device. |
$MSG1, $MSG2, ..., $MSG12 | Additional CW messages. Configured using [Alt][C]. |
$MYCALL | Send station's callsign as entered in the contest configuration panel. |
$MYDXCC | Send station's own DXCC prefix. |
$NEXT | Send the callsign of the next QSO line when a $CR is included in the message. |
$NEXTCALL | Send the callsign of the next QSO line when a $CR is included in the message. |
$NEXTSERIAL | As $SERIAL but sends the serial number of the next QSO. Follows CW number sending rules. |
$OPNAME | Send the operator name as entered in the configuration panel. |
$OTRSP=abc | Send command "abc" to connected OTRSP device. |
$PBINS | Play back DVK memory associated with INSERT key. On external devices this is #8. |
$PBPLUS | Play back DVK memory associated with PLUS key. On external devices this is #9. |
$PILOCK | Disable interlock blocking. |
$PLUS | Send message associated with the [+] key. |
$POWER | Send the power string as entered in the configuration panel. Follows CW abbreviation rules and also sends "1000" as "KW". |
$PREV_RCVD | Send previous received exchange. If succeded by a number within parentheses and the contest definition file contains FIELD_RCVD_NUMERIC=YES, left-zero-pad to this length. Follows CW number sending rules. |
$PREV_RECINFO | Send previous received second exchange. If succeded by a number within parentheses and the contest definition file contains FIELD_RECINFO_NUMERIC=YES, left-zero-pad to this length. Follows CW number sending rules. |
$PREV_SFX | Send the callsign suffix of the previous QSO. Sends own suffix if the log is empty. |
$PREVSERIAL | As $SERIAL but sends the serial number of the previous QSO. Sends 1 if the first QSO in the log. Follows CW number sending rules. |
$QQSLRESET | Reset Quick QSL timer. |
$QSOB4 | Send the QSOB4 message and stop transmission if the entered callsign is a dupe. |
$QSOB4WIPE | Send the QSOB4 message, clear entry field, and stop transmission if the entered callsign is a dupe. |
$R1R1 | Set the headphone audio routing to radio 1 in both ears. (Only usable in SO2R scenarios.) |
$R1R2 | Set the headphone audio routing to radio 1 in left ear and radio 2 in right ear. (Only usable in SO2R scenarios.) |
$R2R1 | Set the headphone audio routing to radio 2 in left ear and radio 1 in right ear. (Only usable in SO2R scenarios.) |
$R2R2 | Set the headphone audio routing to radio 2 in both ears. (Only usable in SO2R scenarios.) |
$RUN | Set the current radio to RUN. Also see $SP. |
$RCVD | Send the content of received exchange field (without RST). |
$RECINFO | Send the content of the second received exchange field |
$RECINFO2 | Send the content of the third received exchange field |
$RECINFO3 | Send the content of the fourth received exchange field |
$REPEAT | Re-enable CQ repeat for the focused radio. |
$RESERVENR | Request a serial number from the number server on the network. Does nothing if a serial number is already reserved or the callsign field is empty. |
$RESET | Refresh audio control settings to cancel any manual change made. (Only usable in SO2R scenarios.) |
$RPTOFF | Pause CQ repeat. |
$RST | Send report from RST Sent field. Sends 5NN in CW also with no abbreviation, otherwise follows number sending rules for CW. |
$SERIAL | Send the serial number of the current QSO, or the previous serial number if the log entry field is empty. Takes one argument which is the sent number of digits. e.g., $SERIAL(2), will zero-pad to two digits. Follows CW number sending rules. |
$SERIALNOAB | As $SERIAL but never abbreviates. |
$SP | Set the current radio to S&P. Also see $RUN. |
$SPACE | Step focus one field. (Same as pressing space bar). |
$SPOTME | Creates a DX cluster spots for own station's callsign. Does nothing for contests not allowing self spotting or if respotting timer has not expired. |
$STATE | Send State/Province/Other as entered in the contest configuration panel. |
$SWAPFOCUS | Swap radio focus. (Only usable in SO2R scenarios.) |
$TIME | Sends the current time in UTC with four digits. WARNING: When used as exchange, repeating $TIME may not send the same number. |
$TR1 | Transmit on Radio 1. (Only usable in SO2R scenarios.) |
$TR2 | Transmit on Radio 2. (Only usable in SO2R scenarios.) |
$TRS | Transmit on radio opposite to focus. (Only usable in SO2R scenarios.) |
$WIPE | Clear the entry fields. Important: Clears entry field at the end of the message and not if interrupted. |
+ | increase CW speed by 4 wpm. |
- | decrease CW speed by 4 wpm. |
\ | Sends the AR prosign. |
* | Sends the SK prosign. |
^ | Half dit space character in CW. Important: This is in addition to the standard 3-dit character space when used between two characters. |
~ | At the end of a macro or string means no word space will be inserted. |
Example of "NOW" message on RTTY:
$13 $CORRECT TU $CR $GRABPARTNER NOW $LOGGEDCALL $RST $SERIAL $SERIAL $MYCALL
Example of confirming received exchange in Insert message on RTTY:
$LOGGEDCALL $F2 ($RCVD~) $MYCALL
Location of macro values in the contest configuration panel.
Conditionals
On top of the powerful set of macro commands you can use conditionals to control the execution
of a message based on a number of conditions. The syntax for this is very basic. (Pun intended.)
Warning: Conditionals are evaluated when reached during the transmission of a message but
at the start of transmission if used in an SO2R scenario. Conditionals may therefore create seemingly
erroneous results when used in SO2R scenarios.
Example of F2 message to send RST and Zone differently in CW and digital:
[DIGITAL]$RST$DASH$RST $WAZZONE$DASH$WAZZONE[ELSE]$RST $WAZZONE
Example of Run Plus message for same mixed mode contest:
$CORRECT [DIGITAL]$LOGGEDCALL TU $CR $MYCALL QRZ?[ELSE]TU $CR $MYCALL
Example of F2 message that works for all stations in ARRL DX contest:
$RST [EXCHANGE="DX"]$POWER[ELSE]$EXCHANGE
Example of F2 message that works for all stations in Helvetia contest:
$RST [EXCHANGE="DX"]$SERIAL[ELSE]$EXCHANGE
Example of S&P F1 message for the multiplier station in a Multi-Single entry:
[QSO_IS_MULT]$MYCALL
Important notes:
- There is no nesting. Everything after [] will always be executed.
- You can however achieve one level of nesting using ELSE2.
- Important: Conditionals are currently evaluated before transmission starts
- which means they evaluate for the radio/entry line that transmitted last.
- There is work ongoing to address this issue.
Below you can find an example set of messages for a mixed mode contest with Phone, CW, and RTTY:
Syntactic element | Type | Description |
[ | Delimiter | Starts a conditional expression |
] | Delimiter | Ends a conditional expression, the following macro commands, up to the next left bracket, will be executed if true |
[] | Delimiter | Equal to [TRUE]. Can e.g. be used to end a conditional macro string. |
= <> + | Operator | String operators |
= <> * + / - % ^ < > >= <= | Operator | Integer operators |
"string value" | String | String literal |
AND, NOT, XOR, OR | Operator | Boolean operators |
BAND | String | Current transmit band. |
CLASS | String | The content of the contest configuration panel's Class dropdown menu in upper case. |
CORRECTED | Boolean | True if the logged callsign has been altered since last transmitted. |
CQZONE | String | The content of the contest configuration panel's CQ/WAZ zone field. |
CW | Boolean | True if the mode is CW. |
DIGITAL | Boolean | True if the mode is a digital mode. |
DXCCPFX | String | The content of the contest configuration panel's DXCC prefix field. |
ELSE | Boolean | True if the previous conditional was false, allowing things like [MODE="CW"]CQ CW[ELSE]CQ RTTY |
ELSE2 | Boolean | True if the conditional before the last was false. |
EXCHANGE | String | The content of the contest configuration panel's Exchange field. |
IF | Conditional | Value depends on how first parameter evaluates. E.g. IF(MODE="CW","CWWORD","WORD") |
ITUZONE | String | The content of the contest configuration panel's ITU zone field. |
MODE | String | Current transmit mode. |
OVERLAY | String | The content of the contest configuration panel's Overlay dropdown menu in upper case. |
PHONE | Boolean | True if the mode is SSB, FM, or AM. |
QSO_CALLSIGN, NONFOCUS_CALLSIGN | String | The callsign of the QSO. |
QSO_CONTINENT, NONFOCUS_CONTINENT | String | The continent abbreviation for the QSO. |
QSO_CQZONE, NONFOCUS_CQZONE | Integer | The CQ zone for the QSO. |
QSO_DUPE, NONFOCUS_DUPE | Boolean | True if the QSO is a duplicate. |
QSO_DXCC, NONFOCUS_DXCC | String | Main callsign prefix for the DXCC country for the QSO. |
QSO_INVALID, NONFOCUS_INVALID | Boolean | True if the QSO is invalid. |
QSO_IS_MULT, NONFOCUS_IS_MULT | Boolean | True if the QSO in the entry line is a multiplier. |
QSO_ITUZONE, NONFOCUS_ITUZONE | Integer | The ITU zone for the QSO. |
QSO_NR, NONFOCUS_NR | Integer | The QSO number. |
QSO_PERIOD, NONFOCUS_PERIOD | Integer | The contest period for QSO. |
QSO_QTC_NEEDED, NONFOCUS_QTC_NEEDED | Integer | The number of QTC still needed for the current callsign. |
QSO_RCVD, NONFOCUS_RCVD | String | The first contest exchange received field (not including the RST). |
QSO_STATION, NONFOCUS_STATION | String | The station type, R for run, M for multiplier, etc. |
QSO_XQSO, NONFOCUS_XQSO | Boolean | True if the QSO has been marked X-QSO. |
POWER | String | The content of the contest configuration panel's Power field. |
RUN | Boolean | True if the focused radio is in Run mode. |
SSB | Boolean | True if the mode is SSB. |
STATE | String | The content of the contest configuration panel's State/Province/Other field. |
STATION_TYPE | String | The station type identifier: R, R1, R2, M, or S. |
STATION | String | The content of the contest configuration panel's Station dropdown menu in upper case. |
VIOLATION | Boolean | True if a band or mode change rule is violated. Can e.g. be used to prevent transmission in a multi-operator setting. |
Supported contests
An up-to-date list of the supported contests of the most recent release of DXLog
and their support files can be found on this page.