Difference between revisions of "Contest configuration"

From DXLog.net
Jump to navigation Jump to search
(Message macros - add interlock blocking control macros)
(Conditionals)
 
(288 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<big><big>Configuration</big></big>
+
==The contest configuration panel==
 +
[[image:DXL ContestConfig1.png]]
 +
{|class="wikitable"
 +
|+style="text-align:Left;"| 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.
 +
|-
 +
|}
 +
{|class="wikitable"
 +
|+style="text-align:Left;"| 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.<br>Optionally add a leading @ to the hosting callsign. The field accepts up to 255 characters.
 +
|}
  
==Contest configuration==
+
After filling out the Callsign field, an empty DXCC prefix, CQ zone, or ITU zone field will be auto-filled.<br>
[[image:DXL ContestConfig.png]]
+
'''Important:''' The DXCC prefix auto-fill uses the CQ WW country definition which means that e.g. IT9 and TA1 are separate countries.<br>
<br>
+
There are mechanics in DXLog making sure this is not a problem in contests using a strict ARRL DXCC country definition.  
* <code>Callsign</code> - The Callsign which will be used during the contest
 
* <code>Grid square</code> - your Maidenhead gridsquare (6 letters) which will be used for VHF/UHF/SHF contests for QRB calculations
 
* <code>Exchange</code> - contest specific exchange field
 
* <code>DXCC prefix</code> - your DXCC standard prefix
 
* <code>WAZ zone</code> - your CQ zone number
 
* <code>ITU zone</code> - your ITU zone number
 
* <code>State/Province/Other</code> - your US state, Canadian province or DX
 
* <code>Name</code> - The name which will be inserted in the final Cabrillo file
 
* <code>Address</code> - The address which will be inserted in the final Cabrillo file
 
* <code>Club</code> - The name of your club for club competitions<br><br>
 
After pressing enter (or mouse click on OK button) all fields are checked against contest rules defined in contest config file.<br>
 
If any fields contain incorrect data, DXLog.net will supply a warning with instructions on how to correct the data, It may also show possible links to the contest rules (if link is defined in contest config file).
 
  
==Message macros==
+
'''Important:''' The Exchange field does not always contain the actual exchange. In contests with e.g. serial number and grid as exchange,<br>
 +
the Exchange field may even be disabled. When in doubt, leave the Exchange field empty and click OK. This will show<br>
 +
a pop-up with instructions.
  
The following commands when entered into a message macro enables automated functions as listed<br><br>
+
'''Important: There is no band category setting.''' Some contest definitions include categories which also include bands but most do not.<br>
 +
Lacking an explicit band category, DXLog will automatically determine it.<br>
 +
If your log contains QSO on more than band, exported Cabrillo file will say <tt>CATEGORY-BAND: ALL</tt>.<br>
 +
If your log contains QSO only on one band, say 20m, the exported Cabrillo file will say <tt>CATEGORY-BAND: 20M</tt><br>
 +
All X-QSO are ignored in this process, so if you accidentally make a QSO on the "wrong" band, simply mark it invalid using <code>[Ctrl][X]</code>.
  
$AILOCK: allow interlock blocking<br>
+
After pressing <code>[Enter]</code> (or clicking on the OK button) all fields are checked against the rules defined in contest definition file.<br>
$ALTERNATECQ: (or $ACQ) swaps primary and secondary radios and sends CQ on the secondary radio<br>
+
If any field contain incorrect data, DXLog will issue a warning with instructions on how to correct the data, and move the cursor to<br>
$BANDOR: returns the band of the opposite radio in SO2R<br>
+
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).
$CHECK: send license year (ARRL SS only)<br>
 
$CHECKCALL: - move focus to callsign and press spacebar<br>
 
$CORRECT: send a call correction, if any<br>
 
$CQ: same as $ALTERNATECQ but does not swap radios<br>
 
$CR: works like hitting [Enter] (log QSO)<br>
 
$CTRLPLUS: - same as $LOGQSO<br>
 
$CURRENT (or $CURRENTCALL): Sends the callsign of the current QSO despite the presence of a $CR later in the message.<br>
 
The $CR (carriage return) is always executed on message keypress. It is also useful in ESM (Enter Sends Message) mode in lieu of $LOGGEDCALL.
 
$FOCUS1: change Focused radio to Radio 1<br>
 
$FOCUS2: change Focused radio to Radio 2<br>
 
$FOCUSCALL: move entry focus to Callsign field<br>
 
$FOCUSRCVD: move entry focus to Rcvd field<br>
 
$FOCUSREC1: move entry focus to RecInfo field<br>
 
$FOCUSREC2: move entry focus to RecInfo2 field<br>
 
$FOCUSREC3: move entry focus to RecInfo3 field<br>
 
$FREQnn: Where nn is a band (e.g. $FREQ160, $FREQ80 etc.). Useful in a multi-op as a canned message "PSE QSY $FREQ15".<br>
 
Sends the frequency of the primary radio of the first networked station found on this band with the following priority: R, R+, M, and M+.<br>
 
$FREQOR: returns the frequency of the opposite radio in SO2R<br>
 
$FREQP: contains the frequency of the primary radio (useful for passing mults)<br>
 
$FREQS: contains  frequency of the secondary radio (useful for passing mults)<br>
 
$F1...$F7: send the message associated with F1 ... F7 function key<br>
 
$GRABPARTNER: grabs the first callsign from the Partner window and inserts it in the callsign field.<br>
 
$GRABSPOT: grabs spot on the current frequency<br>
 
$GRNR: sends gr/num of the received QTC<br>
 
$GUESSZONE: fill in exchange field(s) if possible, but cursor remains in the same edit field<br>
 
$GUESSEXCH: (or $GUESSEXCHANGE) mimics a space bar hit, filling the exchange field(s) if possible, but the cursor remains in the same edit field.<br>
 
$INSERT: sends message in the [Ins] key<br>
 
$ISLAND: sends IOTA Reference (i.e. EU001, AF001, ...) (IOTA Contest)<br>
 
$LATCH: sets latch mode<br>
 
$LOGGED: (or $LOGGEDCALL): sends what is typed in the callsign field of the current QSO, or if blank, the previous QSO<br>
 
$LOGQSO: silently saves QSO (useful in ESM + S&P mode)<br>
 
$MK2R=cmd: send a specific MK2R command to the microHAM MK2R SO2R box.<br>
 
$MSG1...$MSG12: send additional CW messages (see Alt + C)<br>
 
$MYCALL: sends callsign set in contest configuration<br>
 
$MYNAME: sends operator name, set in contest configuration<br>
 
$NEXT: (or $NEXTCALL): sends the callsign of the next QSO line when a $CR is included in the message.<br>
 
$NEXTSERIAL: sends next QSO serial number (current QSO serial number plus 1)<br>
 
$PILOCK: Forbid interlock blocking<br>
 
$PLUS: send messages in the [+] key<br>
 
$PREV: (or $PREVCALL): sends the callsign on the previous QSO line.<br>
 
$PREVSERIAL: sends previous QSO serial number (current QSO serial number minus 1)<br>
 
$QQSLC: sends Quick QSL message based QSOs made (see Intelligent Quick QSL)·<br>
 
$QQSLT: sends Quick QSL message based on time passed (see Intelligent Quick QSL)·<br>
 
$QQSLRESET: reset the timer or the counter like if the long QSL message were just sent.·<br>
 
$QSOB4: sends the QSOB4 message and cancels the remainder of the current message, if the current QSO is a dupe, otherwise sends nothing<br>
 
$REPEAT: restarts the automatic repeating CQ sequence (if enabled), after pausing for the specified interval. <br>
 
Most useful at the end of the [Plus] key message to avoid having to press [F1] to start CQing again.<br>
 
$RESET: cancels any manual change made in the audio control<br>
 
$RST: sends report from RST Sent field (normally 5NN)<br>
 
$RSTEXCHSENT: Resets the "exchangeSent" flag of the active QSO (useful only for ESM scripts)<br>
 
$R1R1, $R1R2, $R2R1, $R2R2: which can be entered in the predefined CW messages to set the headphone<br>
 
$SERIAL: sends current QSO Serial Number, or previous serial number if the line with the cursor is blank.<br>
 
$SETEXCHSENT: Sets the "exchangeSent" flag of the active QSO (useful only for ESM scripts)<br>
 
$SPACEBAR: same as $SPACE (press spacebar in currently active field, move to next field)<br>
 
$STATE: sends State/Province set in contest configuration (Exchange)<br>
 
$SWAPFOCUS:  - change Focused radio to opposite Radio<br>
 
$TAB: works like hitting [Tab] (move cursor to next field)<br>
 
$TR1 and $TR2: primary radio or secondary radio tx<br>
 
$YEAR: sends year nr set in contest configuration (i.e. EUHFC, AA)<br>
 
$ZONE<br> sends zone nr set in contest configuration<br>
 
$13: RTTY send carriage return character (start print on a new line)·<br>
 
  
&xy: sends a Morse prosign where xy represents the two characters forming the prosign, e.g. &AS, &AR, &BK, &BT, &CL, &KN, &SK, etc.<br>
+
==Contest irregularities==
 
 
+: increase speed by 4 wpm<br>
 
-: decrease speed by 4 wpm<br>
 
^: the halfspace character with 1/2 dot duration<br>
 
~: (tilde) at the end of a variable means "no space" will be inserted, e.g. $NEXT~? sends the next callsign followed by a question mark, with no space in between<br>
 
<br>
 
WAEDC QTC related<br>
 
  
$CALLSIGN: send callsign of the current QTC·<br>
+
Since the contest configuration panel in DXLog is fixed and some contests have very non-standard<br>
$DONE: if all QTC are sent: mimic the [+] key·<br>
+
exchanges, the information sometimes has to be entered in a non-intuitive way.
$FIELD: this variable takes the value "GROUP", "TIME", "CL" or "NR", depending on the kind of QTC field where the cursor is located<br>
+
 
$GRNR: sends group & number of the received QTC·<br>
+
The contests listed below use the configuration panel entry fields in a non-standard way.
$NEXT: move focus to the next QTC line·<br>  
+
 
$QTC: sends group & number of the transmitted QTC·<br>
+
{|class="wikitable"
$QTCROW: Row number of cursor location in the QTC window. Very useful to create a function key sending the message PSE RPT QTC NR $QTCROW $QTCROW in WAEDC RTTY to request repetition of a specific QTC.<br>
+
! '''Contest'''
$SERIAL: send serial number of the current QTC·<br>
+
! '''Exchange'''
$SERIE: send the complete QTC block (specific to RTTY)· <br>
+
! '''State/Province/Other'''
$TIME: send time of the current QTC·<br>
+
! '''Power'''
$VALID: save everything and close the window·<br>  
+
! '''Name'''
<br>
+
|-
Setup for NOW message on RTTY<br>
+
| ARRL Sweepstakes
$13 $CORRECT TU $CR $GRABPARTNER NOW $LOGGEDCALL (EXCH)<br>
+
| The last 2 digits of the year of first license<br>for either the operator or the station.
 +
| ARRL/RAC Section.
 +
| “Q” for Single Op QRP (5 Watts output or less).<br>“A” for Single Op Low Power (150W output or less).<br>“B” for Single Op High Power (more than 150W output).<br>“U” for Single Op Unlimited (Regardless of power class).<br>“M” for Multi-Op (Regardless of power class).<br>“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.<br>'''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:
 +
 
 +
{|class="wikitable"
 +
! '''Contest'''
 +
! '''Limitations'''
 +
|-
 +
| 7th Call Area QSO Party
 +
| Only the first 10 DXCC counts for multiplier. DXLog will show all unworked DXCC as multipliers.<br>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.<br>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<br>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.<br>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.<br>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.<br>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.<br>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<br>
 +
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,<br>
 +
consider using the <code>File|Update contest</code> function described in the [[Menu_File#Update_contest|Update contest]] chapter.
 +
 
 +
A contest definition file is always of the type <tt>.TXT</tt>.
 +
 
 +
There are four types of support files: prefill databases, warning files, regular expression<br>
 +
files and points files.
 +
 
 +
Prefill data bases (sometimes referred to as call history files) can be of three different<br>
 +
types: <tt>.TXT</tt>, <tt>.DTB</tt>, and <tt>.CSV</tt>.
 +
* <tt>.TXT</tt> is the default, plain text DXLog format.<br>
 +
* <tt>.DTB</tt> is a binary, legacy format compatible with Win-Test.<br>
 +
* <tt>.CSV</tt> is a plain text format, compatible with N1MM Logger+.
 +
 
 +
Warning files, regular expression files, and points files are always of the type <tt>.TXT</tt>.
 +
 
 +
Contest files and support files are all part of the installation binary but are copied at start up<br>
 +
to a secondary folder to allow user modification without the need for elevated permissions.
 +
 
 +
Contest files are copied to <tt>%appdata%\DXLog\Contest</tt> and support files are copied to<br>
 +
<tt>%appdata%\DXLog\Database</tt>.
 +
 
 +
The standard setting in Microsoft Windows is that %appdata% folders are hidden since they<br>
 +
are not intended for manual modification.
 +
 
 +
The easiest way to open the <tt>%appdata%\DXLog</tt> folder is via Dxlog's menu <code>File|Open configuration folder</code>.
 +
 
 +
The folder is also reachable by typing "%appdata%\DXLog" in either the path text<br>
 +
box in Windows Explorer or using Windows' Run command, <code>[Win][R]</code>. 
 +
 
 +
At startup, DXLog compares the age of all contest related files in the installation folder with<br>
 +
the age of the files in the secondary folder. If a file in the installation folder is missing or has a more<br>
 +
recent modification date, the file in the secondary folder is overwritten. Otherwise, it is left untouched.<br>
 +
 
 +
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 <code>File|Update contest</code>.
 +
 
 +
Under some circumstances (such as a fatal bug that prevents the opening of a log for the contest)<br>
 +
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<br>
 +
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 <tt>%appdata%\DXLog\Contest</tt> folder.
 +
* Prefill database files should be copied to the <tt>%appdata%\DXLog\Database</tt> folder.
 +
* Warning files should be copied to the <tt>%appdata%\DXLog\Database</tt> folder.
 +
* Regular expression files should be copied to the <tt>%appdata%\DXLog\Database</tt> folder.
 +
* Points files should be copied to the <tt>%appdata%\DXLog\Database</tt> folder.
 +
 
 +
==Macro commands and special characters==
 +
 
 +
===Basic macro commands===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|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.)
 +
|-
 +
| $BANDID<i>ssss</i>
 +
| Send band of Radio 1 of station "ssss" in the network. <br>E.g. $BANDIDSK3W_1 will send band of radio 1 of station with ID SK3W_1.<br>'''Important:''' Does not work with station ID containing any of the special<br>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.<br>'''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.<br>Binary CAT commands (e.g., for ICOM and older Yaesu) are in hexadecimal and preceded by a percent sign.<br>For ICOM the header (<tt>FEFE...</tt>) and terminating byte (<tt>FD</tt>) should not be included.<br>To include space in a CAT command, use underscore _.<br>Example 1: <tt>$CAT1=AG000;AG$000;</tt> will silence both the main and sub receiver on an Elecraft K3.<br>Example 2: <tt>$CAT1=%14010000$CAT1=%290114010000</tt> 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.<br>Differs slightly from $LOGQSO, in that e.g. its timing can be shifted.<br>(C.f. $LOGQSO and $FORCELOG)
 +
|-
 +
| $DASH
 +
| Sends "-" (dash) in digital modes or waits one word space in CW.
 +
|-
 +
| $DELAY=<i>nnn</i>
 +
| Wait "nnn" milliseconds. E.g. <tt>$DELAY=80</tt>
 +
|-
 +
| $DISABLERIT
 +
| Disables RIT on supported radios.
 +
|-
 +
| $EXCHANGE
 +
| Send the exchange entered in the configuration panel.<br>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<br>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.<br>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.
 +
|-
 +
| $FREQID<i>ssss</i>
 +
| Send frequency of Radio 1 of station "ssss" in the network.<br>E.g. $FREQIDSK3W_1 will send frequency of radio 1 of station with ID SK3W_1.<br>'''Important:''' Does not work with station ID containing any of the special characters<br>used in messages such as + and -.<br>Obeys settings for rounding when transmitting frequencies from macros.
 +
|-
 +
| $FREQ<i>bbb</i>
 +
| Send the frequency of the networked primary radio found on this band.<br>Band "bbb" is 160...10, 50, 144, and 432.<br>'''Important:''' Only considers stations of type R, R+, and M.<br>Obeys settings for rounding when transmitting frequencies from macros.
 +
|-
 +
| $FREQOR
 +
| Send frequency of the other radio in SO2R.<br>Obeys settings for rounding when transmitting frequencies from macros.
 +
|-
 +
| $FREQPASS<i>bbb</i>
 +
| Send the defined pass frequency for band "bbb" for the station.<br>Valid band names are 160...10, 50, 144, and 432.<br>Sends nothing if undefined.<br>Obeys settings for rounding when transmitting frequencies from macros.
 +
|-
 +
| $FREQR1
 +
| Send the frequency of Radio 1.<br>Obeys settings for rounding when transmitting frequencies from macros.<br>Was $FREQP.
 +
|-
 +
| $FREQR2
 +
| Send the frequency of Radio 2.<br>Obeys settings for rounding when transmitting frequencies from macros.<br>Was $FREQS.
 +
|-
 +
| $GRABPARTNER
 +
| '''CW''': Grab the topmost callsign from the Partner stack, overwriting any entered callsign.<br>'''Digital''': Grab the most recently decoded call. If this is not available from the decoder<br>or this call is the just logged call, grab the topmost call from the Partner stack.<br>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<br>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,<br>the previously logged call. If empty and digital mode, the most recently<br>highlighted non-dupe call in the decoder window.
 +
|-
 +
| $LOGQSO
 +
| Logs QSO when executed. (C.f. $FORCELOG and $CR)
 +
|-
 +
| $MK2R=<i>abc</i>
 +
| 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=<i>abc</i>
 +
| 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.<br>Follows CW abbreviation rules and also sends "1000" as "KW".
 +
|-
 +
| $PREV_RCVD
 +
| Send previous received exchange.<br>If succeded by a number within parentheses and the contest definition file contains<br>FIELD_RCVD_NUMERIC=YES, left-zero-pad to this length.<br>Follows CW number sending rules.
 +
|-
 +
| $PREV_RECINFO
 +
| Send previous received second exchange.<br>If succeded by a number within parentheses and the contest definition file contains<br>FIELD_RECINFO_NUMERIC=YES, left-zero-pad to this length.<br>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.<br>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.<br>(Only usable in SO2R scenarios.)
 +
|-
 +
| $R2R1
 +
| Set the headphone audio routing to radio 2 in left ear and radio 1 in right ear.<br>(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.<br>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.<br>(Only usable in SO2R scenarios.)
 +
|-
 +
| $RPTOFF
 +
| Pause CQ repeat.
 +
|-
 +
| $RST
 +
| Send report from RST Sent field. Sends 5NN in CW also with no abbreviation,<br>otherwise follows number sending rules for CW.
 +
|-
 +
| $SERIAL
 +
| Send the serial number of the current QSO, or the previous serial number if the<br>log entry field is empty. Takes one argument which is the sent number of digits.<br>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.<br>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.<br>'''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.<br>'''Important:''' Clears entry field at the end of the message and not if interrupted.
 +
|-
 +
|<nowiki>+</nowiki>
 +
| increase CW speed by 4 wpm.
 +
|-
 +
|<nowiki>-</nowiki>
 +
| decrease CW speed by 4 wpm.
 +
|-
 +
|\
 +
| Sends the AR prosign.
 +
|-
 +
|*
 +
| Sends the SK prosign.
 +
|-
 +
|^
 +
| Half dit space character in CW.<br>'''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:<br>
 +
<tt>$13 $CORRECT TU $CR $GRABPARTNER NOW $LOGGEDCALL $RST $SERIAL $SERIAL $MYCALL</tt>
 +
 
 +
Example of confirming received exchange in Insert message on RTTY:<br>
 +
<tt>$LOGGEDCALL $F2 ($RCVD~) $MYCALL</tt>
 +
 
 +
 
 +
'''Location of macro values in the contest configuration panel.'''
 +
 
 +
 
 +
[[image:Configurationpaneltaggedmacros.png|800px]]
 +
 
 +
===Conditionals===
 +
 
 +
On top of the powerful set of macro commands you can use conditionals to control the execution<br>
 +
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<br>
 +
at the start of transmission if used in an SO2R scenario. Conditionals may therefore create seemingly<br>
 +
erroneous results when used in SO2R scenarios.
 +
 
 +
Example of F2 message to send RST and Zone differently in CW and digital:<br>
 +
<tt>[DIGITAL]$RST$DASH$RST $WAZZONE$DASH$WAZZONE[ELSE]$RST $WAZZONE</tt>
 +
 
 +
Example of Run Plus message for same mixed mode contest:<br>
 +
<tt>$CORRECT [DIGITAL]$LOGGEDCALL TU $CR $MYCALL QRZ?[ELSE]TU $CR $MYCALL</tt>
 +
 
 +
Example of F2 message that works for all stations in ARRL DX contest:<br>
 +
<tt>$RST [EXCHANGE="DX"]$POWER[ELSE]$EXCHANGE</tt>
 +
 
 +
Example of F2 message that works for all stations in Helvetia contest:<br>
 +
<tt>$RST [EXCHANGE="DX"]$SERIAL[ELSE]$EXCHANGE</tt>
 +
 
 +
Example of S&P F1 message for the multiplier station in a Multi-Single entry:<br>
 +
<tt>[QSO_IS_MULT]$MYCALL</tt>
 +
 
 +
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:
 +
 
 +
[[file:mixedmodemessages.png|none|frame]]
 +
 
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|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,<br>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<br>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,<br>allowing things like <tt>[MODE="CW"]CQ CW[ELSE]CQ RTTY</tt>
 +
|-
 +
| 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.<br>E.g. <tt>IF(MODE="CW","CWWORD","WORD")</tt>
 +
|-
 +
| 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<br>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<br>Station dropdown menu in upper case.
 +
|-
 +
| VIOLATION
 +
| Boolean
 +
| True if a band or mode change rule is violated.<br>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<br>
 +
and their support files can be found on [http://dxlog.net/sw/contestlist.php '''this page'''].

Latest revision as of 11:13, 19 March 2024

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

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:

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.