Contest configuration

From DXLog.net
Jump to navigation Jump to search

The contest configuration panel

DXL ContestConfig1.png

Station
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 Email address of log submitter.
Club Name of club results are credited to.
Contest
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 MT CW/SSB First four characters of grid square
CWOps CWT Member number or country prefix (e.g. G for England, SM for Sweden) Operator's first name
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.
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.
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

A macro command executes a function when included in a predefined message
$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.)
$TU Sends "TU".
$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.


Configurationpaneltaggedmacros.png

Conditionals

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.

This may cause unwanted results when using state dependent conditionals Conditionals thus This works well for messages but may cause unwanted results if included in SO2R scenarios,
which are evaluated at the start of their execution.

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.)

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:

Mixedmodemessages.png


Available syntax for conditional execution of macro commands
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.