Difference between revisions of "Contest configuration"

From DXLog.net
Jump to navigation Jump to search
(Conditionals)
(Basic macro commands)
 
(155 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Contest configuration==
+
==The contest configuration panel==
 
[[image:DXL ContestConfig1.png]]
 
[[image:DXL ContestConfig1.png]]
 
{|class="wikitable"
 
{|class="wikitable"
Line 10: Line 10:
 
|-
 
|-
 
| Exchange
 
| Exchange
| Contest exchange.
+
| Typically the contest exchange '''BUT''' may also be keywords such as "DX" or "NONE".
 
|-
 
|-
 
| DXCC prefix
 
| DXCC prefix
| Station's standard DXCC prefix. (G for UK, SM for Sweden, etc.)
+
| Station's standard DXCC prefix.
 
|-
 
|-
| WAZ zone
+
| CQ/WAZ zone
| Station's CQ/WAZ zone number.
+
| Station's CQ/WAZ zone.
 
|-
 
|-
 
| ITU zone  
 
| ITU zone  
| Station's ITU zone number.
+
| Station's ITU zone.
 
|-
 
|-
 
|State/Province/Other
 
|State/Province/Other
| Station's state or province. Sometimes "DX" for stations outside a certain geography.
+
| Station's state or province. Sometimes used for other purposes.  
 
|-
 
|-
 
| Name
 
| Name
Line 29: Line 29:
 
| Address
 
| Address
 
| Full address of log submitter.  
 
| Full address of log submitter.  
 +
|-
 +
| Email
 +
| Email address of log submitter.
 
|-
 
|-
 
| Club
 
| Club
Line 41: Line 44:
 
| Category
 
| Category
 
| Contest category.  
 
| Contest category.  
 +
|-
 +
| Station
 +
| Contest station category.
 
|-
 
|-
 
| Overlay
 
| Overlay
| Contest overlay '''or''' station category (if required).
+
| Contest overlay
 
|-
 
|-
 
| Class
 
| Class
Line 61: Line 67:
 
|}
 
|}
  
'''NB. There is no band category setting.''' Some contest definitions include categories which also include bands but most do not.<br>
+
After filling out the Callsign field, an empty DXCC prefix, CQ zone, or ITU zone field will be auto-filled.<br>
 +
'''Important:''' The DXCC prefix auto-fill uses the CQ WW country definition which means that e.g. IT9 and TA1 are separate countries.<br>
 +
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,<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.
 +
 
 +
'''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>
 
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 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>
 
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>.
 
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>.
 
'''NB. There is no station category setting.''' Some contests, such as the IARU HF Championship, also defines a station category.<br>
 
The station categories for these contests are available in the ''Overlay'' drop down menu. When chosen, they will be converted<br>
 
into the correct station category in the exported Cabrillo log file.
 
  
 
After pressing <code>[Enter]</code> (or clicking on the OK button) all fields are checked against the rules defined in contest definition file.<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>
Line 75: Line 85:
 
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).
 
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).
  
==Irregular contest configurations==
+
==Contest irregularities==
  
 
Since the contest configuration panel in DXLog is fixed and some contests have very non-standard<br>
 
Since the contest configuration panel in DXLog is fixed and some contests have very non-standard<br>
Line 102: Line 112:
 
|-
 
|-
 
| CWOps CWT
 
| CWOps CWT
| Member number or country prefix (e.g. G for UK, SM for Sweden)
+
| Member number or country prefix (e.g. G for England, SM for Sweden)
 
|
 
|
 
|
 
|
 
| Operator's first name
 
| Operator's first name
 
|-
 
|-
| PRO CW Contest
+
| SSA Jultest
| M for CW club member category entry, N otherwise
+
| Your first random 5-letter word.<br>'''Reset your messages to default to ensure your F2 message is correct.'''
| /M for CW club member category entry, '''empty''' otherwise
+
|
 
|
 
|
 
|
 
|
Line 120: Line 130:
 
! '''Contest'''
 
! '''Contest'''
 
! '''Limitations'''
 
! '''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
 
| PAQP
 
| Bonus points for Rover and Mobile stations is not supported.
 
| Bonus points for Rover and Mobile stations is not supported.
 
|-
 
|-
| YO PSK31 Contest
+
| SARL HF Contest
| Due to limitations in DXLog's contest rule logic you can not log the received DXCC prefix from non-YO stations.<br>There is however no need to do this. Cabrillo export will be correct.
+
| 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.
 
|-
 
|-
| OK DX RTTY
+
| South Dakota QSO Party
| Due to limitations in DXLog's contest rule logic there is no band change rule violation check for single operator categories.
+
| 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.
 +
|-
 +
| 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 files==
+
==Contest definition and support files==
  
 
The behavior and visual appearance of DXLog for a particular contest is controlled<br>
 
The behavior and visual appearance of DXLog for a particular contest is controlled<br>
 
by a contest definition file, often accompanied by support files.
 
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>.
 
A contest definition file is always of the type <tt>.TXT</tt>.
Line 150: Line 214:
 
Warning files, regular expression files, and points files are always of the type <tt>.TXT</tt>.
 
Warning files, regular expression files, and points files are always of the type <tt>.TXT</tt>.
  
Contest files and support files are part of the installation binary but are copied to a secondary<br>
+
Contest files and support files are all part of the installation binary but are copied at start up<br>
folder to allow user modification.
+
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>  
 
Contest files are copied to <tt>%appdata%\DXLog\Contest</tt> and support files are copied to<br>  
 
<tt>%appdata%\DXLog\Database</tt>.
 
<tt>%appdata%\DXLog\Database</tt>.
  
Due to Microsoft Windows policy, all %appdata% folders are hidden since they are normally<br>
+
The standard setting in Microsoft Windows is that %appdata% folders are hidden since they<br>
not intended for manual modification.
+
are not intended for manual modification.
  
The easiest way to open the <tt>%appdata%\DXLog</tt> folder is via Dxlog's<br>
+
The easiest way to open the <tt>%appdata%\DXLog</tt> folder is via Dxlog's menu <code>File|Open configuration folder</code>.
menu <code>File|Open configuration folder</code>.
 
  
 
The folder is also reachable by typing "%appdata%\DXLog" in either the path text<br>  
 
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>.   
 
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 binary with<br>
+
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 binary has a more<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>
 
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 the user to make modifications while still receiving updates to the files.
 
  
Between releases, contest related files are sometimes published on the DXLog support reflector.
+
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 download such a file, right-click the published link and select "Download the file as".<br>
+
To do this, right-click the file's link, select "Download the file as", and select a location of your choice<br>
Select a location of your choice, such as your desktop. (This file can be deleted once it has<br>
+
such as your desktop. (This file can be deleted once it has been copied to the destination below.)
been copied to the destination below.)
 
  
Next copy this file to the relevant folder, thereby overwriting the earlier version of the file:  
+
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.
 
* Contest definition files should be copied to the <tt>%appdata%\DXLog\Contest</tt> folder.
* Call history or prefill database files should be copied to the <tt>%appdata%\DXLog\Database</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.
 
* 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.
 
* Regular expression files should be copied to the <tt>%appdata%\DXLog\Database</tt> folder.
Line 186: Line 256:
 
==Macro commands and special characters==
 
==Macro commands and special characters==
  
===Basic syntax===
+
===Basic macro commands===
  
 
{|class="wikitable"
 
{|class="wikitable"
Line 210: Line 280:
 
|-
 
|-
 
| $ALTERNATECQ
 
| $ALTERNATECQ
| same as $ACQ.
+
| same as $ACQ. (Only usable in SO2R scenarios.)
 
|-
 
|-
| $BANDIDpppp
+
| $BANDID<i>ssss</i>
| Send band of Radio 1 of station pppp in the network. <br>E.g. $BANDIDSM7IUN_RUN1 will send band of radio 1 of station with ID SM7IUN_RUN1.<br>'''NB.''' Does not work with station ID containing any of the special characters used in messages such as + and -.
+
| 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
 
| $BANDOR
 
| Send band of non focused radio.
 
| Send band of non focused radio.
 
|-
 
|-
| $CAT1, $CAT2, $CATF
+
| $BLANK
| Sends a CAT or CI-V command to radio 1, 2, or the focused radio.<br>CI-V commands for ICOM are in hexadecimal and preceded by a percent sign.<br>Also, header (<tt>FEFE...</tt>) and terminating byte (<tt>FD</tt>) should not be included.<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.
+
| 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
 
| $CHECKCALL
Line 229: Line 302:
 
| $CORRECT
 
| $CORRECT
 
| Send corrected callsign. Sends nothing if callsign has not been modified.  
 
| Send corrected callsign. Sends nothing if callsign has not been modified.  
 +
|-
 +
| $CQZONE
 +
| Send own CQ/WAZ zone. Follows CW number sending rules.
 
|-
 
|-
 
| $CQ
 
| $CQ
| Send CQ (i.e. F1 message) on focused radio. (Creates infinite loop if used with key F1.)
+
| Send CQ (i.e. Run F1 message) on focused radio. (Creates infinite loop if used with key F1.)
 
|-
 
|-
| $CQZONE
+
| $CR
| Send own WAZ/CQ zone as entered in the contest configuration panel.
+
| 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.
 
|-
 
|-
| $CR
+
| $EXCHANGENOAB
| Equivalent to pressing [Enter] with ESM disabled, i.e. log QSO.
+
| Send the exchange exactly as entered in the configuration panel.  
 
|-
 
|-
| $CURRENT
+
| $EXTINF
| Send current callsign even if $CR present in the macro.
+
| 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.
 
|-
 
|-
| $CURRENTCALL
+
| $EXTINF1 $EXTINF2 $EXTINF3
| Equivalent to $CURRENT.
+
| Like $EXTINF but only sends the first/second/third word in the line.<br>Word delimiters are space, comma, and semicolon.
 
|-
 
|-
| $DASH
+
| $EXTINFT
| Send "-" (dash) in digital modes, else " " (space).
+
| Like $EXTINF but only considers the topmost line in the Extra Information window.
 
|-
 
|-
| $DELAY=###
+
| $EXTINFT1 $EXTINFT2 $EXTINFT3
| Wait ### milliseconds.
+
| Like $EXTINF1/2/3 but only considers the topmost line in the Extra Information window.
 
|-
 
|-
| $EXCHANGE
+
| $F1-$F7
| Send the exchange as entered in the configuration panel.
+
| Send or play back the message associated to the function key.
 
|-
 
|-
 
| $FOCUS1
 
| $FOCUS1
| Change Focus to Radio 1.
+
| Change Focus to Radio 1. (Only usable in SO2R scenarios.)
 
|-
 
|-
 
| $FOCUS2
 
| $FOCUS2
| Change Focus to Radio 2.
+
| Change Focus to Radio 2. (Only usable in SO2R scenarios.)
 
|-
 
|-
 
| $FOCUSCALL
 
| $FOCUSCALL
Line 264: Line 352:
 
|-
 
|-
 
| $FOCUSRCVD
 
| $FOCUSRCVD
| Move focus to Rcvd field.
+
| Move focus to the received exchange field.
 
|-
 
|-
 
| $FOCUSREC1
 
| $FOCUSREC1
| Move focus to RecInfo field.
+
| Move focus to the second received exchange field.
 
|-
 
|-
 
| $FOCUSREC2
 
| $FOCUSREC2
| Move focus to RecInfo2 field.
+
| Move focus to the third received exchange field.
 
|-
 
|-
 
| $FOCUSREC3
 
| $FOCUSREC3
| Move focus to RecInfo3 field.
+
| Move focus to the fourth received exchange field.
 
|-
 
|-
| $FREQIDpppp
+
| $FORCELOG
| Send frequency of Radio 1 of station pppp in the network.<br>E.g. $FREQIDSM7IUN_RUN2 will send frequency of radio 1 of station with ID SM7IUN_RUN2.<br>'''NB.''' Does not work with station ID containing any of the special characters used in messages such as + and -.<br>Obeys settings for rounding when transmitting frequencies from macros.  
+
| Logs QSO bypassing all validity checking.
 
|-
 
|-
| $FREQnnn
+
| $FREQID<i>ssss</i>
| Send the frequency of the networked primary radio found on this band.<br>Band nnn is 160, 80...15, 10, 50, 144, etc.<br>'''NB.''' Only considers stations of type R, R+, and M.<br>Obeys settings for rounding when transmitting frequencies from macros.  
+
| 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
 
| $FREQOR
 
| Send frequency of the other radio in SO2R.<br>Obeys settings for rounding when transmitting frequencies from macros.  
 
| Send frequency of the other radio in SO2R.<br>Obeys settings for rounding when transmitting frequencies from macros.  
 
|-
 
|-
| $FREQP
+
| $FREQPASS<i>bbb</i>
| Send the frequency of Radio 1.<br>Obeys settings for rounding when transmitting frequencies from macros.  
+
| 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.  
 
|-
 
|-
| $FREQPASSnnn
+
| $FREQR1
| Send the defined pass frequency for band nnn 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.  
+
| Send the frequency of Radio 1.<br>Obeys settings for rounding when transmitting frequencies from macros.<br>Was $FREQP.
 
|-
 
|-
| $FREQS
+
| $FREQR2
| Send the frequency of Radio 2.<br>Obeys settings for rounding when transmitting frequencies from macros.  
+
| Send the frequency of Radio 2.<br>Obeys settings for rounding when transmitting frequencies from macros.<br>Was $FREQS.  
|-
 
| $F1-$F7
 
| Send or play back the message associated to the function key.
 
 
|-
 
|-
 
| $GRABPARTNER
 
| $GRABPARTNER
| '''CW''': Grab the topmpost 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.  
+
| '''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-9
+
| $GRABPARTNER1-$GRABPARTNER9
 
| Grab the numbered slot from the partner stack. Overwrites any entered callsign.  
 
| Grab the numbered slot from the partner stack. Overwrites any entered callsign.  
 
|-
 
|-
Line 306: Line 394:
 
|-
 
|-
 
| $GREET
 
| $GREET
| Send GM, GA, or GE based on local time of day.
+
| Send GM, GA, or GE based on the local time of day.
 
|-
 
|-
 
| $GRID
 
| $GRID
Line 312: Line 400:
 
|-
 
|-
 
| $GRID4
 
| $GRID4
| Send the first four characters of the Maidenhead locator as entered in the contest configuration panel.
+
| Send the first four characters of the Maidenhead locator as entered<br>in the contest configuration panel.
 
|-
 
|-
 
| $GUESSEXCH
 
| $GUESSEXCH
Line 318: Line 406:
 
|-
 
|-
 
| $INSERT
 
| $INSERT
| Send message associated with the [Ins] key.
+
| Send the INSERT message, the message associated with the [Insert] key.
 
|-
 
|-
 
| $ITUZONE
 
| $ITUZONE
| Send ITU zone as entered in the contest configuration panel.  
+
| Send own ITU zone. Follows CW number sending rules.
 
|-
 
|-
 
| $LOGGEDCALL
 
| $LOGGEDCALL
Line 327: Line 415:
 
|-
 
|-
 
| $LOGQSO
 
| $LOGQSO
| Log QSO.
+
| Logs QSO when executed. (C.f. $FORCELOG and $CR)
 
|-
 
|-
| $MK2R=cmd
+
| $MK2R=<i>abc</i>
| Send command to connected microHAM device.
+
| Send command "abc" to a connected microHAM device.
 
|-  
 
|-  
| $MSG1-$MSG12
+
| $MSG1, $MSG2, ..., $MSG12
 
| Additional CW messages. Configured using [Alt][C].
 
| Additional CW messages. Configured using [Alt][C].
 
|-
 
|-
Line 340: Line 428:
 
| $MYDXCC
 
| $MYDXCC
 
| Send station's own DXCC prefix.
 
| Send station's own DXCC prefix.
|-
 
| $MYITUZONE
 
| Equivalent to $ITUZONE.
 
|-
 
| $MYNAME
 
| Send name of operator as entered in the contest configuration panel.
 
 
|-
 
|-
 
| $NEXT
 
| $NEXT
Line 354: Line 436:
 
|-
 
|-
 
| $NEXTSERIAL
 
| $NEXTSERIAL
| Send next QSO serial number.
+
| As $SERIAL but sends the serial number of the next QSO. Follows CW number sending rules.
 
|-
 
|-
 
| $OPNAME
 
| $OPNAME
| Equivalent to $MYNAME.
+
| Send the operator name as entered in the configuration panel.
 
|-
 
|-
| $OTRSP=cmd
+
| $OTRSP=<i>abc</i>
| Send command to connected OTRSP device.
+
| Send command "abc" to connected OTRSP device.
 
|-
 
|-
 
| $PBINS
 
| $PBINS
| Play back DVK memory associated with INSERT key. On ICOM and microHAM this is #8.  
+
| Play back DVK memory associated with INSERT key. On external devices this is #8.
 
|-
 
|-
 
| $PBPLUS
 
| $PBPLUS
| Play back DVK memory associated with PLUS key. On microHAM this is #9.
+
| Play back DVK memory associated with PLUS key. On external devices this is #9.
 
|-
 
|-
 
| $PILOCK
 
| $PILOCK
Line 373: Line 455:
 
| $PLUS
 
| $PLUS
 
| Send message associated with the [+] key.
 
| 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
 
| $PREV_RCVD
| Send previous received exchange.<br>If numeric and succeded by a number within parentheses, left-zero-pad to this length.  
+
| 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
 
| $PREV_RECINFO
| Send previous received second exchange.<br>If numeric and succeded by a number within parentheses, left-zero-pad to this length.  
+
| 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
 
| $PREVSERIAL
| Send the serial number of the previous QSO.
+
| 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
 
| $QQSLRESET
Line 387: Line 475:
 
|-
 
|-
 
| $QSOB4
 
| $QSOB4
| Send the QSOB4 message if "Work dupes" is not enabled.
+
| Send the QSOB4 message and stop transmission if the entered callsign is a dupe.
 
|-
 
|-
 
| $QSOB4WIPE
 
| $QSOB4WIPE
| Send the QSOB4 message and clear entry fields if "Work dupes" is not enabled.<br>NB. Clears entry field at the end of the message and not if interrupted.
+
| Send the QSOB4 message, clear entry field, and stop transmission if the entered callsign is a dupe.  
 
|-
 
|-
 
| $R1R1
 
| $R1R1
Line 396: Line 484:
 
|-
 
|-
 
| $R1R2
 
| $R1R2
| Set the headphone audio routing to radio 1 in left ear and radio 2 in right ear. (Only usable in SO2R scenarios.)
+
| Set the headphone audio routing to radio 1 in left ear and radio 2 in right ear.<br>(Only usable in SO2R scenarios.)
 
|-
 
|-
 
| $R2R1
 
| $R2R1
| Set the headphone audio routing to radio 2 in left ear and radio 1 in right ear. (Only usable in SO2R scenarios.)
+
| Set the headphone audio routing to radio 2 in left ear and radio 1 in right ear.<br>(Only usable in SO2R scenarios.)
 
|-
 
|-
 
| $R2R2
 
| $R2R2
 
| Set the headphone audio routing to radio 2 in both ears. (Only usable in SO2R scenarios.)
 
| 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
 
| $RCVD
| Send the received exchange (without RST).
+
| Send the content of received exchange field (without RST).
 
|-
 
|-
 
| $RECINFO
 
| $RECINFO
| Send second part of received exchange, if available.
+
| 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
 
| $REPEAT
| Re-enable CQ repeat.
+
| Re-enable CQ repeat for the focused radio.
 
|-
 
|-
 
| $RESERVENR
 
| $RESERVENR
| Request a serial number from the number server on the network.
+
| 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
 
| $RESET
| Refresh audio control settings to cancel any manual change made. (Only usable in SO2R scenarios.)
+
| Refresh audio control settings to cancel any manual change made.<br>(Only usable in SO2R scenarios.)
 +
|-
 +
| $RPTOFF
 +
| Pause CQ repeat.
 
|-
 
|-
 
| $RST
 
| $RST
| Send report from RST Sent field (normally 5NN). Follows serial number abbreviation rules.
+
| Send report from RST Sent field. Sends 5NN in CW also with no abbreviation,<br>otherwise follows number sending rules for CW.
 
|-
 
|-
 
| $SERIAL
 
| $SERIAL
| Send current QSO Serial Number, or previous serial number if the log entry field is empty.<br>Obeys abbreviation settings for CW.
+
| 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
 
| $SERIALNOAB
| Send unabbreviated, current QSO Serial Number, or previous serial number if the log entry field is empty.  
+
| As $SERIAL but never abbreviates.
 +
|-
 +
| $SP
 +
| Set the current radio to S&P. Also see $RUN.
 
|-
 
|-
 
| $SPACE
 
| $SPACE
 
| Step focus one field. (Same as pressing space bar).
 
| Step focus one field. (Same as pressing space bar).
 
|-
 
|-
| $SPACEBAR
+
| $SPOTME
| Equivalent to $SPACE.
+
| 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
 
| $STATE
| Send State/Province as set in contest configuration.
+
| Send State/Province/Other as entered in the contest configuration panel.
 
|-
 
|-
 
| $SWAPFOCUS
 
| $SWAPFOCUS
| Swap radio focus.
+
| 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
 
| $TR1
Line 448: Line 554:
 
| $TRS
 
| $TRS
 
| Transmit on radio opposite to focus. (Only usable in SO2R scenarios.)
 
| Transmit on radio opposite to focus. (Only usable in SO2R scenarios.)
|-
 
| $TU
 
| Sends "TU".
 
|-
 
| $WAZZONE
 
| Equivalent to $CQZONE.
 
 
|-
 
|-
 
| $WIPE
 
| $WIPE
| Clear the entry fields.<br>NB. Clears entry field at the end of the message and not if interrupted.
+
| Clear the entry fields.<br>'''Important:''' Clears entry field at the end of the message and not if interrupted.
|-
 
| &xy
 
| CW prosign, xy are merged into a single morse code sign.
 
 
|-
 
|-
 
|<nowiki>+</nowiki>
 
|<nowiki>+</nowiki>
Line 466: Line 563:
 
|<nowiki>-</nowiki>
 
|<nowiki>-</nowiki>
 
| decrease 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.
+
| 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 variable means no letter space will be inserted.
+
| At the end of a macro or string means no word space will be inserted.
 
|-
 
|-
 
|}
 
|}
  
Example of "NOW" message on RTTY:
+
Example of "NOW" message on RTTY:<br>
<tt>$13 $CORRECT TU $CR $GRABPARTNER NOW $LOGGEDCALL (relevant contest exchange)</tt>
+
<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>
  
  
Line 486: Line 592:
 
===Conditionals===
 
===Conditionals===
  
On top of the powerful set of macro commands you can use conditionals to adjust the execution<br>
+
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.)
 
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>
 
Example of F2 message to send RST and Zone differently in CW and digital:<br>
Line 494: Line 604:
 
Example of Run Plus message for same mixed mode contest:<br>
 
Example of Run Plus message for same mixed mode contest:<br>
 
<tt>$CORRECT [DIGITAL]$LOGGEDCALL TU $CR $MYCALL QRZ?[ELSE]TU $CR $MYCALL</tt>
 
<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"
 
{|class="wikitable"
 
|+style="text-align:Left;"|Available syntax for conditional execution of macro commands
 
|+style="text-align:Left;"|Available syntax for conditional execution of macro commands
 +
|-
 +
| '''Syntactic element'''
 +
| '''Type'''
 +
| '''Description'''
 
|-
 
|-
 
| [  
 
| [  
Line 504: Line 641:
 
| ]  
 
| ]  
 
| Delimiter  
 
| Delimiter  
| Ends a conditional expression, the following macro commands, up to the next left bracket, will be executed if true
+
| Ends a conditional expression, the following macro commands,<br>up to the next left bracket, will be executed if true
 
|-
 
|-
 
| []  
 
| []  
Line 514: Line 651:
 
| String operators
 
| String operators
 
|-
 
|-
| = * + / - % ^ < > >= <=
+
| = <> * + / - % ^ < > >= <=
 
| Operator  
 
| Operator  
 
| Integer operators
 
| Integer operators
Line 522: Line 659:
 
| String literal
 
| String literal
 
|-
 
|-
| AND NOT XOR OR
+
| AND, NOT, XOR, OR
 
| Operator  
 
| Operator  
 
| Boolean operators
 
| Boolean operators
Line 529: Line 666:
 
| String  
 
| String  
 
| Current transmit band.
 
| 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
 
| CW
Line 537: Line 686:
 
| Boolean  
 
| Boolean  
 
| True if the mode is a digital mode.
 
| True if the mode is a digital mode.
 +
|-
 +
| DXCCPFX
 +
| String
 +
| The content of the contest configuration panel's DXCC prefix field.
 
|-
 
|-
 
| ELSE  
 
| ELSE  
 
| Boolean  
 
| Boolean  
| True if the previous conditional was false, allowing things like <tt>[MODE="CW"]CQ CW[ELSE]CQ RTTY</tt>
+
| True if the previous conditional was false,<br>allowing things like <tt>[MODE="CW"]CQ CW[ELSE]CQ RTTY</tt>
 
|-
 
|-
 
| ELSE2  
 
| ELSE2  
 
| Boolean  
 
| Boolean  
 
| True if the conditional before the last was false.
 
| True if the conditional before the last was false.
 +
|-
 +
| EXCHANGE
 +
| String
 +
| The content of the contest configuration panel's Exchange field.
 
|-
 
|-
 
| IF
 
| IF
 
| Conditional
 
| Conditional
| Value depends on how first parameter evaluates. E.g. <tt>IF(MODE="CW","CWWORD","WORD")</tt>
+
| 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  
 
| MODE  
 
| String  
 
| String  
 
| Current transmit mode.
 
| Current transmit mode.
 +
|-
 +
| OVERLAY
 +
| String
 +
| The content of the contest configuration panel's<br>Overlay dropdown menu in upper case.
 
|-
 
|-
 
| PHONE
 
| PHONE
Line 558: Line 723:
 
| True if the mode is SSB, FM, or AM.
 
| True if the mode is SSB, FM, or AM.
 
|-
 
|-
| QSO_CALLSIGN  
+
| QSO_CALLSIGN, NONFOCUS_CALLSIGN
 
| String  
 
| String  
 
| The callsign of the QSO.
 
| The callsign of the QSO.
 
|-
 
|-
| QSO_CONTINENT  
+
| QSO_CONTINENT, NONFOCUS_CONTINENT
 
| String  
 
| String  
 
| The continent abbreviation for the QSO.
 
| The continent abbreviation for the QSO.
 
|-
 
|-
| QSO_CQZONE  
+
| QSO_CQZONE, NONFOCUS_CQZONE
 
| Integer  
 
| Integer  
 
| The CQ zone for the QSO.
 
| The CQ zone for the QSO.
 
|-
 
|-
| QSO_DUPE  
+
| QSO_DUPE, NONFOCUS_DUPE
 
| Boolean  
 
| Boolean  
 
| True if the QSO is a duplicate.
 
| True if the QSO is a duplicate.
 
|-
 
|-
| QSO_DXCC  
+
| QSO_DXCC, NONFOCUS_DXCC
 
| String  
 
| String  
 
| Main callsign prefix for the DXCC country for the QSO.
 
| Main callsign prefix for the DXCC country for the QSO.
 
|-
 
|-
| QSO_INVALID  
+
| QSO_INVALID, NONFOCUS_INVALID
 
| Boolean  
 
| Boolean  
 
| True if the QSO is invalid.
 
| True if the QSO is invalid.
 
|-
 
|-
| QSO_ITUZONE  
+
| QSO_IS_MULT, NONFOCUS_IS_MULT
 +
| Boolean
 +
| True if the QSO in the entry line is a multiplier.
 +
|-
 +
| QSO_ITUZONE, NONFOCUS_ITUZONE
 
| Integer  
 
| Integer  
 
| The ITU zone for the QSO.
 
| The ITU zone for the QSO.
 
|-
 
|-
| QSO_NR  
+
| QSO_NR, NONFOCUS_NR
 
| Integer  
 
| Integer  
 
| The QSO number.
 
| The QSO number.
 
|-
 
|-
| QSO_PERIOD  
+
| QSO_PERIOD, NONFOCUS_PERIOD
 
| Integer  
 
| Integer  
 
| The contest period for QSO.
 
| The contest period for QSO.
 
|-
 
|-
| QSO_RCVD  
+
| QSO_QTC_NEEDED, NONFOCUS_QTC_NEEDED
 +
| Integer
 +
| The number of QTC still needed for the current callsign.
 +
|-
 +
| QSO_RCVD, NONFOCUS_RCVD
 
| String  
 
| String  
 
| The first contest exchange received field (not including the RST).
 
| The first contest exchange received field (not including the RST).
 
|-
 
|-
| QSO_STATION  
+
| QSO_STATION, NONFOCUS_STATION
 
| String  
 
| String  
 
| The station type, R for run, M for multiplier, etc.
 
| The station type, R for run, M for multiplier, etc.
 
|-
 
|-
| QSO_XQSO  
+
| QSO_XQSO, NONFOCUS_XQSO
 
| Boolean  
 
| Boolean  
 
| True if the QSO has been marked X-QSO.
 
| 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
 
| SSB
 
| Boolean  
 
| Boolean  
 
| True if the mode is SSB.
 
| 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.
 
|-
 
|-
 
|}
 
|}

Latest revision as of 07:07, 26 April 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.
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

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