Difference between revisions of "Contest definition"

From DXLog.net
Jump to navigation Jump to search
(Entry field definitions)
(Other keys)
 
(703 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Description==
+
==Introduction==
  
Contest rules vary greatly and are typically defined by the contest organizers.<br>
+
Contest rules vary greatly and are typically defined by the contest organizers.<br>
The differences can be in points per QSO, multiplier determination and calculations etc.<br>
+
The differences can be in points per QSO, multiplier determination and calculations, etc.<br>
To support a wide variety of rules and to allow for easy adding/changing of contest rules in DXLog.net, contest rules are defined and controlled through a contest config file.<br>
+
To support a wide variety of rules and to allow for easy adding/changing of contest rules in DXLog, <br>
Contest config files are "human readable", plain text files located in the '''Contest''' sub-folder in DXLog.net's installation folder. A wide range of contest definition files are included in the DXLog.net standard installation.<br>
+
contest rules are defined and controlled through a contest config file.<br>
The contest config files in the protected installation folder are however not intended for editing or modification
+
 
For this, there is a copy of the folder in Windows' unprotected AppData folder structure.
+
Contest config files are "semi human readable", plain text files located in the '''Contest''' sub-folder in <br>
Since this is a hidden folder, a drop down menu item is provided for easy access. (File | Open configuration directory)<br>
+
DXLog's installation folder. A wide range of contest definition files are included in the DXLog standard installation.<br>
Each time DXLog.net is started, the content of the installation sub-folder and the AppData sub-folder is compared.
+
The contest config files in the protected installation folder are however not intended for editing or modification<br>
If a contest config file in the installation sub-folder is newer than its copy in the AppData sub-folder (e.g. due to it being updated as part of a new DXLog.net release), the AppData file is overwritten.
+
For this, there is a copy of the folder in Windows' unprotected AppData folder structure.<br>
In the opposite case (e.g. due to own modifications of a contest config file), the AppData file remains unchanged.<br>
+
Since this is a hidden folder, a drop down menu item is provided for easy access. (File | Open configuration directory)<br>
This means that any modifications of existing contest config files should be done in the AppData folder, but that such modifications may be overwritten if a newer version is distributed in a later DXLog.net release.<br>
+
 
To secure that a contest config file is not overwritten by future DXLog.net releases, create a file with a new name.<br>
+
Each time DXLog is started, the content of the installation sub-folder and the AppData sub-folder is compared.<br>
The same mechanic, with a master folder and an AppData copy, applies to data base (i.e. pre-fill or call history) files.<br>
+
If a contest config file in the installation sub-folder is newer than its copy in the AppData sub-folder <br>
If you have developed a contest config file that is proven to be correct and that could be useful others, Please contact the development team to discuss adding it to DXLog.net's standard contest repertoire.
+
(e.g. due to it being updated as part of a new DXLog release), the AppData file is overwritten.<br>
 +
 
 +
In the opposite case (e.g. due to own modifications of a contest config file), the AppData file remains unchanged.<br>
 +
This means that any modifications of existing contest config files should be done in the AppData folder, but that<br>
 +
such modifications may be overwritten if a newer version is distributed in a later DXLog release.<br>
 +
To secure that a contest config file is not overwritten by future DXLog releases, create a file with a new name.<br>
 +
The same mechanic, with a master folder and an AppData copy, applies to data base (i.e. pre-fill or call history) files.<br>
 +
 
 +
If you have developed a contest config file that is proven to be correct and that could be useful others, Please contact<br>
 +
the development team to discuss adding it to DXLog's standard contest repertoire.
 +
 
 +
 
 +
[[image:Configurationpaneltagged3.png|800px]]<br>
 +
Relation between configuration keys and macros and their related text boxes and drop down menus in the contest configuration panel.
 +
<br>
  
 
==File structure==
 
==File structure==
  
Each line in a contest definition file usually contains '''KEY + VALUE''' pairs.
+
Each line in a contest definition file usually contains '''KEY + VALUE''' pairs.
The pair is always separated by the "=" sign. For example:<br>
+
The pair is always separated by the "=" sign. For example:
CONTESTNAME=9A CW<br>
+
 
This means the field KEY is '''CONTESTNAME''', and '''9A CW''' is the field value.
+
<code>CONTESTNAME=9A CW</code>
 +
 
 +
This means the ''field key'' is '''CONTESTNAME''' and the ''field value'' is '''9A CW'''.
 +
 
 +
==Regular expressions==
 +
 
 +
You will see that in many cases DXLog is using regular expressions to verify condition validation and process entries.
 +
 
 +
If you are not familiar with regular expressions (regex for short) there are many online resources available.<br>
 +
One tutorial can be found [https://www.regular-expressions.info/tutorial.html here].
 +
 
 +
For example, regular expressions are used to check if the user keyboard entry is valid against a condition or<br>
 +
set of conditions, for QSO points calculations etc.
 +
 
 +
Regular expressions in the contest configuration file can be defined as fixed values, but they can<br>
 +
also compare QSO data against fixed values.
 +
 
 +
<b>Example:</b> We want to validate the user entered data in some of the fields. For example, we want<br>
 +
to validate that the user is allowed to enter NY, FL, GA, or MA in the EXCHANGE field on the contest<br>
 +
configuration screen.
 +
 
 +
The contest configuration key for this operation is: <code>CFG_MULT_RGX_CHECK</code>.<br>
 +
 
 +
So to create a validation, as per the previous example, we need the following definition<br>
 +
in the contest config file:
 +
 
 +
: <code>CFG_MULT_RGX_CHECK=^NY$|^FL$|^GA$|^MA$</code>
 +
 
 +
: <code>^</code> denotes start of the string<br><code>$</code> denotes end of the string<br><code>|</code> separates alternative matching patterns, forming a logical or
 +
 
 +
Another example is to validate that the Exchange field is a two digit number or a six position grid:
 +
 
 +
: <code>CFG_MULT_RGX_CHECK=^([0-9]{2}|[A-R]{2}[0-9]{2}[A-X]{2})$</code>
 +
 
 +
: <code>()</code> surrounds alternative matching patterns<br><code>{}</code> forms a repetition of the preceding matching pattern
 +
 
 +
QSO data is addressed using a origin key (CONFIG, SOURCE, or DEST) and a content key (CALLSIGN, EXCHANGE, DXCC, etc.).<br>
 +
They are combined using "->". Examples of QSO data keys are CONFIG->POWER, SOURCE->DXCC, and DEST->RCVD.  
  
==Regular expressions (regex)==
+
Not all possible combinations of origin keys and content keys are valid. Please see below for valid combinations.
  
You will see that in many cases DXLog.net is using regular expressions (regex) to verify condition validation and possibly
+
{|class="wikitable"
to process an entry in a special way.<br>
+
|+style="text-align:Left;"|Available origin keys
For example, regex is used to check if the user keyboard entry is valid against a condition or set of conditions, for QSO
+
|-
points calculations etc.<br> 
+
| '''CONFIG'''
Regex expressions in the config file can be defined as fixed values, but regex can also compare QSO data against fixed values.<br> 
+
| Information originating from contest configuration panel. If empty, derived from callsign.
Case one: We want to validate the user entered data in some of the fields.
+
|-
For example, we want to validate that the user is allowed to enter NY, FL, GA, or DX in the EXCHANGE field
+
| '''SOURCE'''
on the contest configuration screen. The regex key field for this operation is: <tt><b>CFG_MULT_RGX_CHECK</b></tt>.
+
| Information relating to own station. Always derived from station callsign.  
So to create a validation, as per the previous example, we need the following definition in the contest config file:<br>
+
|-
CFG_MULT_RGX_CHECK=^NY$|^FL$|^GA$|^DX$<br>
+
| '''DEST'''  
"^" in regex denotes start of the string value
+
| Information relating to other station.  
"$" in regex denotes end of string value
+
|}
"|" in regex is logical or operation<br>
 
Case two: We want to validate a value which could change on each entry into the log.<br>
 
For example, we want to calculate points for each QSO with the same country, on the 160m band, in the CW and SSB mode, with 1 point.
 
The regex key field for qso points calculation is <tt><b>POINTS_FIELD_BAND_MODE</b></tt>.
 
So to create the calculation, as per the previous example, we need the following definition in the contest config file<br>
 
POINTS_FIELD_BAND_MODE=SOURCE->DXCC:DEST->DXCC;ALL;^160$;^CW$|^SSB$;1<br>
 
We can read this definition in the following way:
 
If the SOURCE (our) DXCC is the same as DEST (correspondent) DXCC and the band is 160 and the mode is CW or SSB then the qso is worth 1 point.
 
In the above definition notice the '''SOURCE''' and '''DEST''' keys. We can also use the '''CONFIG''' key.
 
  
 
{|class="wikitable"
 
{|class="wikitable"
|+style="text-align:Left;"|Keys Reference:
+
|+style="text-align:Left;"|Available content key combinations
 +
|-
 +
| '''CONFIG''' or '''SOURCE''' or '''DEST'''
 +
| '''->'''
 +
| '''CALL''' or '''CALLSIGN'''
 +
| Callsign.
 +
|-
 +
| '''CONFIG'''
 +
| '''->'''
 +
| '''CLASS'''
 +
| The contest's active power class as selected in the contest configuration panel in upper case.
 +
|-
 +
| '''SOURCE''' or '''DEST'''
 +
| '''->'''
 +
| '''CONT'''
 +
| Continent. Two letter acronym.
 +
|-
 +
| '''CONFIG'''
 +
| '''->'''
 +
| '''CQZONE'''
 +
| CQ/WAZ Zone as entered in the contest configuration panel.
 +
|-
 +
| '''SOURCE''' or '''DEST'''
 +
| '''->'''
 +
| '''CQZONE'''
 +
| CQ/WAZ Zone derived from the callsign.
 +
|-
 +
| '''CONFIG'''
 +
| '''->'''
 +
| '''DXCC'''
 +
| DXCC prefix as entered in the contest configuration panel.
 +
|-
 +
| '''SOURCE''' or '''DEST'''
 +
| '''->'''
 +
| '''DXCC'''
 +
| Official DXCC prefix derived from the callsign where international airspace/waters is "-".
 +
|-
 +
| '''CONFIG'''
 +
| '''->'''
 +
| '''EXCHANGE'''
 +
| The content of the contest exchange field in the contest configuration panel.
 
|-
 
|-
|'''SOURCE->CONT'''
+
| '''CONFIG'''
|our own continent
+
| '''->'''
 +
| '''GRID'''
 +
| The content of the grid field in the contest configuration panel.
 
|-
 
|-
|'''SOURCE->DXCC'''
+
| '''CONFIG'''
|our own DXCC
+
| '''->'''
 +
| '''ITUZONE'''
 +
| ITU zone as entered in the contest configuration panel.
 
|-
 
|-
|'''SOURCE->CALL'''
+
| '''SOURCE''' or '''DEST'''
|our own CALLSIGN
+
| '''->'''
 +
| '''ITUZONE'''
 +
| ITU zone derived from the callsign.
 
|-
 
|-
|'''SOURCE->PFX'''
+
| '''CONFIG'''
|our own prefix
+
| '''->'''
 +
| '''MODE'''
 +
| The chosen contest mode in upper case.
 
|-
 
|-
|'''SOURCE->WPX'''  
+
| '''DEST'''
|our own prefix
+
| '''->'''
 +
| '''MODE'''
 +
| The current QSO mode.
 
|-
 
|-
|'''DEST->CONT'''
+
| '''CONFIG'''
|correspondent continent
+
| '''->'''
 +
| '''OPNAME'''
 +
| The content of the operator name field in the contest configuration panel.
 
|-
 
|-
|'''DEST->DXCC'''
+
| '''CONFIG'''
|correspondent DXCC
+
| '''->'''
 +
| '''OVERLAY'''
 +
| The overlay menu selection text in upper case. (Note that this is not the Cabrillo overlay)
 
|-
 
|-
|'''DEST->CALL'''
+
| '''CONFIG''' or '''SOURCE''' or '''DEST'''
|correspondent CALLSIGN
+
| '''->'''
 +
| '''PFX''' or '''WPX'''
 +
| Callsign prefix per WPX rules.
 
|-
 
|-
|'''DEST->RCVD'''
+
| '''SOURCE''' or '''DEST'''
|value entered in the received field of qso line
+
| '''->'''
 +
| '''PFX_AREA'''
 +
| The callsign prefix formatted as main DXCC prefix plus "." and the prefix digit. E.g. "SM.0" or "EA.7".<br>Note that DXCC prefixes containing a number keeps this, e.g., OH0DX is prefix area "OH0.0".
 
|-
 
|-
|'''DEST->RECINFO'''
+
| '''CONFIG'''
|value entered in the recinfo field of qso line
+
| '''->'''
 +
| '''POWER'''
 +
| The content of the power field in the contest configuration panel.
 
|-
 
|-
|'''DEST->RECINFO2'''
+
| '''DEST'''
|value entered in the recinfo2 field of qso line
+
| '''->'''
 +
| '''RCVD'''
 +
| First element in the received contest exchange.
 
|-
 
|-
|'''DEST->RECINFO3'''
+
| '''DEST'''
|value entered in the recinfo3 field of qso line
+
| '''->'''
 +
| '''RECINFO'''
 +
| Second element in the received contest exchange.
 
|-
 
|-
|'''CONFIG->EXCHANGE'''
+
| '''DEST'''
|value from the exchange field entered in the contest configuration screen
+
| '''->'''
 +
| '''RECINFO2'''
 +
| Third element in the received contest exchange.
 
|-
 
|-
|'''CONFIG->CQZONE'''
+
| '''DEST'''
|value from the WAZ field entered in the contest configuration screen
+
| '''->'''
 +
| '''RECINFO3'''
 +
| Fourth element in the received contest exchange.
 
|-
 
|-
|'''CONFIG->ITUZONE'''
+
| '''CONFIG'''
|value from the ITU field entered in the contest configuration screen
+
| '''->'''
 +
| '''STATE'''
 +
| The content of the State/Province/Other field in the contest configuration panel.
 
|-
 
|-
|'''CONFIG->OPNAME'''
+
| '''CONFIG'''
|value from the OPNAME field entered in the contest configuration screen
+
| '''->'''
 +
| '''STATION'''
 +
| The station category text in upper case. (Not the Cabrillo station category)
 
|-
 
|-
|'''CONFIG->POWER'''
+
| '''DEST'''
|value from the POWERfield entered in the contest configuration screen
+
| '''->'''
 +
| '''TIME_HOUR'''
 +
| The hour of the QSO time as a string with values from "0" to "23".
 
|}
 
|}
  
==General contest description==
+
===Formatting suffix===
 +
 
 +
An origin/content key combination can have a formatting suffix, similar to that for <tt>CABRILLO_LINE</tt>.<br>
 +
For instance,
 +
 
 +
<code>DEST->RCVD{F=R,2,0}:SOURCE->ITUZONE</code>
 +
 
 +
will zero pad the received exchange to a length of two before comparing. ITUZONE and CQZONE are always two digits.
 +
 
 +
===Extension suffix===
 +
 
 +
An origin/content key combination can have an extension suffix, which can also be a regular expression.<br>
 +
For instance
 +
 
 +
<code>DEST->RCVD:DEST->CONT+[MQY]</code>
 +
 
 +
will evaluate true when the received exchange is identical to your own continent abbreviation followed by either M, Q, or Y.
 +
 
 +
===Examples===
 +
 
 +
<b>1.</b> We want to validate a value which could change on each entry into the log.
 +
 
 +
For example, we want to calculate points for each QSO with the same country, on the 160m band, in the CW and SSB mode, with 1 point.
 +
 
 +
The relevant contest configuration key for QSO points calculation is <code>POINTS_FIELD_BAND_MODE</code>.<br>
 +
To create the calculation, as per the previous example, we need the following definition in the contest config file:
 +
 
 +
<code>POINTS_FIELD_BAND_MODE=SOURCE->DXCC:DEST->DXCC;ALL;^160$;^(CW|SSB)$;1</code>
 +
 
 +
We can read this definition in the following way:<br>
 +
If the <code>SOURCE</code> (our) DXCC is the same as <code>DEST</code> (other station's) DXCC and the<br>
 +
band is 160 and the mode is CW or SSB then the QSO is worth 1 point. In the above definition notice<br>
 +
the <code>SOURCE</code> and <code>DEST</code> keys. We can also use the <code>CONFIG</code> key.
 +
 
 +
<b>2.</b> We want to display a per-mode QSO breakdown for mixed mode contest entry
 +
 
 +
<code>SCORE=BY_BAND_MODE</code>
 +
<code>SCORE_DISPLAY=BAND;QSO;*RGX:CONFIG->MODE:MIX>>QSO(CW){CW};*RGX:CONFIG->MODE:MIX>>QSO(SSB){SSB};MULT1(CTY);DUP;POINTS</code>
 +
 
 +
'''Important:''' The first "QSO" key can not be made conditional due to internal limitations.
 +
 
 +
==Functions and FX expressions==
 +
 
 +
Some keys allow not only keywords but also functions as arguments.
 +
 
 +
Functions follow C# syntax and have access to all string, number, and boolean manipulation functions in the language plus a number of helper functions.
 +
 
 +
The keywords available for regular expressions (see above) area also available in functions.
 +
 
 +
Some keywords assume an expression that returns a string, like MULT1_FX and FIELD_RCVD_CHECK_FORMAT_FX.
 +
 
 +
Examples:<br>
 +
<tt><nowiki>MULT1_FX=$FIELDVALUE.Substring(0,4)</nowiki></tt><br>
 +
<tt><nowiki>MULT1_FX=$FIELDVALUE.Substring(0,$FIELDVALUE.IndexOf('/'))</nowiki></tt>
 +
 
 +
The first example picks the first four characters in the string as multiplier.<br>
 +
The second example picks the string following the first slash ("/") character as multiplier.<br>
 +
Two variables are available: $FIELDVALUE which is the multiplier itself, and $CALLSIGN which is the other station's call.
 +
 
 +
The available helper string functions are:
 +
 
 +
<tt><nowiki>Helpers.GetBrazilUF($FIELDVALUE,$CALLSIGN)</nowiki></tt> - Returns the two letter Brazilian region. Uses the exchange if valid, <br>otherwise derives it from the callsign. <br>
 +
 
 +
<tt><nowiki>Helpers.GetLastLetter($FIELDVALUE)</nowiki></tt> - Returns the last character of a callsign, including slashed number suffixes<br>
 +
 
 +
<tt><nowiki>Helpers.GetLastLetterPure($FIELDVALUE)</nowiki></tt> - Returns the last character of a callsign with a slashed prefix and suffixes removed<br>
 +
 
 +
<tt><nowiki>Helpers.GetOblast($FIELDVALUE)</nowiki></tt> - Returns the Russian region based on field which should be callsign.
 +
 
 +
<tt><nowiki>Helpers.GetOblastSPLO($FIELDVALUE,$CALLSIGN)</nowiki></tt> - Returns the Russian region based on field which should be RCVD.<br>
 +
Uses the RDA exchange for SP/LO stations to determine oblast and the callsign for all others. Used in UA1DZ Memorial contest.
 +
 
 +
<tt><nowiki>Helpers.GetPureCall($FIELDVALUE)</nowiki></tt> - Returns the field (callsign) without prefix, slashes, etc.<br>
 +
 
 +
<tt><nowiki>Helpers.GetPrefixArea($FIELDVALUE, $CALLSIGN)</nowiki></tt> - Returns the prefix area as NN.0<br>
 +
 
 +
<tt><nowiki>Helpers.GetPrefixAreaVEGeo($FIELDVALUE, $CALLSIGN)</nowiki></tt> - Returns the prefix area as NN.0 but treats<br>
 +
Canadian geographical prefixes (VY2, etc.) as own call areas.
 +
 
 +
<tt><nowiki>Helpers.GetSARLArea($FIELDVALUE)</nowiki></tt> - Returns the SARL contest call area based on field which should be callsign.
 +
 
 +
<tt><nowiki>Helpers.GetSuffix($FIELDVALUE)</nowiki></tt> - Returns the callsign suffix (characters after last number) based on field which should be callsign.
 +
 
 +
Some keywords assume an expression that returns a list of strings, like WINDOWS_CML_LIST_FX.<br>
 +
 
 +
The available helper list functions are:
 +
 
 +
<tt><nowiki>GetList_PrefixArea(dxccList,regex)</nowiki></tt> - Creates a multiplier list with all call areas prefixes<br>
 +
Example: <tt><nowiki>GetList_PrefixArea(dxccList,"^LA$")</nowiki></tt> - Creates a multiplier list with all Norwegian call areas.
 +
 
 +
<tt><nowiki>GetList_PrefixAreaVEGeo(dxccList,regex)</nowiki></tt> - Creates a multiplier list including Canadian (VY1, etc.) call areas<br>
 +
Example: <tt><nowiki>GetList_PrefixAreaVEGeo(dxccList,"^(VE|K)$)</nowiki></tt> - Creates a multiplier list with all US and Canadian prefixes.
 +
 
 +
<tt><nowiki>GetList_CustomRange(format,start,end)</nowiki></tt> - Creates a list of numbered multipliers<br>
 +
Example: <tt><nowiki>GetList_CustomRange("00",1,6)</nowiki></tt> - Creates the list 00, 01, 02, 03, 04, 05, and 06
 +
 
 +
<tt><nowiki>GetList_CustomArray(string,separator)</nowiki></tt> - Creates a custom list<br>
 +
Example: <tt><nowiki>GetList_CustomArray("AB|AC|AD|AK|AM","|")</nowiki></tt> - Creates the list AB, AC, AD, AK, and AM
 +
 
 +
<tt><nowiki>GetList_BrazilUF()</nowiki></tt> - Creates a list containing the 27 Brazilian regions
 +
 
 +
<tt><nowiki>GetList_Oblast()</nowiki></tt> - Creates a list containing the 85 Russian regions
 +
 
 +
<tt><nowiki>GetList_SARLArea()</nowiki></tt> - Creates a list containing the 13 SARL contest call areas
 +
 
 +
<tt><nowiki>GetList_GridArray(center,height,width))</nowiki></tt> - Creates a list of four letter grids around center<br>
 +
Example: <tt><nowiki>GetList_GridArray(ownGrid,11,11)</nowiki></tt> - Creates a list of 121 grids centered around own location<br>
 +
Example: <tt><nowiki>GetList_GridArray("JP81",9,9)</nowiki></tt> - Creates a list of 81 grids centered around JP81
 +
 
 +
Some keywords assume an expression returning a number, such as SCORE_TOTAL_FX and POINTS_CALC_F.
 +
 
 +
<tt>SCORE_TOTAL_FX</tt> is the formula for the score for an individual QSO. There variables available are<br>
 +
<tt>$FIELDVALUE.Points</tt>, <tt>$FIELDVALUE.Mult1</tt>, <tt>$FIELDVALUE.Mult2</tt>, and <tt>$FIELDVALUE.Mult3</tt>.<br>
 +
The arithmetic syntax is FLEE. (See below).
 +
 
 +
Example: <tt>SCORE_TOTAL_FX=$FIELDVALUE.Points+$FIELDVALUE.Mult1*2+$FIELDVALUE.Mult2*5</tt><br>
 +
Example: <tt>SCORE_TOTAL_FX=$FIELDVALUE.Points*($FIELDVALUE.Mult1+If($FIELDVALUE.Mult2>10,10,$FIELDVALUE.Mult2))</tt>
 +
 
 +
<tt>POINTS_CALC_F</tt> is the formula for the points for certain QSO conditions.<br>
 +
The syntax for its second element, the points calculation, is also FLEE.
 +
 
 +
Other keys assume a boolean expression which can be either a regular expression (as described above) or<br>
 +
an FX() expression. Examples are FIELD_RCVD_FX_CHECK and the first argument of MULT1_EXCEPTION.
 +
 
 +
Examples:<br>
 +
<tt><nowiki>MULT1_EXCEPTION=FX(Helpers.GetLastLetter("CONFIG->CALLSIGN").Equals(Helpers.GetLastLetter("DEST->CALL")));NONE</nowiki></tt><br>
 +
<tt><nowiki>MULT1_EXCEPTION=FX(("CONFIG->CALLSIGN").Substring(0,3).Equals(("DEST->CALL").Substring(0,3)));NONE</nowiki></tt><br>
 +
<tt><nowiki>MULT1_EXCEPTION=DEST->RCVD:^[KNS]DE;FX(("DEST->RCVD").Substring(1,2))</nowiki></tt><br>
 +
 
 +
The first example does not count the QSO as a multiplier if the last letter is the same in the station's<br>
 +
callsign and own callsign. The second example does not count the QSO as a multiplier if the first three characters<br>
 +
is the same in the station's callsign and own callsign. The third example counts the first two characters of the<br>
 +
exchange as multiplier if it starts with KDE, NDE or SDE.
 +
 
 +
The available boolean helper functions are:
 +
 
 +
<tt><nowiki>Helpers.Between(number, min, max)</nowiki></tt> - Returns true if number is between min and max.
 +
 
 +
===Available syntax for arithmetic expressions===
 +
 
 +
[[image:fleesyntax.png|500px]]
 +
 
 +
==Custom multiplier lists==
 +
 
 +
A custom multiplier list can only be used for multiplier type CUSTOM.<br>
 +
FX type multipliers can not use a listed set of multipliers but rely on a<br>
 +
helper function to create its multiplier list, such as <tt>GetList_CustomRange()</tt>.
 +
 
 +
===Plain list of custom multipliers===
 +
 
 +
A list of custom multipliers is started by <tt>[MULTIPLIERS START]</tt> and ends with <tt>[MULTIPLIERS END]</tt>.<br>
 +
The syntax for a multiplier having more than one name is shown below. In this example both NK and NR<br>
 +
will count as the same multiplier; Norwich.
 +
 
 +
Example:
 +
<tt>
 +
: [MULTIPLIERS START]
 +
: ...
 +
: NL=London N1-22
 +
: NN=Northampton
 +
: NP=Newport
 +
: NK{NR}=Norwich
 +
: NW=London NW1-11
 +
: OL=Oldham
 +
: OX=Oxford
 +
: ...
 +
: [MULTIPLIERS END]
 +
</tt>
 +
 
 +
===Conditional lists of custom multipliers===
 +
 
 +
For contests such as US state QSO parties there are two types of participants with different sets of custom multipliers.<br>
 +
To support this, a multiplier list can be conditional just like default messages. The regular expression can be of any type<br>
 +
and check EXCHANGE, DXCC, CONT or whatever is suitable.
 +
 
 +
Syntax:
 +
<tt>
 +
: [MULTIPLIERS START]
 +
: [VALID FOR=Regex1]
 +
: M1=First multiplier 1
 +
: M2=First multiplier 2
 +
: ...
 +
: [END VALID FOR]
 +
: [VALID FOR=Regex2]
 +
: L1=Second multiplier 1
 +
: L2=Second multiplier 2
 +
: ...
 +
: [END VALID FOR]
 +
: [MULTIPLIERS END]
 +
</tt>
 +
 
 +
Example:
 +
<tt>
 +
: [MULTIPLIERS START]
 +
: [VALID FOR=CONFIG->EXCHANGE:^ADA$|^ALL$|^ARM$|^BEA$|^BED$|^BER$|^BLA$|^BRA$|^BUX$]
 +
: AK=Alaska
 +
: AL=Alabama
 +
: AR=Arkansas
 +
: AZ=Arizona
 +
: CO=Colorado
 +
: ...
 +
: [END VALID FOR]
 +
: ...
 +
: [MULTIPLIERS END]
 +
</tt>
 +
 
 +
===Grouped list of custom multipliers===
 +
 
 +
Multipliers can be grouped for better display in the custom worked multipliers window enabled<br>
 +
with the <tt>WINDOWS_CML_ENABLED</tt> key. The string following <tt>Group-></tt> is the displayed<br>
 +
name of the group. The name has no impact on scoring. The syntax for alternative names for the same<br>
 +
multiplier is different from the straight list. Alternative names for the same multiplier are<br>
 +
instead separated with a slash. In the example below, QU, QC, and QUE will all count as the same<br>
 +
multiplier; Quebec.
 +
 
 +
Example:
 +
<tt>
 +
: [MULTIPLIERS START]
 +
: Group->K1_: CT,MA,ME,NH,RI,VT
 +
: Group->K2_: NJ,NY
 +
: Group->K3_: DE,PA,MD/DC
 +
:...
 +
: Group->VE1: NS
 +
: Group->VE2: QC/QU/QUE
 +
: Group->VE3: ON/ONT
 +
: Group->VE4: MB/MAN
 +
: ...
 +
: [MULTIPLIERS END]
 +
</tt>
 +
 
 +
Tip: In group names, the underscore character will be displayed as space. This is a simple way to<br>
 +
create an even column width when groups have different length.
 +
 
 +
==General contest description keys==
 
{|class="wikitable"
 
{|class="wikitable"
 
|+style="text-align:Left;"|These keys are used for general contest description in the contest config file, such as the contest name, link to the rules etc.
 
|+style="text-align:Left;"|These keys are used for general contest description in the contest config file, such as the contest name, link to the rules etc.
 
|'''CONTESTGROUP'''
 
|'''CONTESTGROUP'''
 
|  Used for group contest when displaying the config screen for contest selection.
 
|  Used for group contest when displaying the config screen for contest selection.
| For example: Digital, 9A Local Contest etc.
+
| For example: DIGITAL MODES, 9A LOCAL CONTEST, etc.
 
|-
 
|-
 
|'''CONTESTNAME'''
 
|'''CONTESTNAME'''
|  The contest name as it will be shown and recognized in the contest selection box.  
+
|  The contest name as it will be shown and recognized in the contest selection box.<br>Note: this can be same as the Cabrillo contest name, but usually it is the full contest name.  
Note: this can be same as the cabrillo contest name, but usually it is the full contest name.  
 
 
|  This field is mandatory and must be unique for all files in contest definition folder.
 
|  This field is mandatory and must be unique for all files in contest definition folder.
 +
|-
 +
|'''CONTESTEXCH'''
 +
| Web link to definition of contest exchange. Shown when entering invalid data in configuration panel's exchange field.
 +
| e.g. https://www.iota-world.org/
 
|-
 
|-
 
|'''CONTESTRULES'''
 
|'''CONTESTRULES'''
|  External HTTP Link to contest rules.
+
|  External HTTP Link to contest rules. Adds "Contest rules" item to Help menu.
eg. https://www.cqww.com/rules.htm
+
e.g. https://www.cqww.com/rules.htm
 
|-
 
|-
 
|'''CONTESTWEB'''
 
|'''CONTESTWEB'''
|  External HTTP Link to contest rules.
+
|  External HTTP Link to contest rules. Adds "Contest web" item to Help menu.
eg. https://www.cqww.com
+
e.g. https://www.cqww.com
 
|}
 
|}
  
==Contest Configuration Window Control==
+
==Contest configuration panel control keys==
  
 
{|class="wikitable"
 
{|class="wikitable"
 
|+style="text-align:Left;"|These keys are used for setting the contest configuration variables in the user configuration window.
 
|+style="text-align:Left;"|These keys are used for setting the contest configuration variables in the user configuration window.
 
|'''CATEGORIES'''
 
|'''CATEGORIES'''
|   List of available categories separated by ";" to build category selection list at contest configuration screen.
+
| Semicolon-separated list of contest categories shown in the category selection<br>dropdown menu in the contest configuration panel.<br>'''Important: When defining own categories, the values of CABRILLO_OPERATOR,<br>CABRILLO_TRANSMITTER, and CABRILLO_ASSISTED may have to be changed from<br>their defaults. Also contests with only EDI export needs correct Cabrillo export keys.<br>C.f the Cabrillo section below.'''
|   Default value: Single operator;Single operator assisted;Multioperator, single transmitter;Multioperator, two transmitter; Multi operator, multi-transmitter
+
| Default value:<br>Single operator, assisted;Single operator;Multi-operator, single transmitter;<br>Multi-operator, two transmitters;Multi-operator, multi-transmitter;Checklog
 
|-
 
|-
 
|'''CATEGORY_MODES'''
 
|'''CATEGORY_MODES'''
|   List of available modes separated by ";" to build mode selection list at contest configuration screen.
+
| Semicolon-separated list of contest modes shown in the mode selection<br>dropdown menu in the contest configuration panel.<br>'''Important:''' There is no contest mode key for CATEGORY-MODE.<br>Phone, SSB, and AM are SSB. CW is CW. RTTY is RTTY. Mixed is MIXED.<br>Digital, PSK31, JT65, FT8, and other digital modes are DIGI.
|   Default value: CW;SSB;MIXED
+
| Default value: CW;SSB;Mixed
 
|-
 
|-
 
|'''CLASS'''
 
|'''CLASS'''
|   List of available classes separated by ";" to build class selection list at contest configuration screen.
+
| Semicolon-separated list of contest power classes shown in the class selection<br>dropdown menu in the contest configuration panel.
|   Default value: High;Low;QRP
+
| Default value: High;Low;QRP
 
|-
 
|-
|'''OVERLAY'''
+
|'''CFG_EMAIL_MANDATORY'''
|   List of available category overlays separated by ";" to build overlay selection list at contest configuration screen.
+
| Controls if the Email field in the contest configuration panel requires an entry or can be empty.<br>Valid values are: YES and NO
|   Default value: Band restricted; Radio Club; Dxpedition; Headquarters; Open; Restricted; Novice; Classic; Rookie; Tribander/Single element; QRP; Fixed station; Portable station
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_MULT'''
 
|'''CFG_MULT'''
|   Controls exchange field at contest configuration screen. Acceptable values are: YES/NO.
+
| Controls the use of the exchange field in contest configuration panel. Valid values are: ON and OFF.<br>If OFF, the exchange field is greyed out.
If set to YES, exchange field will be enabled for entering data. Usually in exchange field user enters own multiplier,  zone or some other info.  Default value: NO
+
| Default value: OFF
 
|-  
 
|-  
 
|'''CFG_MULT_DX_ALLOWED'''
 
|'''CFG_MULT_DX_ALLOWED'''
|   Is "DX" acceptable entry in exchange field at contest configuration screen. For example in ARRL DX Contest, all USA/VE stations needs to enter their state/province, while all other stations enters DX here.
+
| Controls if "DX" is an acceptable entry in exchange field. For example in ARRL DX Contest,<br>all USA/VE stations needs to enter their state/province, while all other stations enters DX here.<br>Valid values are: YES and NO
|   Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 +
|-
 +
|'''CFG_MULT_SLASH_ALLOWED'''
 +
| Allows the use of "/" in the Exchange field as separator for contests where<br>the exchange can be one or more elements of the same type, such as county-line<br>stations in some US QSO parties where a station can belong to more than one<br>counties and thereby represent more than one multiplier in one QSO.<br>'''Important:''' CFG_MULT_SLASH_IGNORED and CFG_MULT_SLASH_ALLOWED must never both be YES.<br>Valid values are: YES and NO
 +
| Default value: NO
 +
|-
 +
|'''CFG_MULT_SLASH_IGNORED'''
 +
| Allows the use of "/" in the Exchange field as part of the exchange itself rather than as a separator<br>'''Important:''' CFG_MULT_SLASH_IGNORED and CFG_MULT_SLASH_ALLOWED must never both be YES.<br>Valid values are: YES and NO
 +
| Default value: NO
 
|-
 
|-
 
|'''CFG_MULT_MANDATORY'''
 
|'''CFG_MULT_MANDATORY'''
| Is exchange field mandatory (needs to be filled) or can be blank.
+
| Controls if the exchange field requires an entry or can be empty. Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_MULT_ERRORTEXT'''
 
|'''CFG_MULT_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in exchange field at contest configuration screen.
+
| Defines error text which is shown if the validity test for the exchange field fails.<br>For example, in ARRL DX Contest, if the user enters a state abbreviation which is not in the approved list.
For example, in ARRL DX Contest, user enters state abbreviation which isn't on predefined list.
+
| Default value: "Invalid value in exchange field!"
 
|-
 
|-
 
|'''CFG_MULT_FROM'''
 
|'''CFG_MULT_FROM'''
| Defines where we can check if user entry in exchange field is valid. Can have value like CUSTOM_MULT_LIST or ITUZONE.
+
| Alternative to using a regular expression to check validity of entry in Exhange field.<br>Valid values are CUSTOM_MULT_LIST and ITUZONE.
| Can be blank if we are using regex expression to check the value or we can accept any entry.
+
| Default value: Unused
 
|-
 
|-
 
|'''CFG_MULT_RGX_CHECK'''
 
|'''CFG_MULT_RGX_CHECK'''
| Regex expression which will be used to verify if data entered in exchange field at contest configuration screen is valid.
+
| Regular expression used to test validity of entry in Exchange field. <br>Note that the regular expression can include the key CUSTOM_MULT_LIST<br>meaning that any entry listed in the custom multiplier list is considered valid.<br>Example: <tt><nowiki>CFG_MULT_RGX_CHECK=^AF$|^AS$|^EU$|^NA$|^OC$|^SA$|CUSTOM_MULT_LIST</nowiki></tt>
|  Please note that regex expression can contains special tag CUSTOM_MULT_LIST too. This means that any entry specified in custom multiplier list will be valid entry.
+
| Default value: ALL
 
|-
 
|-
 
|'''CFG_CQZONE_ERRORTEXT'''
 
|'''CFG_CQZONE_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in WAZ field at contest configuration screen.
+
| Defines the error text shown if the entry in the WAZ field fails the validity test.
|
+
| Default value: "Invalid CQ/WAZ zone!"
 
|-
 
|-
 
|'''CFG_CQZONE_MANDATORY'''
 
|'''CFG_CQZONE_MANDATORY'''
| Is WAZ field mandatory (needs to be filled) or can be blank.
+
| Controls if the WAZ field requires an entry or can be empty. Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_GRID_ERRORTEXT'''
 
|'''CFG_GRID_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in GRIDSQUARE field at contest configuration screen.
+
| Defines the error text shown if the entry in the GRIDSQUARE field fails the validity test.  
|
+
| Default value: "Invalid entry in gridsquare field!"
 
|-
 
|-
 
|'''CFG_GRID_MANDATORY'''
 
|'''CFG_GRID_MANDATORY'''
| Is GRIDSQUARE field mandatory (needs to be filled) or can be blank.
+
| Controls if the GRIDSQUARE field requires an entry or can be blank. Valid values are: YES and NO.<br>Is automatically set to YES if contest has QRB-based scoring.
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_GRID_RGX_CHECK'''
 
|'''CFG_GRID_RGX_CHECK'''
| Regex expression which will be used to verify if data entered in GRIDSQUARE field at contest configuration screen is valid.
+
| Regular expression used to test validity of data entered in the GRIDSQUARE field.
|
+
| Default value: <tt><nowiki>^[A-R][A-R][0-9][0-9][A-X][A-X]$</nowiki></tt>
 
|-
 
|-
 
|'''CFG_ITUZONE_ERRORTEXT'''
 
|'''CFG_ITUZONE_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in ITU field at contest configuration screen.
+
| Defines error text shown if the entry in the ITU zone field fails the validity test.  
|
+
| Default value: "Invalid ITU zone!"
 
|-
 
|-
 
|'''CFG_ITUZONE_MANDATORY'''
 
|'''CFG_ITUZONE_MANDATORY'''
| Is ITU field mandatory (needs to be filled) or can be blank.
+
| Controls if the ITU requires an entry or can be empty. Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_MYDXCC_ERRORTEXT'''
 
|'''CFG_MYDXCC_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in DXCC field at contest configuration screen.
+
| Defines the error text shown if the entry in the DXCC field fails the validity test.  
|
+
| Default value: "Unrecognized DXCC from DXCC field.<br>Please enter valid country prefix in DXCC field"
 
|-
 
|-
 
|'''CFG_MYDXCC_MANDATORY'''
 
|'''CFG_MYDXCC_MANDATORY'''
| Is DXCC field mandatory (needs to be filled) or can be blank.
+
| Controls if the DXCC field requires an entry or can be empty. Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_OPNAME_ERRORTEXT'''
 
|'''CFG_OPNAME_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in OPNAME field at contest configuration screen.
+
| Defines the error text shown if the entry in the operator name field fails the validity test.  
|
+
| Default value: "Operator name field is mandatory!"
 
|-
 
|-
 
|'''CFG_OPNAME_MANDATORY'''
 
|'''CFG_OPNAME_MANDATORY'''
| Is OPNAME field mandatory (needs to be filled) or can be blank.
+
| Controls if the operator name field requires an entry or can be empty. Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_POWER_ERRORTEXT'''
 
|'''CFG_POWER_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in POWER field at contest configuration screen.
+
| Defines the error text shown if the entry in the power field fails the validity test.  
|
+
| Default value: "Invalid value in power field!"
 
|-
 
|-
 
|'''CFG_POWER_MANDATORY'''
 
|'''CFG_POWER_MANDATORY'''
| Is POWER field mandatory (needs to be filled) or can be blank.
+
| Controls if the power field requires an entry or can be empty. Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_POWER_RGX_CHECK'''
 
|'''CFG_POWER_RGX_CHECK'''
| Regex expression which will be used to verify if data entered in POWER field at contest configuration screen is valid.
+
| Regular expression used to determine the validity of the power field entry.  
|
+
| Default value: ALL
 
|-
 
|-
 
|'''CFG_STATE_ERRORTEXT'''
 
|'''CFG_STATE_ERRORTEXT'''
| Defines error text which will be shown in case that user enters wrong data in STATE/PROVINCE/OTHER field at contest configuration screen.
+
| Defines the error text shown if the entry in the state/province/other field fails the validity test.  
|
+
| Default value: "Invalid value in state/other field!"
 
|-
 
|-
|'''CFG_STATE_FROM'''
+
|'''CFG_STATE_FROM=CUSTOM_MULT_LIST'''
| Defines where we can check if user entry in STATE/PROVINCE/OTHER field is valid.  
+
| Defines a list-based validity test for the state/province/other field.<br>Alternative to to using a regular expression.
| Can have value like CUSTOM_MULT_LIST or ITUZONE. Can be blank if we are using regex expression to check the value or we can accept any entry.
+
| Default value: absent
 
|-
 
|-
 
|'''CFG_STATE_MANDATORY'''
 
|'''CFG_STATE_MANDATORY'''
| Is STATE/PROVINCE/OTHER field mandatory (needs to be filled) or can be blank.
+
| Controls if the state/province/other field requires an entry or can be empty.<br>Valid values are: YES and NO
|  Acceptable values are: YES/NO Default value: NO
+
| Default value: NO
 
|-
 
|-
 
|'''CFG_STATE_RGX_CHECK'''
 
|'''CFG_STATE_RGX_CHECK'''
| Regex expression which will be used to verify if data entered in STATE/PROVINCE/OTHER field at contest configuration screen is valid.
+
| Regular expression used to test validity of entry in state/province/other field. <br>Note that the regular expression can include the key CUSTOM_MULT_LIST<br>meaning that any entry listed in the custom multiplier list is considered valid.<br>Example: <tt><nowiki>CFG_STATE_RGX_CHECK=^YL$|^OM$|CUSTOM_MULT_LIST</nowiki></tt>
Please note that regex expression can contains special tag CUSTOM_MULT_LIST too. This means that any entry specified in custom multiplier list will be valid entry.
+
| Default value: ALL
 +
|-
 +
|'''OVERLAY'''
 +
| Semicolon-separated list of contest overlays shown in the Overlay<br>dropdown menu in the contest configuration panel.
 +
| Default value:<br> ---;Classic;Rookie;Tribander/Single element;Youth;Novice/Tech;Over 50
 +
|-
 +
|'''OVERLAY_ASSISTED'''
 +
| Single keyword or Semicolon-separated list of YES/NO controlling if<br>an overlay represents an unassisted category.<br>With a single keyword, this applies to all overlays.<br>Must have the same number of entries as OVERLAY.<br>If the selected overlay represents to a NO, incoming cluster spots are blocked.
 +
| Default value: YES
 +
|-
 +
|'''STATION'''
 +
| Semicolon-separated list of contest station categories shown in the Station<br>dropdown menu in the contest configuration panel.
 +
| Default value:<br> Fixed;Distributed;Headquarter;Mobile;Portable;<br>Rover;Rover-Limited;Rover-Unlimited;Expedition;School
 +
|}
 +
 
 +
==Cabrillo export keys==
 +
 
 +
===Contest configuration keys===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''CABRILLO_ASSISTED'''
 +
| Semicolon-separated list of mapping of categories to Cabrillo assistance types.<br>MUST have the same number of entries as the defined contest categories.<br>Valid list items are ASSISTED and NON-ASSISTED.<br>'''Important: When a NON-ASSISTED category is selected, incoming cluster spots are blocked.'''
 +
| Default value:<br>NON-ASSISTED;ASSISTED;ASSISTED;ASSISTED;ASSISTED;ASSISTED
 +
|-
 +
| '''CABRILLO_ASSISTED_DISABLED'''
 +
| No CATEGORY-ASSISTED line will be included in exported file.<br>Tip: With this set to YES, cluster spots are never blocked.
 +
| Default value: NO.
 +
|-
 +
| '''CABRILLO_BAND'''
 +
| Semicolon-separated list of band definition names for contests with band-limited categories.<br>For value AUTO the band category will be ALL unless the log only contains QSO from a single band.<br>In this case the band category will be this single band. For all other values of the key, log content<br>is ignored. If only assigned a single value, such as 10M, ALL, or AUTO, this will be valid for all categories.<br>Must be accompanied by a LIVESCORE_BANDS key when non standard values are used.<br>Band names are Cabrillo convention 160M, ...6M, 2M, 222, 432, ....  
 +
| Default value:<br>AUTO;AUTO;ALL;ALL;ALL;ALL
 +
|-
 +
'''CABRILLO_CONTEST_NAME'''
 +
| Formal contest name for Cabrillo export. If name contains <tt>{MODE}</tt> this will be replaced<br>by the selected contest mode capitalized.
 +
| No default value
 +
|-
 +
|  '''CABRILLO_DEF_RECINFO'''<br>'''CABRILLO_DEF_RECINFO2'''<br>'''CABRILLO_DEF_RECINFO3'''
 +
| Value to use in Cabrillo export if field is empty.
 +
| Default value: Empty
 +
|-
 +
| '''CABRILLO_EXPORT_TYPE'''
 +
| Controls structure of Cabrillo export. Valid values: PER_MODE and ALL.
 +
| Default value: ALL
 +
|-
 +
| '''CABRILLO_LINE'''
 +
| Use: <tt>CABRILLO_LINE=FREQ;MODE;DATE;TIME;MYCALL;SENT;NR{F=R,3,0,4}</tt><br>Data is taken from the field names and added to the Cabrillo line in the<br>order entered. FREQ represents frequency of QSO, MODE represents mode etc.<br>For more details on valid keywords and the use of conditional entries, see below.
 +
| No default value
 +
|-
 +
| '''CABRILLO_LOCATION'''
 +
| Semicolon-separated list of mapping of contest categories to Cabrillo<br>LOCATION key. If defined, MUST have the same number of entries as the defined<br>contest categories. Any string is a valid value. If left undefined, contest category<br>has no effect on LOCATION in Cabrillo export. Alternative to CABRILLO_LOCATION_FIELD.
 +
| Default value: Disabled
 +
|-
 +
| '''CABRILLO_LOCATION_FIELD'''
 +
| Defines the source of the LOCATION: key in the Cabrillo export.<br>Valid values are EXCHANGE, STATE, GRID, GRID4, GRID2,<br>ITUZONE, and CQZONE. Alternative to CABRILLO_LOCATION.
 +
| Default value: Disabled
 +
|-
 +
| '''CABRILLO_MODES'''
 +
| Semicolon-separated list of mapping of the contest's modes (as defined by the MODES key)<br>to Cabrillo modes in QSO lines. MUST have the same number of entries as the defined number<br>of modes for the contest. WWROF defined values are CW, PH, DG, RY, and FM.<br>See below for the full list of de-facto standard mode acronyms.<br>Must be accompanied by a LIVESCORE_MODES key when non standard values are used.
 +
| Default value: CW;PH
 +
|-
 +
| '''CABRILLO_OPERATOR'''
 +
| Semicolon-separated list of mapping of categories to to Cabrillo operator count.<br>MUST have the same number of entries as the defined contest categories.<br>Valid list items are SINGLE-OP, MULTI-OP, and CHECKLOG.<br>Must be accompanied by a LIVESCORE_OPERATOR key when non standard values are used.
 +
| Default value:<br>SINGLE-OP;SINGLE-OP;<br>MULTI-OP;MULTI-OP;MULTI-OP;CHECKLOG
 +
|-
 +
| '''CABRILLO_OVERLAY'''
 +
| Semicolon-separated list of mapping of category overlays to Cabrillo overlays.<br>MUST have the same number of entries as the defined overlays. Any string is a valid entry.<br>It is possible to block incoming cluster spots for one or several overlays. C.f. OVERLAY_ASSISTED.
 +
| Default value:<br>;CLASSIC;ROOKIE;TB-WIRES;YOUTH;NOVICE-TECH;OVER-50
 +
|-
 +
| '''CABRILLO_OVERLAY_DISABLED'''
 +
| No OVERLAY line will be included in exported file.
 +
| Default value: NO.
 +
|-
 +
|  '''CABRILLO_POWER'''
 +
| Semicolon-separated list of mapping of category power classes to Cabrillo power classes.<br>MUST have the same number of entries as the contest's power classes.<br>List items can be any string but WWROF defined keywords are HIGH, LOW, and QRP.<br>Must be accompanied by a LIVESCORE_POWER key when non standard values are used.
 +
| Default value: HIGH;LOW;QRP
 +
|-
 +
| '''CABRILLO_QTC_LINE'''
 +
| Definition of Cabrillo output for QTC. C.f. '''CABRILLO_LINE'''.<br>Valid keywords are: FREQ, MODE, DATE, TIME, RCVDBY, GRNUM, SENTBY,<br>QTCTIME, QTCCALL, and QTCSERIAL.
 +
| Default value: Disabled
 +
|-
 +
| '''CABRILLO_STATION'''
 +
| Semicolon-separated list of mapping of station categories to Cabrillo station categories.<br>MUST have the same number of entries as the defined station categories. Any string is a valid entry.
 +
| Default value:<br>FIXED;DISTRIBUTED;HQ;EXPLORER;MOBILE;PORTABLE;ROVER;<br>ROVER-LIMITED;ROVER-UNLIMITED;EXPEDITION;SCHOOL
 +
|-
 +
| '''CABRILLO_TIME'''
 +
| Semicolon-separated list of duration for each contest category.<br>MUST have the same number of entries as there are contest categories.<br>WWROF defined values are 6-HOURS, 8-HOURS, 12-HOURS, and 24-HOURS.
 +
| Default value: Disabled
 +
|-
 +
| '''CABRILLO_TRANSMITTER'''
 +
| Semicolon-separated list of mapping of categories to Cabrillo operator counts.<br>MUST have the same number of entries as the defined contest categories.<br>WWROF defined values are ONE, TWO, LIMITED, UNLIMITED, and SWL.<br>Must be accompanied by a LIVESCORE_TRANSMITTER key when non standard values are used.
 +
| Default value:<br>ONE;ONE;ONE;TWO;UNLIMITED;UNLIMITED
 +
|}
 +
 
 +
===CABRILLO_LINE keywords===
 +
 
 +
Important note: If you want to take full control of the columns to e.g. concatenate fields in the export,<br>
 +
this is done by adding a trailing asterisk ("*") to the keys below. This will remove the extra space<br>
 +
following a field to guarantee separation. Extra spaces required to align to certain character positions<br>
 +
can be added using the <tt>DUMMY</tt> keyword.
 +
 
 +
Surrounding the keyword with parentheses (e.g., <tt>(EXCHANGE)</tt>) means the key is optional and will not be included if empty.
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''Key'''
 +
| '''Content'''
 +
| '''Default format'''
 +
|-
 +
| <tt>CALL</tt>
 +
| Logged station's call.
 +
| <tt>{F=L,13, }</tt>
 +
|-
 +
| <tt>DATE</tt>
 +
| Date of QSO. Format YYYY-MM-DD.
 +
| <tt>{F=L,10, }</tt>
 +
|-
 +
| <tt>DUMMY</tt>
 +
| Only spaces.
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>DXCC</tt>
 +
| DXCC of logged station. Derived from CTY database.
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>EXCHANGE</tt>
 +
| Exchange as entered in the contest configuration panel.<br>Can optionally take a string function instead of formatting arguments within curly brackets.<br>E.g. <tt><nowiki>EXCHANGE{FX=$FIELDVALUE.Substring(0,4)}</nowiki></tt><br>Breaks up slashed entries.
 +
| <tt>{F=L,6, }</tt>
 +
|-
 +
| <tt>FREQ</tt>
 +
| Frequency in kilohertz.
 +
| <tt>{F=R,6, }</tt>
 +
|-
 +
| <tt>FREQMHZ</tt>
 +
| Frequency in Megahertz.
 +
| <tt>{F=R,6, }</tt>
 +
|-
 +
| <tt>GRID</tt>
 +
| Grid locator as entered in the contest configuration panel.
 +
| <tt>{F=L,6, }</tt>
 +
|-
 +
| <tt>GRID4</tt>
 +
| First four positions of the grid locator entered in the contest configuration panel.
 +
| <tt>{F=L,6, }</tt>
 +
|-
 +
| <tt>MODE</tt>
 +
| QSO mode with Cabrillo coding.
 +
| <tt>{F=L,2, }</tt>
 +
|-
 +
| <tt>MYCALL</tt>
 +
| Own call as entered in the contest configuration panel.
 +
| <tt>{F=L,13, }</tt>
 +
|-
 +
| <tt>MYCQZONE</tt>
 +
| Own CQ zone as entered in the contest configuration panel.
 +
| <tt>{F=L,2,0,6}</tt>
 +
|-
 +
| <tt>MYDXCC</tt>
 +
| Own DXCC prefix as entered in the contest configuration panel.
 +
| <tt>{F=L,6, }</tt>
 +
|-
 +
| <tt>MYITUZONE</tt>
 +
| Own ITU zone as entered in the contest configuration panel.
 +
| <tt>{F=L,2,0,6}</tt>
 +
|-
 +
| <tt>NOTHING</tt>
 +
| An empty string. Add a trailing asterisk for absolutely nothing.
 +
| <tt>{F=L,0, }</tt>
 +
|-
 +
| <tt>NR</tt>
 +
| Own serial number for the QSO.
 +
| <tt>{F=R,3,0,6}</tt>
 +
|-
 +
| <tt>OPNAME</tt>
 +
| Operator name as entered in the contest configuration panel.
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>PERIOD</tt>
 +
| Contest period.
 +
| <tt>{F=L,2, }</tt>
 +
|-
 +
| <tt>POWER</tt>
 +
| Station power string as entered in the contest configuration panel.
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>PREV_RCVD</tt>
 +
| First element in previously received exchange.
 +
| <tt>{F=L,3,0}</tt>
 +
|-
 +
| <tt>PREV_RECINFO</tt>
 +
| Second element in previously received exchange.
 +
| <tt>{F=L,3,0}</tt>
 +
|-
 +
| <tt>PREV_RECINFO2</tt>
 +
| Third element in previously received exchange.
 +
| <tt>{F=L,3,0}</tt>
 +
|-
 +
| <tt>PREV_RECINFO3</tt>
 +
| Fourth element in previously received exchange.
 +
| <tt>{F=L,3,0}</tt>
 +
|-
 +
| <tt>PTS</tt>
 +
| Points of QSO.
 +
| <tt>{F=R,3, }</tt>
 +
|-
 +
| <tt>RCVD1</tt>
 +
| Received RST.
 +
| <tt>{F=L,3, }</tt>
 +
|-
 +
| <tt>RCVD2</tt>
 +
| First element in received exchange without RST.<br>Can optionally take a string function instead of formatting arguments within curly brackets.<br>E.g., <tt><nowiki>RCVD2{FX=$FIELDVALUE.Substring(0,4)}</nowiki></tt>
 +
| <tt>{F=L,6, }</tt>
 +
|-
 +
| <tt>RECINFO</tt>
 +
| Second element of received exchange.<br>Can optionally take a string function instead of formatting arguments within curly brackets.<br>E.g., <tt><nowiki>RECINFO{FX=$FIELDVALUE.Substring(0,4)}</nowiki></tt>
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>RECINFO2</tt>
 +
| Third element of received exchange.<br>Can take optionally a string function instead of formatting arguments within curly brackets.<br>E.g., <tt><nowiki>RECINFO2{FX=$FIELDVALUE.Substring(0,4)}</nowiki></tt>
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>RECINFO3</tt>
 +
| Fourth element of received exchange.<br>Can optionally take a string function instead of formatting arguments within curly brackets.<br>E.g., <tt><nowiki>RECINFO3{FX=$FIELDVALUE.Substring(0,4)}</nowiki></tt>
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>SENT</tt>
 +
| Sent RST.
 +
| <tt>{F=L,3, }</tt>
 +
|-
 +
| <tt>SLASH</tt>
 +
| The character '/'. Add trailing asterisk to remove separating space.
 +
| <tt>{F=L,1, }</tt>
 +
|-
 +
| <tt>STATE</tt>
 +
| State or province as entered in the contest configuration panel.
 +
| <tt>{F=L,5, }</tt>
 +
|-
 +
| <tt>STN</tt>
 +
| Station. "0" for all stations except radio 2 in SO2R, the multiplier station<br>in Multi/Single, and Run2 in Multi/Two which all are "1".
 +
| <tt>{F=L,2, }</tt>
 +
|-
 +
| <tt>TIME</tt>
 +
| Time of QSO. Format HHMM.
 +
| <tt>{F=L,4, }</tt>
 +
|-
 
|}
 
|}
  
==Cabrillo==
+
===CABRILLO_LINE formatting and conditionals===
 +
 
 +
<tt>CABRILLO_LINE</tt> formatting information is contained within curly brackets with the following syntax:<br>
 +
 
 +
<tt>{''F=AL'',''PS'',''PC''(,''TS'')}</tt>
 +
 
 +
: ''F='': Formatting flag
 +
: ''AL'': Alignment, can be ''L'' (for left) or ''R'' (for right)
 +
: ''PS'': Paddes size. Total size of text including character padding.
 +
: ''PC'': Character used for filling up to padded size. E.g. 0 for serial numbers.
 +
: ''TS'': Total size of field. Space padding to the right is used to reach this size. Optional.
 +
 
 +
Example: <tt>RCVD2{F=R,3,0,4}</tt><br>
 +
 
 +
Means <tt>RCVD2</tt> field value will be aligned right, to a length of 3 characters. The "0" character is<br>
 +
used to pad to the specified length. Total size will be 4 characters (padding with spaces to reach 4).<br>
 +
This means that if <tt>RCVD2</tt> field value is "1", it will be formatted as " 001" in the Cabrillo QSO line.
 +
 
 +
Regardless if total size is specified or not, each field will always be surrounded by spaces.
  
  '''CABRILLO_ASSISTED'''
+
For some keys it is possible to replace the formatting information with a string operation, using an <tt>FX=</tt><br>
  '''CABRILLO_BAND'''
+
syntax and the <tt>$FIELDVALUE</tt> keyword to represent a string containing the field's characters.
  '''CABRILLO_CONTEST_NAME'''
 
  '''CABRILLO_DEF_RECINFO'''
 
  '''CABRILLO_DEF_RECINFO2'''
 
  '''CABRILLO_DEF_RECINFO3'''
 
  '''CABRILLO_DXPEDITION'''
 
  
  '''CABRILLO_LINE'''<br>
+
<tt>CABRILLO_LINE</tt> also supports conditional formatting using a <tt>*RGX:</tt> syntax.  
  USE: CABRILLO_LINE=FREQ{F=R,6, };MODE{F=L,2, };DATE;TIME;MYCALL{F=L,13, };SENT{F=L,3, };NR{F=R,3,0,4}<br>
 
  Data is taken from the field name and entered into the Cabrillo file in the order entered,
 
  E.g. FREQ will enter Frequency of QSO, MODE will enter Mode etc<br>
 
  Formatting information is contained within the {}
 
  F= is the formatting call and should be followed by the following parameters:
 
  Alignment: L(eft), R(ight)
 
  Total size for alignment: How many characters is used for formatting, padding, alignment.
 
  Padding character: Which character will be used for filling empty spaces
 
  And last one is optional: Total size of the field in Cabrillo field.<br>
 
  E.g.: RCVD2{F=R,3,0,4}
 
  RCVD2 field value will be aligned Right, on length of 3 characters. For padding, we using "0" characters.
 
  End total size will be 4 characters (so we will add one more space if needed to have size of 4 chars).
 
  This means that if RCVD2 field value is "1", it will be formatted as " 001" and this value will be written in Cabrillo QSO line.
 
  
  '''CABRILLO_LOCATION_CHECK'''
+
Example: <tt><nowiki>*RGX:SOURCE->DXCC:^(DL|OE)$>>EXCHANGE{F=L,6, }/NR{F=R,3,0,6};</nowiki></tt><br>
  '''CABRILLO_LOCATION_DEFAULT'''
 
  '''CABRILLO_LOCATION_PROMPT'''
 
  '''CABRILLO_MODES'''
 
  '''CABRILLO_OPERATOR'''
 
  '''CABRILLO_OVERLAY'''
 
  '''CABRILLO_OVERLAY_DISABLED'''
 
  '''CABRILLO_POWER'''
 
  '''CABRILLO_QTC_LINE'''
 
  '''CABRILLO_TIME'''
 
  '''CABRILLO_TRANSMITTER'''
 
  
==Band and mode specific==
+
means the content of the Exchange box in the contest configuration panel station for German and Austrian<br>
 +
stations, otherwise a three position serial number. Both of total length 6.
  
  '''BANDS'''
+
per-own-DXCC conditional formatting is also supporting using a <tt>*NN></tt> syntax
  Contains list of available bands separated by ";" for specific contest.
 
  Default value: 160;80;40;20;15;10
 
  
  '''MODES'''
+
Example: <tt><nowiki>*DL>EXCHANGE{F=L,6, }/NR{F=R,3,0,6};</nowiki></tt><br>
  Contains list of available modes separated by ";" for specific contest.
 
  Default value: CW;SSB
 
  
  '''EDI_BANDS'''
+
means the same as the above example, but only for German stations. This conditional can<br>
  Contains list of EDI values for bands specified in BANDS key.
+
also be repeated, to cover several DXCC entities.
  Must contain same number of entries as BANDS key.
 
  This is used for generating EDI log files for VHF/UHF/SHF contests in IARU Region I.
 
  
==Entry field definitions==
+
===CABRILLO_QTC_LINE keywords===
  
 
{|class="wikitable"
 
{|class="wikitable"
|+style="text-align:Left;"|These keys are used to control the layout of QSO entry screen. The keys set the visibility, length, labels, checking procedures etc. for each of the fields which the user can enter data or display for any QSO.<br>
+
|+style="text-align:Left;"|
| '''FIELD_AZ_VISIBLE'''
+
| '''Key'''
| Controls the visibility of the Azimuth field. Mostly used on VHF/UHF/SHF to get the Azimuth angle from a gridsquare.
+
| '''Content'''
| Allowed values: YES/NO  Default value: NO<br>
+
| '''Format'''
 
|-
 
|-
| '''FIELD_CALLSIGN_WWL_CHECK'''
+
| <tt>FREQ</tt>
| If YES, entry in the log callsign field will be checked for a gridsquare entry. If a gridsquare is found, then the callsign field value will be copied to the gridsquare entry field and the Azimuth angle will be calculated and shown.
+
| Frequency in kilohertz
| Allowed values: YES/NO  Default value: NO
+
| 6 positions, right adjusted
 
|-
 
|-
| '''FIELD_MODE_VISIBLE'''
+
| <tt>MODE</tt>
| Mode field visable on the qso entry line.
+
| Mode when receiving QTC
| Allowed values: YES/NO  Default value: NO
+
| 3 positions, left adjusted
 
|-
 
|-
| '''FIELD_MODE_NAME'''
+
| <tt>DATE</tt>
| Header name for field mode.
+
| Date QTC exchanged
 +
| 12 positions
 +
|-
 +
| <tt>TIME</tt>
 +
| Time QTC exchanged
 +
| 4 positions
 +
|-
 +
| <tt>RCVDBY</tt>
 +
| Call of receiving station
 +
| 13 positions, left adjusted
 +
|-
 +
| <tt>GRNUM</tt>
 +
| Group number of QTC
 +
| 10 positions, left adjusted
 +
|-
 +
| <tt>SENTBY</tt>
 +
| Call of sending station
 +
| 13 positions, left adjusted
 +
|-
 +
| <tt>QTCTIME</tt>
 +
| Time in QTC line
 +
| 4 positions
 +
|-
 +
| <tt>QTCCALL</tt>
 +
| Call in QTC line
 +
| 13 positions, left adjusted
 +
|-
 +
| <tt>QTCSERIAL</tt>
 +
| Serial in QTC line
 +
| 3 positions, right adjusted
 +
|-
 +
|}
 +
 
 +
===Configuration keys' relation to Cabrillo export===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default relation between contest category configuration and Cabrillo export<br>
 +
!'''Key type'''
 +
!'''DXLog Key'''
 +
!'''Cabrillo key'''
 +
!colspan="6"|'''Default values'''
 +
|-
 +
| Configuration
 +
| CATEGORIES
 
|
 
|
 +
| Single operator, assisted
 +
| Single operator
 +
| Multi-operator, single transmitter
 +
| Multi-operator, two transmitter
 +
| Multi-operator, multi-transmitter
 +
| Checklog
 +
|-
 +
| Cabrillo
 +
| CABRILLO_OPERATOR
 +
| CATEGORY-OPERATOR
 +
| SINGLE-OP
 +
| SINGLE-OP
 +
| MULTI-OP
 +
| MULTI-OP
 +
| MULTI-OP
 +
| CHECKLOG
 
|-
 
|-
| '''FIELD_MULT_VISIBLE'''
+
| Cabrillo
| MULT field visable on the screen.
+
| CABRILLO_TRANSMITTER
| Allowed values: YES/NO
+
| CATEGORY-TRANSMITTER
 +
| ONE
 +
| ONE
 +
| ONE
 +
| TWO
 +
| UNLIMITED
 +
| UNLIMITED
 
|-
 
|-
| '''FIELD_NR_VISIBLE'''
+
| Cabrillo
| SENT QSO SERIAL NUMBER visible on the qso entry line.
+
| CABRILLO_ASSISTED
| Allowed values: YES/NO
+
| CATEGORY-ASSISTED
 +
| ASSISTED
 +
| NON-ASSISTED
 +
| ASSISTED
 +
| ASSISTED
 +
| ASSISTED
 +
| ASSISTED
 
|-
 
|-
| '''FIELD_NR_HIDDEN_DXCC'''
+
| Cabrillo
|  List of DXCC separated by ";". If our own DXCC is on this list, SENT QSO SERIAL NUMBER will be hidden.
+
| CABRILLO_BAND
| Usable for contests where some stations are sending a serial number exchange and other stations are sending other data (for example a local province).
+
| CATEGORY-BAND
 +
| AUTO
 +
| AUTO
 +
| ALL
 +
| ALL
 +
| ALL
 +
| ALL
 +
|}
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default relation between contest overlay configuration and Cabrillo export<br>
 +
!'''Key type'''
 +
!'''DXLog Key'''
 +
!'''Cabrillo key'''
 +
!colspan="5"|'''Default values'''
 
|-
 
|-
| '''FIELD_NR_HIDDEN_RGX'''
+
| Configuration
| Regex expression. If the condition is valid, SENT QSO SERIAL NUMBER will be hidden.
+
| OVERLAY
|  Usable for contests where some stations are sending a serial number exchange and other stations are sending other date (for example a local province).
+
|
 +
| style="width:150px;"|<nowiki>---</nowiki>
 +
| style="width:150px;"|School
 +
| style="width:150px;"|Dxpedition
 +
| style="width:150px;"|Headquarter
 +
| style="width:150px;"|...
 
|-
 
|-
| '''FIELD_PERIOD_VISIBLE'''
+
| Cabrillo
|  Is field PERIOD number visible on qso entry line.
+
| CABRILLO_OVERLAY
| Allowed values: YES/NO
+
| CATEGORY-OVERLAY
 +
| Key not present
 +
| CLASSIC
 +
| ROOKIE
 +
| TB-WIRES
 +
| ...
 +
|}
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default relation between contest power class configuration and Cabrillo export<br>
 +
!'''Key type'''
 +
!'''DXLog Key'''
 +
!'''Cabrillo key'''
 +
!colspan="5"|'''Default values'''
 
|-
 
|-
| '''FIELD_PERIOD_NAME'''
+
| Configuration
| Header name for field NAME.
+
| CLASS
 
|
 
|
 +
| style="width:150px;"|High
 +
| style="width:150px;"|Low
 +
| style="width:150px;"|QRP
 
|-
 
|-
| '''FIELD_PTS_VISIBLE'''
+
| Cabrillo
|  Is field POINTS visible in qso entry line.
+
| CABRILLO_POWER
| Allowed values: YES/NO
+
| CATEGORY-POWER
 +
| HIGH
 +
| LOW
 +
| QRP
 +
|}
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default relation between contest mode category and Cabrillo export<br>
 +
!'''Key type'''
 +
!'''DXLog Key'''
 +
!'''Cabrillo key'''
 +
!colspan="5" | '''Default values'''
 
|-
 
|-
| '''FIELD_PTS_NAME'''
+
| Configuration
| Header name for field POINTS.
+
| CATEGORY_MODES
 
|
 
|
 +
| style="width:170px;" | CW
 +
| style="width:170px;" | SSB
 +
| style="width:170px;" | Mixed
 +
|-
 +
| Cabrillo
 +
| N/A
 +
| CATEGORY-MODE
 +
| CW
 +
| SSB
 +
| MIXED
 +
|}
 +
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Mapping of other values of CATEGORY_MODE to CATEGORY-MODE
 +
!'''Value of CATEGORY_MODE'''
 +
!'''Resulting CATEGORY-MODE'''
 +
|-
 +
| Phon*
 +
| SSB
 +
|-
 +
| SSB
 +
| SSB
 +
|-
 +
| FM
 +
| FM
 +
|-
 +
| AM
 +
| AM
 +
|-
 +
| CW
 +
| CW
 
|-
 
|-
| '''FIELD_RCVD_CHECK_FORMAT_FX'''
+
| RTTY
| C# expression to reformat RCVD field value before any further checking.
+
| RTTY
 +
|-
 +
| FT*
 +
| DIGI
 +
|-
 +
| Digi*
 +
| DIGI
 +
|-
 +
| *PSK*
 +
| BPSK
 +
|-
 +
| All others
 +
| MIXED
 +
|-
 +
 
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default relation between available contest QSO modes and Cabrillo export<br>
 +
!'''Key type'''
 +
!'''DXLog Key'''
 +
!'''Cabrillo key'''
 +
!colspan="5" | '''Default values'''
 +
|-
 +
| Configuration
 +
| MODES
 
|
 
|
 +
| style="width:150px;" | CW
 +
| style="width:150px;" | SSB
 +
|-
 +
| Cabrillo
 +
| CABRILLO_MODES
 +
| style="width:150px;" | QSO
 +
| CW
 +
| PH
 +
|}
 +
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default relation between contest band category and Cabrillo export<br>
 +
!'''Key type'''
 +
!'''DXLog Key'''
 +
!'''Cabrillo key'''
 +
!colspan="6" | '''Default values'''
 +
|-
 +
| Configuration
 +
| BANDS
 +
| style="width:130px;" |
 +
| style="width:130px;" | 160
 +
| style="width:130px;" | 80
 +
| style="width:130px;" | 40
 +
| style="width:130px;" | 20
 +
| style="width:130px;" | 15
 +
| style="width:130px;" | 10
 +
|-
 +
| Cabrillo
 +
| style="width:130px;" | N/A
 +
| CATEGORY-BAND
 +
|colspan="7" | Value is determined automatically for single operator entries. For multi-operator entries it is always ALL.
 +
|}
 +
 +
=== De-facto standard Cabrillo QSO line ===
 +
 +
[[image:cabrilloqsocolumns.png]]
 +
 +
{|class="wikitable"
 +
|+style="text-align:Left;"| De-facto standard Cabrillo mode codes
 +
| '''Cabrillo'''
 +
| '''Mode'''
 +
|-
 +
| AM
 +
| AMTOR
 +
|-
 +
| AX
 +
| Packet AX.25
 +
|-
 +
| CO
 +
| Contestia
 +
|-
 +
| CW
 +
| CW
 +
|-
 +
| DO
 +
| Domino
 +
|-
 +
| FM
 +
| FM
 +
|-
 +
| HE
 +
| Hellschreiber
 +
|-
 +
| MF
 +
| MFSK16
 +
|-
 +
| OL
 +
| Olivia
 +
|-
 +
| PH
 +
| SSB, AM
 +
|-
 +
| PM
 +
| PSK63
 +
|-
 +
| PO
 +
| PSK125
 +
|-
 +
| PS
 +
| PSK31
 +
|-
 +
| PT
 +
| PACTOR
 +
|-
 +
| RM
 +
| RTTYM
 +
|-
 +
| RY
 +
| RTTY
 +
|-
 +
| TH
 +
| THROB
 +
|-
 +
| TV
 +
| SSTV
 +
|-
 +
|}
 +
 +
==Band and mode keys==
 +
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|<br>
 +
| '''BANDS'''
 +
| A semicolon-separated list of allowed bands for the contest.<br>Valid band names are: 2190, 630, 560, 160, 80, 60, 40, 30, 20, 17,<br>15, 12, 10, 50, 70, 144, 222, 432, 902, 1296, 2300, <br>3400, 5650, 10G, and 24G.
 +
| Default value: 160;80;40;20;15;10
 +
|-
 +
| '''MODES'''
 +
| A semicolon-separated list of modes allowed in the contest.<br>Not to be confused with CATEGORY_MODES.
 +
| Default value: CW;SSB
 +
|-
 +
| '''EDI_BANDS'''
 +
| A semicolon-separated list of EDI values for bands specified in BANDS key.<br>Must contain same number of entries as BANDS key.<br>Used for generating EDI log files for VHF/UHF/SHF contests in IARU Region I.<br>Valid values are: 28 MHz, 50 MHz, 70 MHz, 144 MHz, 432 MHz, 1,3 GHz, 2,3 GHz,<br>3,4 GHz, 5,7 GHz, 10 GHz, 24 GHz, 47 GHz, 76 GHz, 120 GHz, 144 GHz, and 248 GHz.<br>Note the space between the number and the frequency multiplier and that<br>commma is used as decimal separator.
 +
| No default value and if not set, EDI export is disabled.
 +
|-
 +
| '''DISPLAY_MODE_GROUPING'''
 +
| Formatting of display of modes in check multiplier window.<br>Should always be used if <tt>DOUBLE_QSO_MODE_CHECK=PER_MODE_GROUP</tt> is used.<br>Syntax: <tt>DISPLAY_MODE_GROUPING=modename1:mode1+mode2;modename2:mode3+mode4</tt>
 +
| No default value
 +
|}
 +
 +
==QSO entry field definition keys==
 +
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|These keys are used to control the layout and behavior of QSO entry fields. The keys set the visibility, length, labels, checking procedures etc.<br>for each of the fields which the user can enter data or display for any QSO.<br>
 +
| '''FIELD_AZ_VISIBLE'''
 +
| Controls the visibility of the Azimuth field.<br>Mostly used on VHF/UHF/SHF to get the azimuth angle from a gridsquare.<br>Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_CALLSIGN_WWL_CHECK'''
 +
| If YES, an entry in the log callsign field will be checked for a gridsquare entry.<br>If a gridsquare closer than 4000km away is found, the callsign field value will be copied to the gridsquare<br>entry field and the azimuth angle will be calculated and shown. Recommended for VHF/UHF<br>contests where you turn your antenna a lot. Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_MODE_VISIBLE'''
 +
| If YES, or MIXED and contest mode category name contains "mixed" or "digi", overrides menu option<br><code><nowiki>Options|Log|Always show mode in QSO lines</nowiki></code> and makes the mode column always<br>visible in the log. If NO, has no effect.<br>Valid values are YES, NO, and MIXED.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_MODE_NAME'''
 +
| Heading for mode column.
 +
| Default value: "Mode"
 +
|-
 +
| '''FIELD_MULT_NAME'''
 +
| Heading for multiplier column.
 +
| Default value: "Mult"
 +
|-
 +
| '''FIELD_MULT_VISIBLE'''
 +
| If MULT field is visible on the screen. Valid values are YES and NO.
 +
| Default value: YES
 +
|-
 +
| '''FIELD_MULT_MAX_LENGTH'''
 +
| Width of MULT column.
 +
| Default value: 5
 +
|-
 +
| '''FIELD_NR_VISIBLE'''
 +
| If sent QSO SERIAL NUMBER is visible on the QSO entry line.<br>Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_NR_HIDDEN_DXCC'''
 +
| Semicolon separated list of DXCC. If our own DXCC is on this list,<br>sent serial number field will be hidden. Useful for contests where some<br>stations are sending a serial number exchange and other stations are<br>sending other data (for example a local province).
 +
| Default is to hide none
 +
|-
 +
| '''FIELD_NR_HIDDEN_RGX'''
 +
| Regular expression. If the condition is valid, sent serial number<br>field will be hidden. Useful for contests where some stations are sending<br>a serial number exchange and other stations are sending other data<br>(for example a local province).
 +
| No default value
 +
|-
 +
| '''FIELD_PERIOD_VISIBLE'''
 +
| If PERIOD number column is visible. Valid values: YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_PERIOD_NAME'''
 +
| Heading for PERIOD number column.
 +
| Default value: "P"
 +
|-
 +
| '''FIELD_PTS_VISIBLE'''
 +
| If POINTS column is visible. Valid values: YES and NO.
 +
| Default value: YES
 +
|-
 +
| '''FIELD_PTS_NAME'''
 +
| Heading for POINTS column. Width of column scales with string.
 +
| Default value: "Pts"
 +
|-
 +
| '''FIELD_RCVD_CHECK_FORMAT_FX'''
 +
| C# expression to reformat entered value in the field before further<br>validity checking. The value in the field is represented as $FIELDVALUE. Example:<br><tt>FIELD_RCVD_CHECK_FORMAT_FX=$FIELDVALUE.Substring(0,2)+$FIELDVALUE.Substring(2).TrimStart('0')</tt><br>will reshape RCVD by taking the first two characters and then remove any leading zeroes in the<br>remainder before further validity or multiplier checking.
 +
| Default value: $FIELDVALUE
 +
|-
 +
| '''FIELD_RECINFO_CHECK_FORMAT_FX'''<br>'''FIELD_RECINFO2_CHECK_FORMAT_FX'''<br>'''FIELD_RECINFO3_CHECK_FORMAT_FX'''
 +
| One or several, semicolon separated, regular expressions to conditionally reformat the entered<br>value in the field before further validity checking.<br>The regular expression and the formatting expression are separated by ">>" as in CABRILLO_LINE.<br>The entered value is represented as $FIELDVALUE. Example:<br><tt><nowiki>FIELD_RECINFO_CHECK_FORMAT_FX=!DEST->DXCC:^YO$>>'.'+$FIELDVALUE</nowiki></tt><br>will add a period before the second part of the exchange for all stations that are not from Romania.<br><tt><nowiki>FIELD_RECINFO_CHECK_FORMAT_FX=!DEST->DXCC:^K$|^KL$|^KH6$|^VE$>>""</nowiki></tt><br>will ignore any value in the second exchange field for all stations not from US, Hawaii, Alaska, or Canada.
 +
| Default value: ALL>>$FIELDVALUE
 +
|-
 +
| '''FIELD_RCVD_COPY'''<br>'''FIELD_RECINFO_COPY'''<br>'''FIELD_RECINFO2_COPY'''<br>'''FIELD_RECINFO3_COPY'''
 +
| If the field's value is automatically copied from previous QSO with same station.<br>Also controls if the exchange is shown with callsign in bandmap when <code><nowiki>Display options|Exchange</nowiki></code><br>is selected. Valid values: YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_RCVD_COPY_EXC_DXCC'''<br>'''FIELD_RECINFO_COPY_EXC_DXCC'''
 +
| Semicolon separated list DXCC entities for which RCVD/RECINFO is copied<br>from earlier QSO in spite of FIELD_RCVD_COPY/FIELD_RECINFO_COPY=NO.<br>Useful in case only some DXCC have a fixed exchange in the contest.
 +
| Default value: NONE
 +
|-
 +
| '''FIELD_RCVD_COPY_EXC_RGX'''<br>'''FIELD_RECINFO_COPY_EXC_RGX'''
 +
| Regular expression. For QSO where the condition is true, the<br>content of the field will be copied from earlier QSO in spite of<br>FIELD_RCVD_COPY/FIELD_RECINFO_COPY=NO.<br>Useful if only certain types of exchanges are fixed for stations in contest.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_COPY_FX'''
 +
| C# expression used to determine value to be copied from earlier QSO.<br>The value of the field is $FIELDVALUE. For example:<br><tt>FIELD_RCVD_COPY_FX=$FIELDVALUE.Substring(0,6)</tt><br>will copy the first six characters from the RCVD field from the<br>previous QSO with the same station.
 +
| Default value: $FIELDVALUE
 +
|-
 +
| '''FIELD_RCVD_DEFAULT_VALUE'''
 +
| Value to be used in as prefill if RCVD field is empty.<br>Valid values are: CQZONE, ITUZONE, CONT, or any string, which will be used verbatim.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_EXC_CHECK_DXCC'''
 +
| List of destination DXCC countries separated by ":" (or keyword ALL for all) for which multiplier<br>list validity checking is enforced.<br>E.g. <tt>FIELD_RCVD_EXC_CHECK_DXCC=K:KL:KH6:VE:XE;CUSTOM_MULT_LIST</tt><br>Note that this key only applies to <tt>FIELD_RCVD_TYPE=MULT</tt>.<br>Also note that this key does not override <tt>FIELD_RCVD_RGX_CHECK</tt>, so if used,<br>this key needs to accept <u>all</u> possible values of RCVD.<br>E.g. <tt><nowiki>FIELD_RCVD_RGX_CHECK=DEST->RCVD:^[0-8][0-9]?$|^90$;DEST->RCVD:CUSTOM_MULT_LIST</nowiki></tt><br>There is no corresponding key for the other entry fields, <tt>RECINFO</tt>, etc.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_FORMAT_FX'''<br>'''FIELD_RECINFO_FORMAT_FX'''<br>'''FIELD_RECINFO2_FORMAT_FX'''<br>'''FIELD_RECINFO3_FORMAT_FX'''
 +
| C# expression used to format entered value before saving.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_FX_CHECK'''<br>'''FIELD_RECINFO_FX_CHECK'''<br>'''FIELD_RECINFO2_FX_CHECK'''<br>'''FIELD_RECINFO3_FX_CHECK'''
 +
| Boolean C# expression used to check if value entered in the field is valid. For example:<br> <tt>FIELD_RCVD_FX_CHECK=Helpers.Between($FIELDVALUE,1,40)</tt><br>checks if RCVD is between 1 and 40.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_MANDATORY'''<br>'''FIELD_RECINFO_MANDATORY'''<br>'''FIELD_RECINFO2_MANDATORY'''<br>'''FIELD_RECINFO3_MANDATORY'''
 +
| If RCVD field entry is mandatory. Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_RCVD_MANDATORY_RGX_EXC'''<br>'''FIELD_RECINFO_MANDATORY_RGX_EXC'''<br>'''FIELD_RECINFO2_MANDATORY_RGX_EXC'''<br>'''FIELD_RECINFO3_MANDATORY_RGX_EXC'''
 +
| Defines exceptions from mandating rule via a regular expression. For example:<br><tt><nowiki>FIELD_RCVD_MANDATORY_RGX_EXC=!DEST->DXCC:^(G|GD|GI|GJ|GM|GU|GW)$</nowiki></tt><br>means RCVD is not mandatory for non-UK stations. You can only have one exception per entry field.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_MAX_LENGTH'''
 +
| Maximum number of characters accepted in the field.
 +
| Default value: 10
 +
|-
 +
| '''FIELD_RECINFO_MAX_LENGTH'''<br>'''FIELD_RECINFO2_MAX_LENGTH'''<br>'''FIELD_RECINFO3_MAX_LENGTH'''
 +
| Maximum number of characters accepted in the field.
 +
| Default value: 6
 +
|-
 +
| '''FIELD_RCVD_MIN_LENGTH'''<br>'''FIELD_RECINFO_MIN_LENGTH'''<br>'''FIELD_RECINFO2_MIN_LENGTH'''<br>'''FIELD_RECINFO3_MIN_LENGTH'''
 +
| Minimum number of characters accepted in the field.
 +
| Default value: 0
 +
|-
 +
<!--| '''FIELD_RCVD_AUTOSKIP'''
 +
| Controls whether RCVD and RECINFO fields are treated as one continuous field.<br>E.g. when typing in the RCVD field, the cursor will automatically skip to the RECINFO<br>field when the maximum length of the RCVD field is reached.<br>Also, when deleting characters with [Back], the cursor will automatically move to the previous field.<br>Only recommended for contests where all exchange elements have a fixed length.
 +
| Default value: NO
 +
|-
 +
-->|  '''FIELD_RCVD_NUMERIC'''<br>'''FIELD_RECINFO_NUMERIC'''<br>'''FIELD_RECINFO2_NUMERIC'''<br>'''FIELD_RECINFO3_NUMERIC'''
 +
| Controls if the field accepts only numeric characters.<br>Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
|  '''FIELD_RCVD_NAME'''
 +
| Column heading for RCVD field.
 +
| Default value: Rcvd
 +
|-
 +
|  '''FIELD_RCVD_SLASH_ALLOWED'''<br>'''FIELD_RECINFO_SLASH_ALLOWED'''<br>'''FIELD_RECINFO2_SLASH_ALLOWED'''<br>'''FIELD_RECINFO3_SLASH_ALLOWED'''
 +
| Controls if the field accepts a slash "/" character.<br>Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_RCVD_RGX_CHECK'''
 +
| Boolean expression. Used to check if entry in the field is valid.<br>For contests with more than one type of exchange (e.g. grid and serial<br>number or oblast and grid), more than one rule can be listed, separated<br>by semicolon. The check is then done against the rules combined with logical OR, i.e.<br>if any of the rules checks OK, the entry is approved.
 +
| No default value
 +
|-
 +
| '''FIELD_RECINFO_RGX_CHECK'''<br>'''FIELD_RECINFO2_RGX_CHECK'''<br>'''FIELD_RECINFO3_RGX_CHECK'''
 +
| Regular expression. Used to check if entry in the field is valid.<br>For contests with more than one type of exchange (e.g. grid and serial<br>number or oblast and grid), more than one rule can be listed, separated<br>by semicolon. The check is then done against the rules combined with logical OR, i.e.<br>if any of the rules checks OK, the entry is approved.
 +
| No default value
 +
|-
 +
| '''FIELD_RCVD_TYPE'''
 +
| Defines data type of the field.<br>Valid values are: GRID, GRID4, GRID6, CONT, NR, CUSTOM (any text), MULT (a listed keyword, associated<br>with <tt>MULT#_TYPE=CUSTOM</tt>), CQZONE, ITUZONE, and NAME.<br>Note that there is no automatic validity checking for CUSTOM, CQZONE, NAME, and ITUZONE.<br>Validity checking of MULT is enabled using the key <tt>FIELD_RCVD_EXC_CHECK_DXCC</tt>.<br>This means a <tt>FIELD_RCVD_RGX_CHECK</tt> or key may be required. The type can also be per-DXCC<br>using the syntax <tt>DXCC:regex=type1;!DXCC:regex=type2</tt> where regex is matched against the<br>station's main DXCC prefix and can be e.g. <tt><nowiki>^(JA|JD/o|JD/m)$</nowiki></tt><br>'''Important:''' Since the types are used to determine e.g. ADIF export, only use NAME for a real name<br>and only use NR for the exchange serial number.
 +
| Default value: Empty
 +
|-
 +
| '''FIELD_RECINFO_TYPE'''<br>'''FIELD_RECINFO2_TYPE'''<br>'''FIELD_RECINFO3_TYPE'''
 +
| Defines data type of the field.<br>Valid values are: GRID, GRID4, GRID6, NR, CONT, CUSTOM, MULT, CQZONE, ITUZONE, and NAME.<br>There is an automatic validity check on all types except CUSTOM and NAME.<br>'''Important:''' Since the types are used to determine e.g. ADIF export, only use NAME for a real name<br>and only use NR for the exchange serial number.
 +
| Default value: Empty
 +
|-
 +
| '''FIELD_RCVD_WWL_CHECK'''
 +
| If YES, entry in RCVD field will be checked if it can be possible gridsquare entry.<br>It it is gridsquare, then RCVD field value will be copied to gridsquare entry field <br>and Azimuth will be calculated and shown. Valid values are YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_RECINFO_NAME'''<br>'''FIELD_RECINFO2_NAME'''<br>'''FIELD_RECINFO3_NAME'''
 +
| Heading for field's column.
 +
| Default value: Empty
 +
|-
 +
| '''FIELD_RECINFO_RGX_SEL_POS'''<br>'''FIELD_RECINFO2_RGX_SEL_POS'''<br>'''FIELD_RECINFO3_RGX_SEL_POS'''
 +
| Filtering function for composite multipliers.<br>Exact function is unclear.
 +
| No default value
 +
|-
 +
| '''FIELD_RECINFO_VISIBLE'''<br>'''FIELD_RECINFO2_VISIBLE'''<br>'''FIELD_RECINFO3_VISIBLE'''
 +
| Controls if the the field is visible.<br>Valid values: YES, NO, HIDDEN, and READONLY.
 +
| Default value: NO
 +
|-
 +
| '''FIELD_RST_3RD_LETTER'''
 +
| Semicolon-separated list of allowed third characters apart from numbers. For example:<br><tt>FIELD_RST_3RD_LETTER=A;S</tt><br>allows 59A and 59S as reports.
 +
| Default value: None
 +
|-
 +
| '''FIELD_RST_VISIBLE'''
 +
| Controls visibility of RST field. Valid values are: YES and NO.
 +
| Default value: YES
 
|-
 
|-
| '''FIELD_RCVD_COPY'''
+
| '''FIELD_SENT_VISIBLE'''
| Is field RCVD automatically copied from previous qso with same station.
+
| Controls visibility of Sent field in log. Valid values are: YES and NO.
| Allowed values: YES/NO
+
| Default value: YES
 
|-
 
|-
| '''FIELD_RCVD_COPY_EXC_DXCC'''
+
|}
| List of DXCC countries separated by ";" which are exception for copy value.
+
 
| Usable in case when we want to copy value from previous QSO for some station.
+
==Default message keys==
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|Default messages for F-keys, Plus and Ins.<br>
 +
| '''CW_MESSAGE_1'''
 +
| Default F1 message for Run
 +
| Default value: "CQ $MYCALL $MYCALL TEST"
 
|-
 
|-
| '''FIELD_RCVD_COPY_EXC_RGX'''
+
| '''CW_MESSAGE_2'''
| Regex expression. If condition is true, we have a value copy exception for the QSO.
+
| Default F2 message for Run
|
+
| Default value: "$RST $EXCHANGE"
 +
|-
 +
| '''CW_MESSAGE_3'''
 +
| Default F3 message for Run
 +
| Default value: "$EXCHANGE"
 +
|-
 +
| '''CW_MESSAGE_4'''
 +
| Default F4 message for Run
 +
| Default value: "$MYCALL"
 +
|-
 +
| '''CW_MESSAGE_5'''
 +
| Default F5 message for Run
 +
| Default value: "$LOGGEDCALL"
 +
|-
 +
| '''CW_MESSAGE_6'''
 +
| Default F6 message for Run
 +
| Default value: "NR?"
 +
|-
 +
| '''CW_MESSAGE_7'''
 +
| Default F7 message for Run
 +
| Default value: "?"
 +
|-
 +
| '''CW_MESSAGE_INS'''
 +
| Default Insert message for Run
 +
| Default value: "$F2"
 +
|-
 +
| '''CW_MESSAGE_PLUS'''
 +
| Default Plus message for Run
 +
| Default value: "$CORRECT TU $CR $MYCALL"
 +
|-
 +
| '''SP_CW_MESSAGE_1'''
 +
| Default F1 message for S&P
 +
| Default value: "$MYCALL"
 +
|-
 +
| '''SP_CW_MESSAGE_2'''
 +
| Default F2 message for S&P
 +
| Default value: "$RST $EXCHANGE"
 +
|-
 +
| '''SP_CW_MESSAGE_3'''
 +
| Default F3 message for S&P
 +
| Default value: "$EXCHANGE"
 +
|-
 +
| '''SP_CW_MESSAGE_4'''
 +
| Default F4 message for S&P
 +
| Default value: "$MYCALL"
 +
|-
 +
| '''SP_CW_MESSAGE_5'''
 +
| Default F5 message for S&P
 +
| Default value: "$LOGGEDCALL"
 +
|-
 +
| '''SP_CW_MESSAGE_6'''
 +
| Default F6 message for S&P
 +
| Default value: "NR?"
 +
|-
 +
| '''SP_CW_MESSAGE_7'''
 +
| Default F7 message for S&P
 +
| Default value: "?"
 +
|-
 +
| '''SP_CW_MESSAGE_INS'''
 +
| Default Insert message for S&P
 +
| Default value: "$F2$CR"
 
|-
 
|-
| '''FIELD_RCVD_COPY_FX'''
+
| '''SP_CW_MESSAGE_PLUS'''
| C# expression used to copy value from previous qso.
+
| Default Plus message for S&P
|
+
| Default value: "TU$CR"
 
|-
 
|-
| '''FIELD_RCVD_DEFAULT_VALUE'''
+
| '''CW_MESSAGE_EXCHANGE_FILTER'''
| If RCVD field is empty, this is default value to be filled in cabrillo output.
+
| Message definitions following this key will only be effective if regular expression<br>after equal sign evaluates true for content in exchange entry box.<br>Example: <tt>CW_MESSAGE_EXCHANGE_FILTER=^DX$</tt> means that messages<br>below this line will be used for stations entering DX in the exchange entry box.<br>'''Important:''' Only has effect for the first log created. All subsequent logs for the<br>same contest will inherit the messages from the previous log.
 
|
 
|
 
|-
 
|-
| '''FIELD_RCVD_EXC_CHECK_DXCC'''
+
|}
| List of DXCC countries separated by ";" which are exception for value checking procedure.
+
 
|
+
==Additional configuration keys==
 +
 
 +
=== DXCC related keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''DXCC_DB_TYPE'''
 +
| This entry allows the use of a custom country file (for example, R150S.dat).<br>If a custom country file is defined, the selection<br>in <tt><nowiki>Option|Data files|Country files</nowiki></tt> will be ignored and<br>the country file defined in the contest config file will be used.<br>Valid values are: <tt>CUSTOM_CTY</tt> and <tt>CTY</tt>
 +
|Default value is CTY which will use<br>the data base set in the<br><tt><nowiki>Options|Data files|Country files</nowiki></tt><br>panel.
 
|-
 
|-
| '''FIELD_RCVD_FORMAT_FX'''
+
| '''DXCC_DB_FILENAME'''
| C# expression used to format entered value before save.
+
| Used to enable the use of an alternative country data base.<br>Used in conjunction with the <tt>DXCC_DB_TYPE</tt> key to define the data<br>file name. The file format is the same as the normal <tt>CTY.DAT</tt> file.
|
+
| Default value: <tt>CTY.DAT</tt>
 
|-
 
|-
| '''FIELD_RCVD_FX_CHECK'''
+
| '''DXCC_DB_USE_ARRL_LIST'''
| C# expression used to check is value entered in RCVD field is valid.
+
| Controls the use of the ARRL country list instead of CQ/WAE country list.<br>Valid values: YES and NO.
|
+
| Default value: NO
 +
|}
 +
 
 +
=== Contest timing and period keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''MIN_OFF_TIME'''
 +
| Minimum time in minutes without QSO to count as off time.<br>C.f. OFF_TIME_ROUND_UP.
 +
| Default value: 30
 
|-
 
|-
| '''FIELD_RCVD_MANDATORY'''
+
| '''OFF_TIME_ROUND_UP'''
| Is RCVD field entry is mandatory.
+
| Off time is calculated based on time difference between QSO instead of minutes without QSO.<br>YES means that QSO at e.g. 4:12 and 5:12 represents 60 minutes of off time.<br>NO means that QSO at e.g. 4:12 and 5:13 represents 60 minutes of off time.<br>Valid values: YES and NO.
| Allowed values: YES/NO
+
| Default value: NO
 
|-
 
|-
| '''FIELD_RCVD_MANDATORY_RGX_EXC'''
+
| '''CONTEST_LENGTH'''
| Regex expression. If condition is true, we have exception from mandatory rule.
+
| Duration of contest in minutes.<br>Ignored for contests without periods.  
|
+
| No default value
 
|-
 
|-
| '''FIELD_RCVD_MAX_LENGTH'''
+
| '''CONTEST_FIRST_HOUR'''
| Maximum number of characters accepted in RCVD field.
+
| Time of day for start of contest in UTC. Ignored for contests without periods.<br>If the value is negative, DXLog will assume the contests starts a the beginning of the current hour.<br>Valid formats: -1, H, HH, HMM, and HHMM.  
|
+
| No default value
 
|-
 
|-
| '''FIELD_RCVD_MIN_LENGTH'''
+
| '''PERIOD'''
| Minimum number of characters accepted in RCVD field.
+
| Whether the contest has periods.<br>Valid values: ON and OFF.
|
+
| Default value: OFF
 
|-
 
|-
| '''FIELD_RCVD_NUMERIC'''
+
| '''PERIOD_LENGTH'''
| Controls if RCVD field accepts only numeric characters.
+
| The length of each contest period in minutes.<br>Valid values: Any integer.
| Allowed values: YES/NO
+
| Default value: 0
 
|-
 
|-
| '''FIELD_RCVD_RGX_CHECK'''
+
| '''PERIOD_AUTOSWITCH'''
| Regex expression. Used to check if entry in RCVD field is valid.
+
| If the next period should start automatically.<br>'''Important: Does not work if contests stretches past midnight UTC.'''<br>Valid values: YES and NO.
|
+
| Default value: NO
 
|-
 
|-
| '''FIELD_RCVD_TYPE'''
+
| '''PERIOD_NUMBER'''
| Define type of RCVD field for possible calculations and check routines.
+
| Number of periods in contest.<br>CALC_FROM_TIME means duration divided by period length.<br>Valid values: CALC_FROM_TIME or any integer.<br>'''Important:''' When CALC_FROM_TIME is used, it must be preceded by CONTEST_LENGTH and PERIOD_LENGTH.  
| For example: MULT, NR, CONT etc.
+
| Default value: 0
 
|-
 
|-
| '''FIELD_RCVD_WWL_CHECK'''
+
| '''PERIOD_MODES'''
| If YES, entry in RCVD field will be checked if it can be possible gridsquare entry. It it is gridsquare, then RCVD field value will be copied to gridsquare entry field and Azimuth will be calculated and shown.
+
| Optional, semicolon-separated list of modes for each period in the contest.<br>Must have the same number of items as number of periods.<br>Valid values: Mode acronyms supported by DXLog.
| Allowed values: YES/NO  Default value: NO
+
| No default value
 
|-
 
|-
| '''FIELD_RECINFO_CHECK_FORMAT_FX'''
+
|}
 +
 
 +
=== Database, prefill, and check keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''DB_FILE''' or '''DB_FILE1'''<br>'''DB_FILE2'''<br>'''DB_FILE3'''<br>'''DB_FILE4'''<br>'''DB_FILE5'''
 +
| File name of prefill data base. '''Important:''' File name casing must be correct for online update to work.<br>For file format etc., see the [[Menu_Options#Prefill_database_settings|Prefill database settings]] section.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_COPY'''
+
| '''DB_FILE_TYPE''' or '''DB_FILE1_TYPE'''<br>'''DB_FILE2_TYPE'''<br>'''DB_FILE3_TYPE'''<br>'''DB_FILE4_TYPE'''<br>'''DB_FILE5_TYPE'''
 +
| Extension of data base file.
 +
| Default value: TXT
 +
|-
 +
| '''DB_FILE_COL_RCVD''' or<br>'''DB_FILE1_COL_RCVD'''<br>'''DB_FILE2_COL_RCVD'''<br>'''DB_FILE3_COL_RCVD'''<br>'''DB_FILE4_COL_RCVD'''<br>'''DB_FILE5_COL_RCVD'''
 +
| Column number of RCVD field in data base file.<br>'''Important: At least one DB_FILE_COL* statement must be included for each data base file.'''<br>'''Important: Since look-up for RCVD is enabled by default, it needs to<br>be actively disabled if not wanted. Set it to -1 to disable undesired look-up. '''
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_COPY_RGX_EXC'''
+
| '''DB_FILE_COL_RECINFO''' or<br>'''DB_FILE1_COL_RECINFO'''<br>'''DB_FILE2_COL_RECINFO'''<br>'''DB_FILE3_COL_RECINFO'''<br>'''DB_FILE4_COL_RECINFO'''<br>'''DB_FILE5_COL_RECINFO'''
 +
| Column number of RECINFO field in data base file.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_FORMAT_FX'''
+
| '''DB_FILE_COL_RECINFO2''' or<br>'''DB_FILE1_COL_RECINFO2'''<br>'''DB_FILE2_COL_RECINFO2'''<br>'''DB_FILE3_COL_RECINFO2'''<br>'''DB_FILE4_COL_RECINFO2'''<br>'''DB_FILE5_COL_RECINFO2'''
 +
| Column number of RECINFO2 field in data base file.
 
|
 
|
 
|-
 
|-
|  '''FIELD_RECINFO_FX_CHECK'''
+
|  '''DB_FILE_COL_RECINFO3''' or<br>'''DB_FILE1_COL_RECINFO3'''<br>'''DB_FILE2_COL_RECINFO3'''<br>'''DB_FILE3_COL_RECINFO3'''<br>'''DB_FILE4_COL_RECINFO3'''<br>'''DB_FILE5_COL_RECINFO3'''
 +
| Column number of RECINFO3 field in data base file.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_MANDATORY'''
+
| '''DB_FILE_FILL_FORMAT''' or<br>'''DB_FILE1_FILL_FORMAT'''<br>'''DB_FILE2_FILL_FORMAT'''<br>'''DB_FILE3_FILL_FORMAT'''<br>'''DB_FILE4_FILL_FORMAT'''<br>'''DB_FILE5_FILL_FORMAT'''
 +
| C# <code>string.Format</code> expression defining how prefill from data base file will be used.<br>Example: <tt>/{0}</tt> will precede prefill with a slash.<br>This function is often combined with the menu option to use INSERT mode in the RCVD field.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_MANDATORY_RGX_EXC'''
+
| '''RGX_GUESS_DB'''
 +
| Regular expression "rule base" for guessing exchange of unworked stations.<br>Syntax is RGX_GUESS_DB=Field;DXCC Regex;Callsign Regex2;Filename[;Result regex]<br>A look-up is done for stations fulfilling at least one of the regular expressions.<br>If the <i>Result regex</i> is used, the look-up returns nothing for all look-ups not matching it.<br>The syntax of the file <i>callsign regex=prefill</i> or <i>DXCC:regex=prefill</i><br>or <i>!DXCC:regex=prefill</i>. The file is parsed from top to bottom and the first match is used.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_MAX_LENGTH'''
+
| '''DXC_COMMENT_EXTRACT'''
 +
| This entry is used to extract exchange or multiplier information from DX cluster comments.<br>For example, the line:<br><tt><nowiki>DXC_COMMENT_EXTRACT=RECINFO;(AF|AN|AS|EU|NA|OC|SA)[ /\-\.]?\d{1,3};[ /\-\.]</nowiki></tt><br>will extract a typical IOTA designation such as AF-025 and insert it into the <tt>RECINFO</tt> prefill<br>field for the spot.<br>The first part of the configuration (before the ;) defines into which entry field the data should be placed.<br>The second part of the configuration is a regular expression that defines the data that is to be matched.<br>The third part defines which characters should be removed from the matched result.<br>It is mandatory but can be empty.
 
|
 
|
 
|-
 
|-
|  '''FIELD_RECINFO_MIN_LENGTH'''
+
| '''SCP_DATABASE_DISABLE'''
 +
| Disable file-based prefill and check partials database. (for e.g. WRTC and IARU HF Championship).<br>Valid values are: YES and NO or a semicolon separated list of YES or NO with the same number<br>of elements as defined contest categories.
 +
| Default value: NO
 +
|-
 +
| '''DB_SCP_FROM_EXCHANGE'''
 +
| Enables reverse look-up.<br>Searches for all instances of either RCVD or RECINFO in first and second column of all data base files.<br>Search is triggered when pressing space and all entry fields are empty except <b>either</b> RCVD or RECINFO.<br>Search hits are displayed in Check Partials window.
 +
| Default value: NO
 +
|-
 +
|}
 +
 
 +
=== QSO exchange and numbering keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''INITIAL_SERIAL_NUMBER'''
 +
| Starting value of sent serial number.
 +
| Default value: 1
 +
|-
 +
| '''QSO_NUMBER'''
 +
| QSO numbering principle.<br>Valid values: ALL, PER_MODE, PER_BAND, PER_PERIOD, PER_BAND_MODE, PER_PERIOD_MODE.<br>ALL means chronological numbering.
 +
| Default value: ALL
 +
|-
 +
| '''QSO_NUMBER_CATEGORY'''
 +
| Semicolon-separated list of numbering principles for each contest category.<br>Must contain the same number of elements as contest categories.<br>Valid values: ALL, PER_MODE, PER_BAND, PER_PERIOD, PER_BAND_MODE, PER_PERIOD_MODE.
 +
| If not present, the value<br>of QSO_NUMBER is used.
 +
|-
 +
| '''FIRST_PREV_RCVD'''
 +
| Initial return value of macro $PREV_RCVD.<br>Any string is allowed but also the keyword <tt>EXCHANGE</tt>
 +
| Default value: "000"
 +
|-
 +
| '''FIRST_PREV_RECINFO'''
 +
| Initial return value of macro $PREV_RECINFO.<br>Any string is allowed but also the keyword <tt>EXCHANGE</tt>
 +
| Default value: "000"
 +
|-
 +
| '''FIRST_PREV_RECINFO2'''
 +
| Initial return value of macro $PREV_RECINFO2.<br>Any string is allowed but also the keyword <tt>EXCHANGE</tt>
 +
| Default value: "000"
 +
|-
 +
| '''FIRST_PREV_RECINFO3'''
 +
| Initial return value of macro $PREV_RECINFO3.<br>Any string is allowed but also the keyword <tt>EXCHANGE</tt>
 +
| Default value: "000"
 +
|-
 +
| '''SLASH_MULTIPLE_QSOS'''
 +
| Controls whether slashed ("/") multipliers are used in the contest.
 +
| Default value: NO
 +
|-
 +
|}
 +
 
 +
=== Double QSO keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''DOUBLE_QSO'''
 +
| The definition of a dupe.<br>Valid values: PER_PERIOD, PER_BAND, PER_MODE, PER_PERIOD_BAND,<br>PER_PERIOD_MODE, PER_BAND_MODE, PER_BAND_MODE_RECINFO,<br>PER_BAND_MODE_RCVD, PER_PERIOD_BAND_MODE,<br>PER_MINUTE_DIFFERENCE, PER_BAND_DAY<br>'''Important:''' ALL is not a valid value.
 +
| Required.<br>Lacks default value.
 +
|-
 +
| '''DOUBLE_QSO_MINUTE_DIFFERENCE'''
 +
| Minimum time difference in QSO time to not be counted as a dupe.<br>Used in conjunction with DOUBLE_QSO=PER_MINUTE_DIFFERENCE.
 +
| Default value: 0
 +
|-
 +
| '''DOUBLE_QSO_MODE_CHECK'''
 +
| Definition of dupe principle when it comes to mode.<br>Valid values: PER_MODE, PER_CABRILLO_MODE, and PER_MODE_GROUP.<br>'''Important''': When not using PER_MODE, only use CW, Phone, Digital, and Mixed for CATEGORY_MODES values.
 +
| Default value: PER_MODE
 +
|-
 +
| '''DOUBLE_QSO_RULE_DURATION'''
 +
| Expiration time of dupe QSO rule. Cannot be used together with<br>DOUBLE_QSO=PER_MINUTE_DIFFERENCE or MIN_VALID_QSO_DIFFERENCE.
 +
| Default value: 0
 +
|-
 +
| '''MIN_VALID_QSO_DIFFERENCE'''
 +
| Minimum allowed time between QSO with the same station.<br>Once this time has passed, the regular dupe rules apply.<br>Cannot be used together with<br>DOUBLE_QSO=PER_MINUTE_DIFFERENCE or DOUBLE_QSO_RULE_DURATION.
 +
| Default value: 0
 +
|-
 +
| '''MODE_GROUP'''
 +
| Semicolon-separated list of mode group names. Used as an alternative to CABRILLO_MODES<br>to group modes together for special dupe rules. One list entry per MODES mode entry.<br>Valid group names are CW, SSB, FM, PH, and DG.
 +
| No default value
 +
|-
 +
|}
 +
 
 +
=== Multiplier keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''MULT_SUM'''
 +
| Summing method for multipliers.<br>Valid values: NO, ALL, PER_BAND, and PER_PERIOD.
 +
| Default value: ALL
 +
|-
 +
| '''OWN_MULT_VALID'''
 +
| Controls if own multiplier is valid. '''Important:''' Controls the validity of ALL own multipliers but<br>does not consider calculated or derived multipliers, e.g. DXCC or WPX. This means that for the NO<br>option to work, the own multiplier <u>must</u> be specified in the Exchange field<br>in the contest configuration panel and only this multiplier will not count.
 +
| Default value: NO
 +
|-
 +
| '''CUSTOM_MULT_LENGTH'''
 +
| Length of an enumerated numeric multiplier. If number is shorter, it is left padded with zeroes.<br>Used with enumerated multipliers, e.g. "=1-1999".
 +
| Default value: 0
 +
|-
 +
| '''CONTINENT_LIST'''
 +
| Custom, semicolon-separated continent list.<br>Syntax is: CONTINENT_LIST=''continent1;continent2;continent3''
 +
| Default value: EU;NA;SA;AS;AF;OC
 +
|-
 +
| '''MULT1_CONT_LIST'''<br>'''MULT2_CONT_LIST'''<br>'''MULT3_CONT_LIST'''
 +
| Custom, semicolon-separated continent list.<br>Syntax is: MULT1_CONT_LIST=''continent1;continent2;continent3''
 +
| Default value: EU;NA;SA;AS;AF;OC
 +
|-
 +
| '''MULT1_TYPE'''<br>'''MULT2_TYPE'''<br>'''MULT3_TYPE'''
 +
| Multiplier type.<br>Can be CALLSIGN, DXCC, CQZONE, WPX, CUSTOM, HQ, NUM, FIELD, LETTER1, or FX.<br>FX is a calculated multiplier and requires an MULT#_FX key. CUSTOM requires a multiplier list.<br>For contests with more than one multiplier, the use of LIVESCORE_MULT may be necessary<br> for correct reporting.
 +
| Default value: None
 +
|-
 +
| '''MULT1_FX'''<br>'''MULT2_FX'''<br>'''MULT3_FX'''
 +
| A C# expression used to create the effective value of an FX type multiplier.<br>The entered value is available in the object <tt>$FIELDVALUE</tt>.<br>For example <tt>MULT1_FX=$FIELDVALUE.Substring(0,$FIELDVALUE.IndexOf('/'))</tt><br>will make the characters before the slash the actual multiplier.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_NAME'''
+
| '''MULT1_COUNT'''<br>'''MULT2_COUNT'''<br>'''MULT3_COUNT'''
|
+
| Counting method for MULT1, MULT2, and MULT3. Can be PER_BAND, PER_PERIOD,<br>PER_MODE, PER_BAND_MODE, PER_PERIOD_MODE, PER_PERIOD_BAND,<br>PER_PERIOD_BAND_MODE, or ALL.<br>'''Important:''' Do not use e.g. PER_BAND for a single band contest or PER_MODE for a single mode contest.
 +
| Default value: None
 +
|-
 +
| '''MULT1_ADD_DXCC'''<br>'''MULT2_ADD_DXCC'''<br>'''MULT3_ADD_DXCC'''
 +
| Only used with multiplier type <tt>HQ</tt>. Determines if a HQ station counts as a DXCC multiplier.<br>Can be canceled for a selected condition using the multiplier exception <tt>REMOVE_DXCC</tt>.<br>Example: <tt>MULT2_EXCEPTION=DEST->RCVD:^R[1-3]$;REMOVE_DXCC</tt><br>means that HQ stations sending R1, R2, or R3 as exchange will not count for DXCC multipliers.<br>Valid values: YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''MULT1_FIELD'''<br>'''MULT2_FIELD'''<br>'''MULT3_FIELD'''
 +
| Source of MULT.<br>Valid values: RCVD, CALLSIGN, FROM_DXCC, FROM_WPX, RECINFO, RECINFO2, RECINFO3, NONE
 +
| Default value: None
 +
|-
 +
| '''MULT1_DISPLAY'''<br>'''MULT2_DISPLAY'''<br>'''MULT3_DISPLAY'''
 +
| Text to show in MULT column. Syntax: MULT1_DISPLAY=''regex;string''. The ''regex'' can be omitted.<br>Example: <tt><nowiki>MULT1_DISPLAY=DEST->DXCC:^K$|^KL$|^KH6$;S</nowiki></tt><br>Example: <tt>MULT1_DISPLAY=FN</tt>
 +
| Default value: None
 +
|-
 +
| '''MULT1_SHOWERROR'''<br>'''MULT2_SHOWERROR'''<br>'''MULT3_SHOWERROR'''
 +
| Highlight errors in MULT.<br>Valid values: YES and NO.
 +
| Default value: YES
 +
|-
 +
| '''MULT1_BAND_BONUS'''<br>'''MULT2_BAND_BONUS'''<br>'''MULT3_BAND_BONUS'''
 +
| Per band multiplier scaling factor. Syntax MULT1_BAND_BONUS=band;scaling.<br>Example: <tt>MULT1_BAND_BONUS=80;2</tt> doubles the multiplier count for the 80m band.
 +
| Default value: 1
 
|-
 
|-
| '''FIELD_RECINFO_NUMERIC'''
+
| '''MULT1_BONUS'''<br>'''MULT2_BONUS'''<br>'''MULT3_BONUS'''
 +
| Bonus score for a defined achievement in V/U/SHF contests with EDI log submission.<br>Example: With country defined as a "multiplier" number one, <tt>MULT1_BONUS=100</tt> will add<br>100 points to the total score for each new country worked.<br>Affects the EDI keys <tt>CWWLs</tt>, <tt>CExcs</tt>, and <tt>CDXCs</tt>.<br>'''Has no effect on on-screen scoring or Cabrillo export.'''
 +
| Default value: 0
 
|-
 
|-
| '''FIELD_RECINFO_RGX_CHECK'''
+
| '''MULT1_EXCEPTION'''<br>'''MULT2_EXCEPTION'''<br>'''MULT3_EXCEPTION'''
 +
| Exception from the general rule for MULT.<br>Syntax: <tt>MULT1_EXCEPTION=boolean;multiplier definition</tt>.<br>The boolean function can either be a regular expression (c.f. above) or <tt>FX()</tt> expression.<br>Example: <tt><nowiki>MULT1_EXCEPTION=DEST->DXCC:^K$|^VE$;CUSTOM_MULT_LIST</nowiki></tt><br>will use the custom list (normally last in the contest definition file)<br>to determine multipliers for US and Canadian stations.<br>Example: <tt><nowiki>MULT1_EXCEPTION=FX("CONFIG->CALLSIGN"<>"K1DG");NONE</nowiki></tt><br>will not count this multiplier for anyone except Doug K1DG.<br>However, a less roundabout way to achieve the same is<br><tt><nowiki>MULT1_EXCEPTION=!CONFIG->CALLSIGN:^K1DG$;NONE</nowiki></tt><br>Valid values of the multiplier definition are: <tt>PFX_AREA, WPX, NONE,<br>CUSTOM_MULT_LIST, REMOVE_DXCC, VALUE:###, or LETTER1.</tt>
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_RGX_SEL_POS'''
+
| '''MULT1_MULTIPLIER'''<br>'''MULT2_MULTIPLIER'''<br>'''MULT3_MULTIPLIER'''
 +
| Multiplication factor for a selected value of MULT. Syntax <tt>multiplier;factor</tt>.<br>For instance <tt>MULT1_MULTIPLIER=AZ;4</tt> means all "AZ" are worth four multipliers.<br>One MULT1_MULTIPLIER line is required for each value of MULT1 which has a multiplier.
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_TYPE'''
+
| '''MULT1_REPEAT'''<br>'''MULT2_REPEAT'''<br>'''MULT3_REPEAT'''
 +
| Specifies a list of values of MULT and the number of times they count as multipliers.<br>For instance <tt>MULT1_REPEAT=VD[3];PA[2]</tt> means the first three "VD" and the first<br>two "PA" count as multipliers. If only a multiplier without a bracketed number is listed,<br>the number is one. '''Important: This function is not correctly implemented in DXLog's bandmap.'''
 +
| By default multipliers only count once
 +
|-
 +
| '''MULT1_CONT_LIST'''<br>'''MULT2_CONT_LIST'''<br>'''MULT3_CONT_LIST'''
 +
| List used when MULT is of type CONT.
 +
| Default value: EU;NA;SA;AS;AF;OC
 +
|-
 +
| '''MULT1_NO_ALERT'''<br>'''MULT2_NO_ALERT'''<br>'''MULT3_NO_ALERT'''
 +
| Hides the multiplier and QSY alert at the bottom of the screen for the multiplier.<br>Valid values: YES and NO.
 +
| Default value: NO
 +
|-
 +
|}
 +
 
 +
=== Rate window keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''STATS_TYPE'''
 +
| Type of statistics in Rate window.<br>Valid values: STANDARD and WRTC.
 +
| Default value: STANDARD
 +
|-
 +
| '''DISPLAY_TIME_ON_PER_MODE'''
 +
| Display time on per mode in Rate window.
 +
| Default value: NO
 +
|-
 +
| '''DISPLAY_LAST_MODE_CHANGE'''
 +
| Display time of last mode change in Rate window.
 +
| Default value: NO
 +
|-
 +
|}
 +
 
 +
=== Band change rule keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''BAND_MIN_LIMITS'''
 +
| Bandwise minimum and maximum times. Only used by Bande Basse local Italian contest.<br>Syntax: <tt>BAND_MIN_LIMITS=band;maxminutes;minfromlastqsominutes.</tt>
 
|
 
|
 
|-
 
|-
| '''FIELD_RECINFO_VISIBLE'''
+
| '''MULTISINGLE_RULE10_ENABLED'''
|
+
| 10-minute rule for Multi-Single operation.
 +
| Default value: YES
 +
|-
 +
| '''MULTISINGLE_RULE10_FOR_MULT'''
 +
| 10-minute rule applies to multiplier station.
 +
| Default value: YES
 +
|-
 +
| '''MULTISINGLE_RULE10_MINUTES'''
 +
| Actual number of minutes for 10-minute rule.
 +
| Default value: 10
 +
|-
 +
| '''MULTISINGLE_RULE10_CHECKMODE'''
 +
| Checking principle for 10-minute rule.
 +
| Default value: PER_BAND
 +
|-
 +
| '''MULTITWO_RULE10_ENABLED'''
 +
| 10-minute rule for Multi-Two operation.
 +
| Default value: NO
 +
|-
 +
| '''MULTIOP_BANDCHANGECOUNTER_ENABLED'''
 +
| Band change counter for multi operator operation enabled.
 +
| Default value: YES
 +
|-
 +
| '''MULTIOP_BANDCHANGES_ALLOWED'''
 +
| Semicolon-separated list with number of band changes allowed in one hour in multi operator operation.<br>The same number of entries as MULTIOP_BANDCHANGES_CBR_TRANSMITTERS.
 +
| Default value: 8
 +
|-
 +
| '''MULTIOP_BANDCHANGES_CHECKMODE'''
 +
| Type of counting method for band changes in multi operator operation.<br>Valid values: PER_BAND or PER_BAND_MODE
 +
| Default value: PER_BAND
 +
|-
 +
| '''MULTIOP_BANDCHANGES_TYPE'''
 +
| Semicolon-separated list with type of band changes counted for band change rule in<br>multi operator operation. Valid values are R, RM, or ALL.<br>R is for M/2 and keeps two separate counters.<br>RM is for M/1 where you have a separate counter for the Run and Multiplier stations.<br>ALL means a single, common counter for all station types.<br>The list must have the same number of entries as MULTIOP_BANDCHANGES_CBR_TRANSMITTERS.
 +
| Default value: R
 +
|-
 +
| '''MULTIOP_BANDCHANGES_CBR_CATEGORIES'''
 +
| Semicolon-separated list of Cabrillo operator categories subject to band change rule.
 +
| Default value: MULTI-OP
 +
|-
 +
| '''MULTIOP_BANDCHANGES_CBR_TRANSMITTERS'''
 +
| Semicolon-separated list of Cabrillo transmitter categories subject to band change rule.
 +
| Default value: TWO
 +
|-
 +
|}
 +
 
 +
=== Contest score keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''SCORE'''
 +
| Scoring principle.<br>Valid values: BY_BAND, BY_BAND_MODE, BY_PERIOD, BY_PERIOD_BAND, and BY_PERIOD_BAND_MODE.<br>Additional values are BY_MODE_GROUP and BY_BAND_GROUP. Their function is unknown.
 +
| Default value: BY_BAND
 +
|-
 +
| '''SCORE_DISPLAY'''
 +
| Displayed columns in Summary window. Available elements: BAND, QSO, POINTS, MULT, MULT1,<br>MULT2, MULT3, DUP, AVG, AVG0, AVG1, QTC, PERIOD, BAND, and MODE.<br>A string within parenthesis following the element name will set the column header.<br>Per mode display can be achieved by including the relevant mode(s) within curly brackets.<br>Multiple modes are separated by '+'.<br>Example: <tt>SCORE_DISPLAY=BAND;QSO(SSB){SSB};QSO(CW){CW};QSO(DIGI){RTTY+PSK31+PSK63};DUP</tt><br>will group all RTTY, PSK31, and PSK63 QSO under the same heading.<br>Elements can be conditional using the <tt>*+NN:MM:LL></tt> syntax or <tt>*RGX:</tt> followed by a regular expressions (see above).<br>Example: <tt>*-K:VE></tt> will display the column if your station is not a K or VE station.<br>Example: <tt>*+SM:OZ:LA:OH></tt> will display the column only if you are a SM, OZ, LA, or OH station.
 +
| Default value: BAND;QSO;MULT1(MULT);POINTS
 +
|-
 +
<!-- | '''SCORE_TOTAL'''
 +
| Principle for total score.<br>Valid values: TOTAL, BY_BAND_GROUP, and BY_MODE_GROUP.
 +
| Default value: TOTAL
 +
|- -->
 +
| '''SCORE_TOTAL_FX'''
 +
| Formula for calculating total score for a QSO. Uses FLEE syntax which includes e.g. If().<br>Example: <tt>SCORE_TOTAL_FX=$FIELDVALUE.Points*$FIELDVALUE.Mult1+$FIELDVALUE.Mult3</tt>
 +
| Default value: SCORE_TOTAL_FX=<br>$FIELDVALUE.Points*($FIELDVALUE.Mult1+<br>$FIELDVALUE.Mult2+$FIELDVALUE.Mult3)
 +
|-
 +
<!-- | '''SCORE_BAND_GROUP'''
 +
| List of bands for PER_BAND_GROUP scoring.<br>Syntax: SCORE_BAND_GROUP=bandgroup1{band1,band2,band3};bandgroup2{band4,band5}
 +
| No default value
 +
|-
 +
| '''SCORE_MODE_GROUP'''
 +
| List of modes for PER_MODE_GROUP scoring.<br>Syntax: SCORE_MODE_GROUP=modegroup1{mode1,mode2};modegroup2{mode3,mode4}
 +
| No default value
 +
|- -->
 +
|}
 +
 
 +
=== QSO points keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''POINTS_TYPE'''
 +
| Type of points.<br>Valid values: CALC, QRB, QRB_EXCHANGE+CALCF, QRB+CALCF, QRB+GRIDP2, RAEM, and FROM_TABLE()<br>CALC expects the presence of POINTS_FIELD_BAND_MODE keys. QRB means one point per kilometer.<br>QRB_EXCHANGE+CALCF requires at least one POINTS_CALC_F key and uses a grid in the<br>configuration panel's Exchange field for QRB calculation. QRB only works with 6-position grids.<br>QRB+CALCF requires at least one POINTS_CALC_F key and uses the configuration panel's<br>Grid field for QRB calculation. RAEM uses the special RAEM contest point system.<br>QRB+GRIDP2 is the number of large grids in distance plus two.<br>FROM_TABLE(''filename;keytype;sourcekey;destkey'') requires a database text file<br>that maps an exchange value to points. ''keytype'' is always INT,<br>''sourcekey'' is always "EXCHANGE", ''destkey'' can be RCVD, RECINFO, RECINFO2, or RECINFO3.<br>The format of each line in the file is ''sourcekey value;destkey value=points''.
 +
| Default value: CALC
 +
|-
 +
| '''POINTS_BAND_BONUS'''
 +
| Per band scaling factor. Syntax POINTS_BAND_BONUS=band;scaling.<br>Example: <tt>POINTS_BAND_BONUS=160;2</tt> doubles the points number on the 160m band.
 +
| Default value: 1 on all bands.
 +
|-
 +
| '''POINTS_FIELD_BAND_MODE'''
 +
| Conditional point calculation.<br>Syntax: <tt>POINTS_FIELD_BAND_MODE=</tt>''regex1;regex2;bandregex;moderegex;points;optionalregex''<br>The <i>points</i> item can be either a numeric (1, 10, etc.) or a field name: <i>RCVD</i>, <i>RECINFO</i>,<br><i>RECINFO2</i>, or <i>RECINFO3</i>.<br>'''Important: When designing points rules, keep in mind the first valid rule encountered, reading from<br>the top, overrides all subsequent rules. This can simplify rule-writing greatly.'''
 +
| No default value
 +
|-
 +
| '''POINTS_CALC_F'''
 +
| Formula for points calculation with <tt>POINTS_TYPE</tt> <tt>QRB_EXCHANGE+CALCF</tt> and <tt>QRB+CALCF</tt>.<br>Syntax: <tt>POINTS_CALC_F=</tt>''sourceregex;pointsformula;bandregex;calculationregex''<br>Example: <tt>POINTS_CALC_F=ALL;VALUE*5.0;^15$;QRB>=100&&QRB<=800</tt><br>multiplies points with 5 on 15m if QRB is between 100 and 800km.<br>All mathematical functions in C# syntax, plus the points number (<tt>VALUE</tt>) are<br>available for expressions. In the ''calculationregex'', the keyword <tt>QRB</tt> can also<br>be used for e.g. comparisons.<br>Additionally, three additional syntax elements are available:<br><tt>VALUE{QRB:''grid''}</tt> which has the value of the distance (in km) from you <u>to</u> ''grid'',<br><tt>VALUE{*QRB:''grid''}</tt> which has the value of distance <u>from</u> ''grid'' to the party station, and<br><tt>VALUE{QRB:IARU}</tt> which has the value of the distance according to the IARU R1 rules<br>for 6 and 4m MGM contests which is the distance between the centers of the origin and<br>destination large square (four first characters) rounded up and if same, 50 points.
 +
| No default value
 +
|-
 +
|}
 +
 
 +
=== Progress tracking keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''WINDOWS_CML_ENABLED'''
 +
| Enable custom multiplier window #1.
 +
| Default value: NO
 +
|-
 +
| '''WINDOWS_CML2_ENABLED'''
 +
| Enable custom multiplier window #2.
 +
| Default value: NO
 +
|-
 +
| '''WINDOWS_CML3_ENABLED'''
 +
| Enable custom multiplier window #3.
 +
| Default value: NO
 +
|-
 +
| '''WINDOWS_CML_NAME'''
 +
| Name of custom multiplier #1.
 +
| No default value
 +
|-
 +
| '''WINDOWS_CML2_NAME'''
 +
| Name of custom multiplier #2.
 +
| No default value
 +
|-
 +
| '''WINDOWS_CML3_NAME'''
 +
| Name of custom multiplier #3.
 +
| No default value
 +
|-
 +
| '''WINDOWS_CML_LIST_FX'''<br>'''WINDOWS_CML2_LIST_FX'''<br>'''WINDOWS_CML3_LIST_FX'''
 +
| C# expression for the multipliers listed in custom multiplier window for MULT.<br>Syntax: <tt>WINDOWS_CML_LIST_FX=function</tt>.<br>Example: <br><tt><nowiki>WINDOWS_CML_LIST_FX=GetList_PrefixArea(dxccList,"^(VK|ZL)$")</nowiki></tt><br>Example:<tt><br><nowiki>WINDOWS_CML_LIST_FX=GetList_CustomArray("A|C|CA|CC|CE|V|VI|Z","|")</nowiki></tt>
 +
| No default value
 +
|-
 +
| '''WINDOWS_CML_DATA'''<br>'''WINDOWS_CML2_DATA'''<br>'''WINDOWS_CML3_DATA'''
 +
| Source of data for custom multiplier window 1, 2, and 3.<br>Valid values: MULT1, MULT2, MULT3, QSODIFF, QSODIFF_SP, and QSODIFF_CQ.
 +
| No default value
 +
|-
 +
| '''WINDOWS_CML_SHOW_GROUP'''<br>'''WINDOWS_CML2_SHOW_GROUP'''<br>'''WINDOWS_CML3_SHOW_GROUP'''
 +
| Controls if custom multiplier window 1, 3, and 3 show the multipliers grouped,<br>if groups are defined.<br>Valid values: YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''WINDOWS_CML_RESIZABLE'''<br>'''WINDOWS_CML2_RESIZABLE'''<br>'''WINDOWS_CML3_RESIZABLE'''
 +
| Controls if custom multiplier windows are resizable.
 +
| Default value: NO
 +
|-
 +
| '''WINDOWS_CML_LABELS_IN_ROW'''<br>'''WINDOWS_CML2_LABELS_IN_ROW'''<br>'''WINDOWS_CML3_LABELS_IN_ROW'''
 +
| Controls number of MULT labels in each row of its custom multiplier window.<br>Valid values: -1 and positive integers. -1 means DXLog default 10.
 +
| Default value: -1
 +
|-
 +
| '''WINDOWS_CML_ALL_LABELS_IN_ROW'''<br>'''WINDOWS_CML2_ALL_LABELS_IN_ROW'''<br>'''WINDOWS_CML3_ALL_LABELS_IN_ROW'''
 +
| Controls the number of MULT labels in each row of its custom multiplier window<br>when all bands are displayed.<br>Valid values: -1 and positive integers. -1 means DXLog default 20.
 +
| Default value: -1
 +
|-
 +
| '''WINDOWS_CML_HIDDEN_CONT'''<br>'''WINDOWS_CML2_HIDDEN_CONT'''<br>'''WINDOWS_CML3_HIDDEN_CONT'''
 +
| Hides a custom multiplier window for stations from selected continents.<br>Currently not used in any contest.
 +
| Default value: None
 +
|-
 +
| '''WINDOWS_CML_HIDDEN_DXCC'''<br>'''WINDOWS_CML2_HIDDEN_DXCC'''<br>'''WINDOWS_CML3_HIDDEN_DXCC'''
 +
| Hides a custom multiplier window for stations from selected DXCC.<br>Syntax: <tt>WINDOWS_CML_HIDDEN_DXCC=list</tt><br>Example: <tt>WINDOWS_CML_HIDDEN_DXCC=*+G;GI;GW;GM;GJ;GU;GD</tt><br>hides the custom multiplier window for UK stations.<br>Example: <tt>WINDOWS_CML_HIDDEN_DXCC=*-SM;LA;OZ;OH</tt><br>shows the custom multiplier window only for Scandinavian stations.
 +
| No default value
 +
|-
 +
| '''WINDOWS_WKD_DXCC_ENABLED'''
 +
| Enables worked DXCC window.<br>'''Important:''' The worked DXCC window will only update on logging if DXCC is a<br>
 +
valid multiplier for the contest. If you want to use this window for e.g.,<br>
 +
a VHF contests, you must define a zero-worth DXCC multiplier. E.g.<br><tt>MULT2_TYPE=DXCC</tt><br>
 +
<tt>MULT2_FIELD=FROM_DXCC</tt><br><tt>MULT_SUM=NO</tt><br>Valid values: YES and NO.
 +
| Default value: NO
 +
|-
 +
| '''WINDOWS_WKD_DXCC_HIDDEN_CONT'''
 +
| Hides worked DXCC window for stations from selected continent.<br>Example: <tt>WINDOWS_WKD_DXCC_HIDDEN_CONT=*-AS<tt> shows only the<br>worked DXCC window for Asian stations.
 +
| No default value
 
|-
 
|-
| '''FIELD_RECINFO2_CHECK_FORMAT_FX'''
+
| '''WINDOWS_WKD_DXCC_HIDDEN_DXCC'''
|
+
| Hides worked DXCC window for stations from selected DXCC.<br>C.f. WINDOWS_CML_HIDDEN_DXCC above for syntax.
 +
| No default value
 
|-
 
|-
| '''FIELD_RECINFO2_COPY'''
+
| '''WINDOWS_WKD_DXCC_SHOW_ONLY_CONT'''
|
+
| Show only entities from the listed continents in the worked DXCC window.<br>Example: <tt>WINDOWS_WKD_DXCC_SHOW_ONLY_CONT=NA;SA</tt> shows<br>only NA and SA entities in the worked DXCC window.
 +
| No default value
 
|-
 
|-
| '''FIELD_RECINFO2_COPY_RGX_EXC'''
+
| '''WINDOWS_WKD_DXCC_CONT_FILTER'''
|
+
| Defines which DXCC entities from a selected continent to show in the<br>worked DXCC window. Example:<br><tt>WINDOWS_WKD_DXCC_CONT_FILTER=SA:9Y;P4;PJ2;PJ4</tt> will only<br>include 9Y, P4 and PJ2 from South America.<br>You can have several of this key.
 +
| No default value
 
|-
 
|-
| '''FIELD_RECINFO2_FORMAT_FX'''
+
| '''WINDOWS_WKD_DXCC_HIDE_DXCC'''
|
+
| Hides a list of DXCC entities from the worked DXCC window.<br>Example: <tt>WINDOWS_WKD_DXCC_HIDE_DXCC=K;VE</tt> hides US<br>and Canada from the worked DXCC window.
 +
| No default value
 
|-
 
|-
| '''FIELD_RECINFO2_FX_CHECK'''
+
| '''WINDOWS_WKD_GRID_ENABLED'''
|
+
| Enables worked grids window.<br>Valid values: YES and NO.
 +
| Default value: NO
 
|-
 
|-
| '''FIELD_RECINFO2_MANDATORY'''
+
| '''WINDOWS_WKD_PFX_ENABLED'''
|
+
| Enables worked prefixes window.<br>Valid values: YES and NO.
 +
| Default value: NO
 
|-
 
|-
| '''FIELD_RECINFO2_MANDATORY_RGX_EXC'''
+
| '''WINDOWS_WKD_PFX_HIDDEN_CONT'''
|
+
| Hides worked prefixes window for stations from selected continent.<br>C.f. WINDOWS_WKD_DXCC_HIDDEN_CONT above for syntax.
 +
| Default is to hide nothing
 
|-
 
|-
| '''FIELD_RECINFO2_MAX_LENGTH'''
+
| '''WINDOWS_WKD_PFX_HIDDEN_DXCC'''
|
+
| Hides worked prefixes window for stations from selected DXCC.<br>C.f. WINDOWS_CML_HIDDEN_DXCC above for syntax.
 +
| Default is to hide nothing
 
|-
 
|-
| '''FIELD_RECINFO2_MIN_LENGTH'''
+
| '''WINDOWS_WKD_PFX_DATA'''
|
+
| Source of worked prefixes data.<br>Valid values: MULT1, MULT2, and MULT3.
 +
| No default value
 
|-
 
|-
| '''FIELD_RECINFO2_NAME'''
+
|}
|
+
 
 +
=== Livescore keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''LIVESCORE_CONTEST_NAME'''
 +
| Contest name used for live score reporting. If the string contains<br><tt>{MODE}</tt> this will be replaced by the current contest mode capitalized.
 +
| Default value: Value of CABRILLO_CONTEST_NAME.
 
|-
 
|-
| '''FIELD_RECINFO2_NUMERIC'''
+
| '''LIVESCORE_BAND'''
|
+
| List of band categories used for live score reporting.<br>List must either have one single value of the same number of items as CABRILLO_BAND.<br>If a single value, this is valid for all categories. Band names are Cabrillo convention.<br>Non standard band categories recognized by score boards are: 2-BAND, 3-BAND, LOW-BAND, and HIGH-BAND.
 +
| Default value: Value of CABRILLO_BAND
 
|-
 
|-
| '''FIELD_RECINFO2_RGX_CHECK'''
+
| '''LIVESCORE_OPERATOR'''
|
+
| List of types of operation used for live score reporting.<br>List must have the same number of items as CATEGORIES.
 +
| Default value: Value of CABRILLO_OPERATOR
 
|-
 
|-
| '''FIELD_RECINFO2_RGX_SEL_POS'''
+
| '''LIVESCORE_POWER'''
|
+
| List of output power classes used for live score reporting.<br>List must have the same number of items as CLASS.
 +
| Default value: Value of CABRILLO_POWER
 
|-
 
|-
| '''FIELD_RECINFO2_TYPE'''
+
| '''LIVESCORE_TRANSMITTER'''
|
+
| List of number of transmitters categories used for live score reporting.<br>List must have the same number of items as CATEGORIES.
 +
| Default value: Value of CABRILLO_TRANSMITTER
 
|-
 
|-
| '''FIELD_RECINFO2_VISIBLE'''
+
| '''LIVESCORE_ASSISTED'''
|
+
| List of assistance categories used for live score reporting.<br>List must have the same number of items as mode CATEGORIES.
 +
| Default value: Value of CABRILLO_ASSISTED
 
|-
 
|-
| '''FIELD_RECINFO3_CHECK_FORMAT_FX'''
+
| '''LIVESCORE_MODE'''
|
+
| List of modes used for live score reporting.<br>List must have the same number of items as MODES.
 +
| Default value: Value of CABRILLO_MODE
 
|-
 
|-
| '''FIELD_RECINFO3_COPY'''
+
| '''LIVESCORE_CATEGORY_MODES'''
|
+
| List of contest mode categories used for live score reporting.<br>List must have the same number of items as CATEGORY_MODES.
 +
| Default value: Value of CATEGORY_MODES
 
|-
 
|-
| '''FIELD_RECINFO3_COPY_RGX_EXC'''
+
| '''LIVESCORE_MULT'''
|
+
| List of multiplier "names" in numerical order used for live score reporting.<br>Must have the same number of items as contest multipliers.<br>Used when the multiplier type is not explicit, such as grid square.<br>Valid multiplier types are <tt>ZONE, COUNTRY, STATE, GRIDSQUARE,<br>WPXPREFIX, PREFIX,</tt> and <tt>HQ</tt>.
 +
| By default DXLog recognizes "country",<br>"zone", "wpxprefix", and "state".
 
|-
 
|-
| '''FIELD_RECINFO3_FORMAT_FX'''
+
|}
|
+
 
 +
=== QTC keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''QTC_ENABLED'''
 +
| Enables QTC mechanics.
 +
| Default value: NO
 
|-
 
|-
| '''FIELD_RECINFO3_FX_CHECK'''
+
| '''QTC_SEND_ENABLED'''
|
+
| Enables QTC sending.
 +
| Default value: !SOURCE->CONT:^EU$
 
|-
 
|-
| '''FIELD_RECINFO3_MANDATORY'''
+
| '''QTC_RECV_ENABLED'''
|
+
| Enables QTC receiving.
 +
| Default value: SOURCE->CONT:^EU$
 
|-
 
|-
| '''FIELD_RECINFO3_MANDATORY_RGX_EXC'''
+
| '''QTC_SEND_RGX'''
|
+
| Regular expression controlling the transmission of QTC.
 +
|Default value: DEST->CONT:^EU$
 
|-
 
|-
| '''FIELD_RECINFO3_MAX_LENGTH'''
+
| '''QTC_RECV_RGX'''
|
+
| Regular expression controlling the reception of QTC.
 +
|Default value: !DEST->CONT:^EU$
 
|-
 
|-
| '''FIELD_RECINFO3_MIN_LENGTH'''
+
|}
|
+
 
 +
=== Other keys ===
 +
 
 +
{|class="wikitable"
 +
|+style="text-align:Left;"|
 +
| '''ADIF_KEYS'''
 +
| Allows for including custom keys in ADIF export.<br>The syntax is <tt>ADIF_KEYS=</tt>''ADIFKEY;expression;regex''.<br>''regex'' is optional but must evaluate as true for the key to be included in the export.<br>The syntax for ''expression'' is C# and based on internal <tt>DXQSO</tt> object structure.<br>Received exchanges are <tt>$VALUE.Rcvd</tt>, <tt>$VALUE.Rcvd4</tt>, <tt>$VALUE.RecInfo</tt>,<br><tt>$VALUE.RecInfo2</tt>, and <tt>$VALUE.RecInfo3</tt>.<br><tt>Rcvd4</tt> is the <tt>Rcvd</tt> object without the signal report.<br>So to, for instance, export the received exchange as US/VE state use<br><tt><nowiki>ADIF_KEYS=STATE;$VALUE.Rcvd4;DEST->DXCC:^K$|^VE$</nowiki></tt>.<br>To export the second part of the exchange as operator name use <tt>ADIF_KEYS=NAME;$VALUE.RecInfo</tt><br>The following <tt>$VALUE.xxx</tt> keys are available: <tt>Sent, Rcvd, Rcvd4, RecInfo, RecInfo2,<br>RecInfo3, Az, Mult, Mult1, Mult2, Mult3, Lp, Period, Band, Mode, Callsign,<br>QRB (integer), Stn, OriginStnID, Operator,</tt> and <tt>RadioVFO</tt>.<br>Please note that you can also use C# style string manipulation such as<br><tt>Substring(start, length)</tt> etc. There is no limit on the number of<br><tt>ADIF_KEYS</tt> lines in a contest definition file. The keyword $EXCHANGE or fixed string are also allowed,<br>e.g., <tt>ADIF_KEYS=MY_SIG;WWFF</tt> and <tt>ADIF_KEYS=MY_SIG_INFO;$EXCHANGE</tt>.
 +
|Default value: None
 
|-
 
|-
| '''FIELD_RECINFO3_NAME'''
+
| '''ASTROPHYSICS'''
|
+
| Enables DXLog's propagation enhancing features.<br>Valid values: YES and NO.
 +
| Default value: NO
 
|-
 
|-
| '''FIELD_RECINFO3_NUMERIC'''
+
| '''OVERRIDE_INVALID_QSO_MESSAGE'''
|
+
| Suppress invalid QSO message for selected cases.<br>Syntax is <tt>OVERRIDE_INVALID_QSO_MESSAGE=</tt>''IncaseRegex;AndRegex''<br>Example: <tt>OVERRIDE_INVALID_QSO_MESSAGE=DEST->DXCC:^K$;DEST->RCVD:^$</tt> will<br>suppress complaints about invalid QSO when the RCVD field is empty US stations.<br>Note that this is a legacy function with limited usefulness. To make sure stations show up<br>correctly in the bandmap without valid exchanges you typically need to add dummy<br>rules that will prevent errors to show anyway.
 +
| Default value: None
 
|-
 
|-
| '''FIELD_RECINFO3_RGX_CHECK'''
+
| '''SELF_SPOT_ALLOWED'''
|
+
| Enables spotting of own station.<br>Either a single YES/NO or a semicolon separated list of YES/NO with<br>the same number of entries as CATEGORIES.
 +
| Default value: NO
 
|-
 
|-
| '''FIELD_RECINFO3_RGX_SEL_POS'''
+
| '''SELF_SPOT_MINPERIOD'''
|
+
| Controls the minimum time in minutes between spots of own station.
 +
| Default value: 10
 
|-
 
|-
| '''FIELD_RECINFO3_TYPE'''
+
| '''SELF_SPOT_PER_RADIO'''
|
+
| Controls whether the self spotting period is per radio or per station.
 +
| Default value: YES
 
|-
 
|-
| '''FIELD_RECINFO3_VISIBLE'''
+
| '''SPRINT_LOGIC_ALLOWED'''
|
+
| Allow sprint logic check box in the Standard Messages panel.
 +
| Default value: NO
 
|-
 
|-
| '''FIELD_RST_3RD_LETTER'''
+
| '''WARNING_FILE'''
|
+
| Name of a frequency range warning file located in <tt>%appdata%\DXLog\Database</tt>.<br>The format of each line in the warning file is:<br><tt>Mode regular expression;frequency range;Message</tt><br>Example:<br><tt><nowiki>CW;3400-3520;Warning: Operation not allowed on this frequency</nowiki><br><nowiki>CW;3550-3900;Warning: Operation not allowed on this frequency</nowiki><br><nowiki>SB;3400-3600;Warning: Operation not allowed on this frequency</nowiki><br><nowiki>SB;3675-3700;Warning: Operation not allowed on this frequency</nowiki><br><nowiki>SB;3725-3900;Warning: Operation not allowed on this frequency</nowiki></tt><br>'''Important:''' File name casing must be correct for online update to work.
 +
| No default value
 
|-
 
|-
| '''FIELD_SENT_VISIBLE'''
+
| '''WINDOWS_ON4KST_ENABLED'''
|
+
| Enables ON4KST messaging window
 +
| Default value: NO
 
|-
 
|-
|  '''FIELD_STN_VISIBLE'''
 
 
|}
 
|}
  
==Special Configuration Entries==
+
==Less obvious constructs==
 +
 
 +
Entry type based on DXCC of logged station.
 +
 
 +
<tt>FIELD_RCVD_TYPE=DXCC:PA=MULT;!DXCC:PA=NR</tt>
 +
 
 +
Other multiplier than the defined.
 +
 
 +
<tt>MULT1_EXCEPTION=!SOURCE->DXCC:^(JW|JX|LA|OH|OH0|OJ0|OX|OY|OZ|SM|TF)$;PFX_AREA</tt>
 +
 
 +
Zero padding of an exchange.
 +
 
 +
<tt>POINTS_FIELD_BAND_MODE=DEST->CONT:SOURCE->CONT;!SOURCE->ITUZONE:DEST->RCVD{F=R,2,0};ALL;ALL;3</tt>
 +
 
 +
Using a field value as the QSO score
  
  '''DXC_COMMENT_EXTRACT'''
+
<tt>POINTS_FIELD_BAND_MODE=!CONFIG->EXCHANGE:^ZZ$;ALL;ALL;ALL;RECINFO2</tt>
  This entry is used to extract exchange or multiplier information from DXCluster comments. For example, the line:<br>
 
  DXC_COMMENT_EXTRACT=RECINFO;(AF|AN|AS|EU|NA|OC|SA)[ /\-\.]?\d{1,3};[ /\-\.]<br>
 
  will extract a typical IOTA designation such as AF-025 and insert it into the RECINFO exchange field.
 
  The first part of the configuration (before the ;) defines into which entry field the data should be placed. The second part of the configuration is a
 
  Regex expression that defines the data that is to be matched. Refer to any Regex definition text to determine the proper expression for the data to be extracted.
 
  
  '''DXCC_DB_TYPE=CUSTOM_CTY'''
+
Adding alternative exchanges to multiplier list
  This entry allows the use of a custom country file (for example, R150S.dat). If a custom country file is defined, the selection
 
  in Option|Data files|Country files will be ignored and the country file defined in the config file will be used.
 
  
  '''DXCC_DB_FILENAME=<filename.dat>'''
+
<tt>CFG_MULT_RGX_CHECK=^0?[1-9]$|^[1-8][0-9]?$|^90$|CUSTOM_MULT_LIST<br>
  This entry is used in conjunction with the DXCC_DB_TYPE entry to define the actual data file name. The file format is the same as the normal CTY.DAT file.
+
FIELD_RCVD_RGX_CHECK=DEST->RCVD:^0?[1-9]$|^[1-8][0-9]?$|^90$;DEST->RCVD:CUSTOM_MULT_LIST</tt>

Latest revision as of 17:02, 14 March 2024

Introduction

Contest rules vary greatly and are typically defined by the contest organizers.
The differences can be in points per QSO, multiplier determination and calculations, etc.
To support a wide variety of rules and to allow for easy adding/changing of contest rules in DXLog,
contest rules are defined and controlled through a contest config file.

Contest config files are "semi human readable", plain text files located in the Contest sub-folder in
DXLog's installation folder. A wide range of contest definition files are included in the DXLog standard installation.
The contest config files in the protected installation folder are however not intended for editing or modification
For this, there is a copy of the folder in Windows' unprotected AppData folder structure.
Since this is a hidden folder, a drop down menu item is provided for easy access. (File | Open configuration directory)

Each time DXLog is started, the content of the installation sub-folder and the AppData sub-folder is compared.
If a contest config file in the installation sub-folder is newer than its copy in the AppData sub-folder
(e.g. due to it being updated as part of a new DXLog release), the AppData file is overwritten.

In the opposite case (e.g. due to own modifications of a contest config file), the AppData file remains unchanged.
This means that any modifications of existing contest config files should be done in the AppData folder, but that
such modifications may be overwritten if a newer version is distributed in a later DXLog release.
To secure that a contest config file is not overwritten by future DXLog releases, create a file with a new name.
The same mechanic, with a master folder and an AppData copy, applies to data base (i.e. pre-fill or call history) files.

If you have developed a contest config file that is proven to be correct and that could be useful others, Please contact
the development team to discuss adding it to DXLog's standard contest repertoire.


Configurationpaneltagged3.png
Relation between configuration keys and macros and their related text boxes and drop down menus in the contest configuration panel.

File structure

Each line in a contest definition file usually contains KEY + VALUE pairs. The pair is always separated by the "=" sign. For example:

CONTESTNAME=9A CW

This means the field key is CONTESTNAME and the field value is 9A CW.

Regular expressions

You will see that in many cases DXLog is using regular expressions to verify condition validation and process entries.

If you are not familiar with regular expressions (regex for short) there are many online resources available.
One tutorial can be found here.

For example, regular expressions are used to check if the user keyboard entry is valid against a condition or
set of conditions, for QSO points calculations etc.

Regular expressions in the contest configuration file can be defined as fixed values, but they can
also compare QSO data against fixed values.

Example: We want to validate the user entered data in some of the fields. For example, we want
to validate that the user is allowed to enter NY, FL, GA, or MA in the EXCHANGE field on the contest
configuration screen.

The contest configuration key for this operation is: CFG_MULT_RGX_CHECK.

So to create a validation, as per the previous example, we need the following definition
in the contest config file:

CFG_MULT_RGX_CHECK=^NY$|^FL$|^GA$|^MA$
^ denotes start of the string
$ denotes end of the string
| separates alternative matching patterns, forming a logical or

Another example is to validate that the Exchange field is a two digit number or a six position grid:

CFG_MULT_RGX_CHECK=^([0-9]{2}|[A-R]{2}[0-9]{2}[A-X]{2})$
() surrounds alternative matching patterns
{} forms a repetition of the preceding matching pattern

QSO data is addressed using a origin key (CONFIG, SOURCE, or DEST) and a content key (CALLSIGN, EXCHANGE, DXCC, etc.).
They are combined using "->". Examples of QSO data keys are CONFIG->POWER, SOURCE->DXCC, and DEST->RCVD.

Not all possible combinations of origin keys and content keys are valid. Please see below for valid combinations.

Available origin keys
CONFIG Information originating from contest configuration panel. If empty, derived from callsign.
SOURCE Information relating to own station. Always derived from station callsign.
DEST Information relating to other station.
Available content key combinations
CONFIG or SOURCE or DEST -> CALL or CALLSIGN Callsign.
CONFIG -> CLASS The contest's active power class as selected in the contest configuration panel in upper case.
SOURCE or DEST -> CONT Continent. Two letter acronym.
CONFIG -> CQZONE CQ/WAZ Zone as entered in the contest configuration panel.
SOURCE or DEST -> CQZONE CQ/WAZ Zone derived from the callsign.
CONFIG -> DXCC DXCC prefix as entered in the contest configuration panel.
SOURCE or DEST -> DXCC Official DXCC prefix derived from the callsign where international airspace/waters is "-".
CONFIG -> EXCHANGE The content of the contest exchange field in the contest configuration panel.
CONFIG -> GRID The content of the grid field in the contest configuration panel.
CONFIG -> ITUZONE ITU zone as entered in the contest configuration panel.
SOURCE or DEST -> ITUZONE ITU zone derived from the callsign.
CONFIG -> MODE The chosen contest mode in upper case.
DEST -> MODE The current QSO mode.
CONFIG -> OPNAME The content of the operator name field in the contest configuration panel.
CONFIG -> OVERLAY The overlay menu selection text in upper case. (Note that this is not the Cabrillo overlay)
CONFIG or SOURCE or DEST -> PFX or WPX Callsign prefix per WPX rules.
SOURCE or DEST -> PFX_AREA The callsign prefix formatted as main DXCC prefix plus "." and the prefix digit. E.g. "SM.0" or "EA.7".
Note that DXCC prefixes containing a number keeps this, e.g., OH0DX is prefix area "OH0.0".
CONFIG -> POWER The content of the power field in the contest configuration panel.
DEST -> RCVD First element in the received contest exchange.
DEST -> RECINFO Second element in the received contest exchange.
DEST -> RECINFO2 Third element in the received contest exchange.
DEST -> RECINFO3 Fourth element in the received contest exchange.
CONFIG -> STATE The content of the State/Province/Other field in the contest configuration panel.
CONFIG -> STATION The station category text in upper case. (Not the Cabrillo station category)
DEST -> TIME_HOUR The hour of the QSO time as a string with values from "0" to "23".

Formatting suffix

An origin/content key combination can have a formatting suffix, similar to that for CABRILLO_LINE.
For instance,

DEST->RCVD{F=R,2,0}:SOURCE->ITUZONE

will zero pad the received exchange to a length of two before comparing. ITUZONE and CQZONE are always two digits.

Extension suffix

An origin/content key combination can have an extension suffix, which can also be a regular expression.
For instance

DEST->RCVD:DEST->CONT+[MQY]

will evaluate true when the received exchange is identical to your own continent abbreviation followed by either M, Q, or Y.

Examples

1. We want to validate a value which could change on each entry into the log.

For example, we want to calculate points for each QSO with the same country, on the 160m band, in the CW and SSB mode, with 1 point.

The relevant contest configuration key for QSO points calculation is POINTS_FIELD_BAND_MODE.
To create the calculation, as per the previous example, we need the following definition in the contest config file:

POINTS_FIELD_BAND_MODE=SOURCE->DXCC:DEST->DXCC;ALL;^160$;^(CW|SSB)$;1

We can read this definition in the following way:
If the SOURCE (our) DXCC is the same as DEST (other station's) DXCC and the
band is 160 and the mode is CW or SSB then the QSO is worth 1 point. In the above definition notice
the SOURCE and DEST keys. We can also use the CONFIG key.

2. We want to display a per-mode QSO breakdown for mixed mode contest entry

SCORE=BY_BAND_MODE SCORE_DISPLAY=BAND;QSO;*RGX:CONFIG->MODE:MIX>>QSO(CW){CW};*RGX:CONFIG->MODE:MIX>>QSO(SSB){SSB};MULT1(CTY);DUP;POINTS

Important: The first "QSO" key can not be made conditional due to internal limitations.

Functions and FX expressions

Some keys allow not only keywords but also functions as arguments.

Functions follow C# syntax and have access to all string, number, and boolean manipulation functions in the language plus a number of helper functions.

The keywords available for regular expressions (see above) area also available in functions.

Some keywords assume an expression that returns a string, like MULT1_FX and FIELD_RCVD_CHECK_FORMAT_FX.

Examples:
MULT1_FX=$FIELDVALUE.Substring(0,4)
MULT1_FX=$FIELDVALUE.Substring(0,$FIELDVALUE.IndexOf('/'))

The first example picks the first four characters in the string as multiplier.
The second example picks the string following the first slash ("/") character as multiplier.
Two variables are available: $FIELDVALUE which is the multiplier itself, and $CALLSIGN which is the other station's call.

The available helper string functions are:

Helpers.GetBrazilUF($FIELDVALUE,$CALLSIGN) - Returns the two letter Brazilian region. Uses the exchange if valid,
otherwise derives it from the callsign.

Helpers.GetLastLetter($FIELDVALUE) - Returns the last character of a callsign, including slashed number suffixes

Helpers.GetLastLetterPure($FIELDVALUE) - Returns the last character of a callsign with a slashed prefix and suffixes removed

Helpers.GetOblast($FIELDVALUE) - Returns the Russian region based on field which should be callsign.

Helpers.GetOblastSPLO($FIELDVALUE,$CALLSIGN) - Returns the Russian region based on field which should be RCVD.
Uses the RDA exchange for SP/LO stations to determine oblast and the callsign for all others. Used in UA1DZ Memorial contest.

Helpers.GetPureCall($FIELDVALUE) - Returns the field (callsign) without prefix, slashes, etc.

Helpers.GetPrefixArea($FIELDVALUE, $CALLSIGN) - Returns the prefix area as NN.0

Helpers.GetPrefixAreaVEGeo($FIELDVALUE, $CALLSIGN) - Returns the prefix area as NN.0 but treats
Canadian geographical prefixes (VY2, etc.) as own call areas.

Helpers.GetSARLArea($FIELDVALUE) - Returns the SARL contest call area based on field which should be callsign.

Helpers.GetSuffix($FIELDVALUE) - Returns the callsign suffix (characters after last number) based on field which should be callsign.

Some keywords assume an expression that returns a list of strings, like WINDOWS_CML_LIST_FX.

The available helper list functions are:

GetList_PrefixArea(dxccList,regex) - Creates a multiplier list with all call areas prefixes
Example: GetList_PrefixArea(dxccList,"^LA$") - Creates a multiplier list with all Norwegian call areas.

GetList_PrefixAreaVEGeo(dxccList,regex) - Creates a multiplier list including Canadian (VY1, etc.) call areas
Example: GetList_PrefixAreaVEGeo(dxccList,"^(VE|K)$) - Creates a multiplier list with all US and Canadian prefixes.

GetList_CustomRange(format,start,end) - Creates a list of numbered multipliers
Example: GetList_CustomRange("00",1,6) - Creates the list 00, 01, 02, 03, 04, 05, and 06

GetList_CustomArray(string,separator) - Creates a custom list
Example: GetList_CustomArray("AB|AC|AD|AK|AM","|") - Creates the list AB, AC, AD, AK, and AM

GetList_BrazilUF() - Creates a list containing the 27 Brazilian regions

GetList_Oblast() - Creates a list containing the 85 Russian regions

GetList_SARLArea() - Creates a list containing the 13 SARL contest call areas

GetList_GridArray(center,height,width)) - Creates a list of four letter grids around center
Example: GetList_GridArray(ownGrid,11,11) - Creates a list of 121 grids centered around own location
Example: GetList_GridArray("JP81",9,9) - Creates a list of 81 grids centered around JP81

Some keywords assume an expression returning a number, such as SCORE_TOTAL_FX and POINTS_CALC_F.

SCORE_TOTAL_FX is the formula for the score for an individual QSO. There variables available are
$FIELDVALUE.Points, $FIELDVALUE.Mult1, $FIELDVALUE.Mult2, and $FIELDVALUE.Mult3.
The arithmetic syntax is FLEE. (See below).

Example: SCORE_TOTAL_FX=$FIELDVALUE.Points+$FIELDVALUE.Mult1*2+$FIELDVALUE.Mult2*5
Example: SCORE_TOTAL_FX=$FIELDVALUE.Points*($FIELDVALUE.Mult1+If($FIELDVALUE.Mult2>10,10,$FIELDVALUE.Mult2))

POINTS_CALC_F is the formula for the points for certain QSO conditions.
The syntax for its second element, the points calculation, is also FLEE.

Other keys assume a boolean expression which can be either a regular expression (as described above) or
an FX() expression. Examples are FIELD_RCVD_FX_CHECK and the first argument of MULT1_EXCEPTION.

Examples:
MULT1_EXCEPTION=FX(Helpers.GetLastLetter("CONFIG->CALLSIGN").Equals(Helpers.GetLastLetter("DEST->CALL")));NONE
MULT1_EXCEPTION=FX(("CONFIG->CALLSIGN").Substring(0,3).Equals(("DEST->CALL").Substring(0,3)));NONE
MULT1_EXCEPTION=DEST->RCVD:^[KNS]DE;FX(("DEST->RCVD").Substring(1,2))

The first example does not count the QSO as a multiplier if the last letter is the same in the station's
callsign and own callsign. The second example does not count the QSO as a multiplier if the first three characters
is the same in the station's callsign and own callsign. The third example counts the first two characters of the
exchange as multiplier if it starts with KDE, NDE or SDE.

The available boolean helper functions are:

Helpers.Between(number, min, max) - Returns true if number is between min and max.

Available syntax for arithmetic expressions

Fleesyntax.png

Custom multiplier lists

A custom multiplier list can only be used for multiplier type CUSTOM.
FX type multipliers can not use a listed set of multipliers but rely on a
helper function to create its multiplier list, such as GetList_CustomRange().

Plain list of custom multipliers

A list of custom multipliers is started by [MULTIPLIERS START] and ends with [MULTIPLIERS END].
The syntax for a multiplier having more than one name is shown below. In this example both NK and NR
will count as the same multiplier; Norwich.

Example:

[MULTIPLIERS START]
...
NL=London N1-22
NN=Northampton
NP=Newport
NK{NR}=Norwich
NW=London NW1-11
OL=Oldham
OX=Oxford
...
[MULTIPLIERS END]

Conditional lists of custom multipliers

For contests such as US state QSO parties there are two types of participants with different sets of custom multipliers.
To support this, a multiplier list can be conditional just like default messages. The regular expression can be of any type
and check EXCHANGE, DXCC, CONT or whatever is suitable.

Syntax:

[MULTIPLIERS START]
[VALID FOR=Regex1]
M1=First multiplier 1
M2=First multiplier 2
...
[END VALID FOR]
[VALID FOR=Regex2]
L1=Second multiplier 1
L2=Second multiplier 2
...
[END VALID FOR]
[MULTIPLIERS END]

Example:

[MULTIPLIERS START]
[VALID FOR=CONFIG->EXCHANGE:^ADA$|^ALL$|^ARM$|^BEA$|^BED$|^BER$|^BLA$|^BRA$|^BUX$]
AK=Alaska
AL=Alabama
AR=Arkansas
AZ=Arizona
CO=Colorado
...
[END VALID FOR]
...
[MULTIPLIERS END]

Grouped list of custom multipliers

Multipliers can be grouped for better display in the custom worked multipliers window enabled
with the WINDOWS_CML_ENABLED key. The string following Group-> is the displayed
name of the group. The name has no impact on scoring. The syntax for alternative names for the same
multiplier is different from the straight list. Alternative names for the same multiplier are
instead separated with a slash. In the example below, QU, QC, and QUE will all count as the same
multiplier; Quebec.

Example:

[MULTIPLIERS START]
Group->K1_: CT,MA,ME,NH,RI,VT
Group->K2_: NJ,NY
Group->K3_: DE,PA,MD/DC
...
Group->VE1: NS
Group->VE2: QC/QU/QUE
Group->VE3: ON/ONT
Group->VE4: MB/MAN
...
[MULTIPLIERS END]

Tip: In group names, the underscore character will be displayed as space. This is a simple way to
create an even column width when groups have different length.

General contest description keys

These keys are used for general contest description in the contest config file, such as the contest name, link to the rules etc.
CONTESTGROUP Used for group contest when displaying the config screen for contest selection. For example: DIGITAL MODES, 9A LOCAL CONTEST, etc.
CONTESTNAME The contest name as it will be shown and recognized in the contest selection box.
Note: this can be same as the Cabrillo contest name, but usually it is the full contest name.
This field is mandatory and must be unique for all files in contest definition folder.
CONTESTEXCH Web link to definition of contest exchange. Shown when entering invalid data in configuration panel's exchange field. e.g. https://www.iota-world.org/
CONTESTRULES External HTTP Link to contest rules. Adds "Contest rules" item to Help menu. e.g. https://www.cqww.com/rules.htm
CONTESTWEB External HTTP Link to contest rules. Adds "Contest web" item to Help menu. e.g. https://www.cqww.com

Contest configuration panel control keys

These keys are used for setting the contest configuration variables in the user configuration window.
CATEGORIES Semicolon-separated list of contest categories shown in the category selection
dropdown menu in the contest configuration panel.
Important: When defining own categories, the values of CABRILLO_OPERATOR,
CABRILLO_TRANSMITTER, and CABRILLO_ASSISTED may have to be changed from
their defaults. Also contests with only EDI export needs correct Cabrillo export keys.
C.f the Cabrillo section below.
Default value:
Single operator, assisted;Single operator;Multi-operator, single transmitter;
Multi-operator, two transmitters;Multi-operator, multi-transmitter;Checklog
CATEGORY_MODES Semicolon-separated list of contest modes shown in the mode selection
dropdown menu in the contest configuration panel.
Important: There is no contest mode key for CATEGORY-MODE.
Phone, SSB, and AM are SSB. CW is CW. RTTY is RTTY. Mixed is MIXED.
Digital, PSK31, JT65, FT8, and other digital modes are DIGI.
Default value: CW;SSB;Mixed
CLASS Semicolon-separated list of contest power classes shown in the class selection
dropdown menu in the contest configuration panel.
Default value: High;Low;QRP
CFG_EMAIL_MANDATORY Controls if the Email field in the contest configuration panel requires an entry or can be empty.
Valid values are: YES and NO
Default value: NO
CFG_MULT Controls the use of the exchange field in contest configuration panel. Valid values are: ON and OFF.
If OFF, the exchange field is greyed out.
Default value: OFF
CFG_MULT_DX_ALLOWED Controls if "DX" is an acceptable entry in exchange field. For example in ARRL DX Contest,
all USA/VE stations needs to enter their state/province, while all other stations enters DX here.
Valid values are: YES and NO
Default value: NO
CFG_MULT_SLASH_ALLOWED Allows the use of "/" in the Exchange field as separator for contests where
the exchange can be one or more elements of the same type, such as county-line
stations in some US QSO parties where a station can belong to more than one
counties and thereby represent more than one multiplier in one QSO.
Important: CFG_MULT_SLASH_IGNORED and CFG_MULT_SLASH_ALLOWED must never both be YES.
Valid values are: YES and NO
Default value: NO
CFG_MULT_SLASH_IGNORED Allows the use of "/" in the Exchange field as part of the exchange itself rather than as a separator
Important: CFG_MULT_SLASH_IGNORED and CFG_MULT_SLASH_ALLOWED must never both be YES.
Valid values are: YES and NO
Default value: NO
CFG_MULT_MANDATORY Controls if the exchange field requires an entry or can be empty. Valid values are: YES and NO Default value: NO
CFG_MULT_ERRORTEXT Defines error text which is shown if the validity test for the exchange field fails.
For example, in ARRL DX Contest, if the user enters a state abbreviation which is not in the approved list.
Default value: "Invalid value in exchange field!"
CFG_MULT_FROM Alternative to using a regular expression to check validity of entry in Exhange field.
Valid values are CUSTOM_MULT_LIST and ITUZONE.
Default value: Unused
CFG_MULT_RGX_CHECK Regular expression used to test validity of entry in Exchange field.
Note that the regular expression can include the key CUSTOM_MULT_LIST
meaning that any entry listed in the custom multiplier list is considered valid.
Example: CFG_MULT_RGX_CHECK=^AF$|^AS$|^EU$|^NA$|^OC$|^SA$|CUSTOM_MULT_LIST
Default value: ALL
CFG_CQZONE_ERRORTEXT Defines the error text shown if the entry in the WAZ field fails the validity test. Default value: "Invalid CQ/WAZ zone!"
CFG_CQZONE_MANDATORY Controls if the WAZ field requires an entry or can be empty. Valid values are: YES and NO Default value: NO
CFG_GRID_ERRORTEXT Defines the error text shown if the entry in the GRIDSQUARE field fails the validity test. Default value: "Invalid entry in gridsquare field!"
CFG_GRID_MANDATORY Controls if the GRIDSQUARE field requires an entry or can be blank. Valid values are: YES and NO.
Is automatically set to YES if contest has QRB-based scoring.
Default value: NO
CFG_GRID_RGX_CHECK Regular expression used to test validity of data entered in the GRIDSQUARE field. Default value: ^[A-R][A-R][0-9][0-9][A-X][A-X]$
CFG_ITUZONE_ERRORTEXT Defines error text shown if the entry in the ITU zone field fails the validity test. Default value: "Invalid ITU zone!"
CFG_ITUZONE_MANDATORY Controls if the ITU requires an entry or can be empty. Valid values are: YES and NO Default value: NO
CFG_MYDXCC_ERRORTEXT Defines the error text shown if the entry in the DXCC field fails the validity test. Default value: "Unrecognized DXCC from DXCC field.
Please enter valid country prefix in DXCC field"
CFG_MYDXCC_MANDATORY Controls if the DXCC field requires an entry or can be empty. Valid values are: YES and NO Default value: NO
CFG_OPNAME_ERRORTEXT Defines the error text shown if the entry in the operator name field fails the validity test. Default value: "Operator name field is mandatory!"
CFG_OPNAME_MANDATORY Controls if the operator name field requires an entry or can be empty. Valid values are: YES and NO Default value: NO
CFG_POWER_ERRORTEXT Defines the error text shown if the entry in the power field fails the validity test. Default value: "Invalid value in power field!"
CFG_POWER_MANDATORY Controls if the power field requires an entry or can be empty. Valid values are: YES and NO Default value: NO
CFG_POWER_RGX_CHECK Regular expression used to determine the validity of the power field entry. Default value: ALL
CFG_STATE_ERRORTEXT Defines the error text shown if the entry in the state/province/other field fails the validity test. Default value: "Invalid value in state/other field!"
CFG_STATE_FROM=CUSTOM_MULT_LIST Defines a list-based validity test for the state/province/other field.
Alternative to to using a regular expression.
Default value: absent
CFG_STATE_MANDATORY Controls if the state/province/other field requires an entry or can be empty.
Valid values are: YES and NO
Default value: NO
CFG_STATE_RGX_CHECK Regular expression used to test validity of entry in state/province/other field.
Note that the regular expression can include the key CUSTOM_MULT_LIST
meaning that any entry listed in the custom multiplier list is considered valid.
Example: CFG_STATE_RGX_CHECK=^YL$|^OM$|CUSTOM_MULT_LIST
Default value: ALL
OVERLAY Semicolon-separated list of contest overlays shown in the Overlay
dropdown menu in the contest configuration panel.
Default value:
---;Classic;Rookie;Tribander/Single element;Youth;Novice/Tech;Over 50
OVERLAY_ASSISTED Single keyword or Semicolon-separated list of YES/NO controlling if
an overlay represents an unassisted category.
With a single keyword, this applies to all overlays.
Must have the same number of entries as OVERLAY.
If the selected overlay represents to a NO, incoming cluster spots are blocked.
Default value: YES
STATION Semicolon-separated list of contest station categories shown in the Station
dropdown menu in the contest configuration panel.
Default value:
Fixed;Distributed;Headquarter;Mobile;Portable;
Rover;Rover-Limited;Rover-Unlimited;Expedition;School

Cabrillo export keys

Contest configuration keys

CABRILLO_ASSISTED Semicolon-separated list of mapping of categories to Cabrillo assistance types.
MUST have the same number of entries as the defined contest categories.
Valid list items are ASSISTED and NON-ASSISTED.
Important: When a NON-ASSISTED category is selected, incoming cluster spots are blocked.
Default value:
NON-ASSISTED;ASSISTED;ASSISTED;ASSISTED;ASSISTED;ASSISTED
CABRILLO_ASSISTED_DISABLED No CATEGORY-ASSISTED line will be included in exported file.
Tip: With this set to YES, cluster spots are never blocked.
Default value: NO.
CABRILLO_BAND Semicolon-separated list of band definition names for contests with band-limited categories.
For value AUTO the band category will be ALL unless the log only contains QSO from a single band.
In this case the band category will be this single band. For all other values of the key, log content
is ignored. If only assigned a single value, such as 10M, ALL, or AUTO, this will be valid for all categories.
Must be accompanied by a LIVESCORE_BANDS key when non standard values are used.
Band names are Cabrillo convention 160M, ...6M, 2M, 222, 432, ....
Default value:
AUTO;AUTO;ALL;ALL;ALL;ALL
CABRILLO_CONTEST_NAME Formal contest name for Cabrillo export. If name contains {MODE} this will be replaced
by the selected contest mode capitalized.
No default value
CABRILLO_DEF_RECINFO
CABRILLO_DEF_RECINFO2
CABRILLO_DEF_RECINFO3
Value to use in Cabrillo export if field is empty. Default value: Empty
CABRILLO_EXPORT_TYPE Controls structure of Cabrillo export. Valid values: PER_MODE and ALL. Default value: ALL
CABRILLO_LINE Use: CABRILLO_LINE=FREQ;MODE;DATE;TIME;MYCALL;SENT;NR{F=R,3,0,4}
Data is taken from the field names and added to the Cabrillo line in the
order entered. FREQ represents frequency of QSO, MODE represents mode etc.
For more details on valid keywords and the use of conditional entries, see below.
No default value
CABRILLO_LOCATION Semicolon-separated list of mapping of contest categories to Cabrillo
LOCATION key. If defined, MUST have the same number of entries as the defined
contest categories. Any string is a valid value. If left undefined, contest category
has no effect on LOCATION in Cabrillo export. Alternative to CABRILLO_LOCATION_FIELD.
Default value: Disabled
CABRILLO_LOCATION_FIELD Defines the source of the LOCATION: key in the Cabrillo export.
Valid values are EXCHANGE, STATE, GRID, GRID4, GRID2,
ITUZONE, and CQZONE. Alternative to CABRILLO_LOCATION.
Default value: Disabled
CABRILLO_MODES Semicolon-separated list of mapping of the contest's modes (as defined by the MODES key)
to Cabrillo modes in QSO lines. MUST have the same number of entries as the defined number
of modes for the contest. WWROF defined values are CW, PH, DG, RY, and FM.
See below for the full list of de-facto standard mode acronyms.
Must be accompanied by a LIVESCORE_MODES key when non standard values are used.
Default value: CW;PH
CABRILLO_OPERATOR Semicolon-separated list of mapping of categories to to Cabrillo operator count.
MUST have the same number of entries as the defined contest categories.
Valid list items are SINGLE-OP, MULTI-OP, and CHECKLOG.
Must be accompanied by a LIVESCORE_OPERATOR key when non standard values are used.
Default value:
SINGLE-OP;SINGLE-OP;
MULTI-OP;MULTI-OP;MULTI-OP;CHECKLOG
CABRILLO_OVERLAY Semicolon-separated list of mapping of category overlays to Cabrillo overlays.
MUST have the same number of entries as the defined overlays. Any string is a valid entry.
It is possible to block incoming cluster spots for one or several overlays. C.f. OVERLAY_ASSISTED.
Default value:
;CLASSIC;ROOKIE;TB-WIRES;YOUTH;NOVICE-TECH;OVER-50
CABRILLO_OVERLAY_DISABLED No OVERLAY line will be included in exported file. Default value: NO.
CABRILLO_POWER Semicolon-separated list of mapping of category power classes to Cabrillo power classes.
MUST have the same number of entries as the contest's power classes.
List items can be any string but WWROF defined keywords are HIGH, LOW, and QRP.
Must be accompanied by a LIVESCORE_POWER key when non standard values are used.
Default value: HIGH;LOW;QRP
CABRILLO_QTC_LINE Definition of Cabrillo output for QTC. C.f. CABRILLO_LINE.
Valid keywords are: FREQ, MODE, DATE, TIME, RCVDBY, GRNUM, SENTBY,
QTCTIME, QTCCALL, and QTCSERIAL.
Default value: Disabled
CABRILLO_STATION Semicolon-separated list of mapping of station categories to Cabrillo station categories.
MUST have the same number of entries as the defined station categories. Any string is a valid entry.
Default value:
FIXED;DISTRIBUTED;HQ;EXPLORER;MOBILE;PORTABLE;ROVER;
ROVER-LIMITED;ROVER-UNLIMITED;EXPEDITION;SCHOOL
CABRILLO_TIME Semicolon-separated list of duration for each contest category.
MUST have the same number of entries as there are contest categories.
WWROF defined values are 6-HOURS, 8-HOURS, 12-HOURS, and 24-HOURS.
Default value: Disabled
CABRILLO_TRANSMITTER Semicolon-separated list of mapping of categories to Cabrillo operator counts.
MUST have the same number of entries as the defined contest categories.
WWROF defined values are ONE, TWO, LIMITED, UNLIMITED, and SWL.
Must be accompanied by a LIVESCORE_TRANSMITTER key when non standard values are used.
Default value:
ONE;ONE;ONE;TWO;UNLIMITED;UNLIMITED

CABRILLO_LINE keywords

Important note: If you want to take full control of the columns to e.g. concatenate fields in the export,
this is done by adding a trailing asterisk ("*") to the keys below. This will remove the extra space
following a field to guarantee separation. Extra spaces required to align to certain character positions
can be added using the DUMMY keyword.

Surrounding the keyword with parentheses (e.g., (EXCHANGE)) means the key is optional and will not be included if empty.

Key Content Default format
CALL Logged station's call. {F=L,13, }
DATE Date of QSO. Format YYYY-MM-DD. {F=L,10, }
DUMMY Only spaces. {F=L,5, }
DXCC DXCC of logged station. Derived from CTY database. {F=L,5, }
EXCHANGE Exchange as entered in the contest configuration panel.
Can optionally take a string function instead of formatting arguments within curly brackets.
E.g. EXCHANGE{FX=$FIELDVALUE.Substring(0,4)}
Breaks up slashed entries.
{F=L,6, }
FREQ Frequency in kilohertz. {F=R,6, }
FREQMHZ Frequency in Megahertz. {F=R,6, }
GRID Grid locator as entered in the contest configuration panel. {F=L,6, }
GRID4 First four positions of the grid locator entered in the contest configuration panel. {F=L,6, }
MODE QSO mode with Cabrillo coding. {F=L,2, }
MYCALL Own call as entered in the contest configuration panel. {F=L,13, }
MYCQZONE Own CQ zone as entered in the contest configuration panel. {F=L,2,0,6}
MYDXCC Own DXCC prefix as entered in the contest configuration panel. {F=L,6, }
MYITUZONE Own ITU zone as entered in the contest configuration panel. {F=L,2,0,6}
NOTHING An empty string. Add a trailing asterisk for absolutely nothing. {F=L,0, }
NR Own serial number for the QSO. {F=R,3,0,6}
OPNAME Operator name as entered in the contest configuration panel. {F=L,5, }
PERIOD Contest period. {F=L,2, }
POWER Station power string as entered in the contest configuration panel. {F=L,5, }
PREV_RCVD First element in previously received exchange. {F=L,3,0}
PREV_RECINFO Second element in previously received exchange. {F=L,3,0}
PREV_RECINFO2 Third element in previously received exchange. {F=L,3,0}
PREV_RECINFO3 Fourth element in previously received exchange. {F=L,3,0}
PTS Points of QSO. {F=R,3, }
RCVD1 Received RST. {F=L,3, }
RCVD2 First element in received exchange without RST.
Can optionally take a string function instead of formatting arguments within curly brackets.
E.g., RCVD2{FX=$FIELDVALUE.Substring(0,4)}
{F=L,6, }
RECINFO Second element of received exchange.
Can optionally take a string function instead of formatting arguments within curly brackets.
E.g., RECINFO{FX=$FIELDVALUE.Substring(0,4)}
{F=L,5, }
RECINFO2 Third element of received exchange.
Can take optionally a string function instead of formatting arguments within curly brackets.
E.g., RECINFO2{FX=$FIELDVALUE.Substring(0,4)}
{F=L,5, }
RECINFO3 Fourth element of received exchange.
Can optionally take a string function instead of formatting arguments within curly brackets.
E.g., RECINFO3{FX=$FIELDVALUE.Substring(0,4)}
{F=L,5, }
SENT Sent RST. {F=L,3, }
SLASH The character '/'. Add trailing asterisk to remove separating space. {F=L,1, }
STATE State or province as entered in the contest configuration panel. {F=L,5, }
STN Station. "0" for all stations except radio 2 in SO2R, the multiplier station
in Multi/Single, and Run2 in Multi/Two which all are "1".
{F=L,2, }
TIME Time of QSO. Format HHMM. {F=L,4, }

CABRILLO_LINE formatting and conditionals

CABRILLO_LINE formatting information is contained within curly brackets with the following syntax:

{F=AL,PS,PC(,TS)}

F=: Formatting flag
AL: Alignment, can be L (for left) or R (for right)
PS: Paddes size. Total size of text including character padding.
PC: Character used for filling up to padded size. E.g. 0 for serial numbers.
TS: Total size of field. Space padding to the right is used to reach this size. Optional.

Example: RCVD2{F=R,3,0,4}

Means RCVD2 field value will be aligned right, to a length of 3 characters. The "0" character is
used to pad to the specified length. Total size will be 4 characters (padding with spaces to reach 4).
This means that if RCVD2 field value is "1", it will be formatted as " 001" in the Cabrillo QSO line.

Regardless if total size is specified or not, each field will always be surrounded by spaces.

For some keys it is possible to replace the formatting information with a string operation, using an FX=
syntax and the $FIELDVALUE keyword to represent a string containing the field's characters.

CABRILLO_LINE also supports conditional formatting using a *RGX: syntax.

Example: *RGX:SOURCE->DXCC:^(DL|OE)$>>EXCHANGE{F=L,6, }/NR{F=R,3,0,6};

means the content of the Exchange box in the contest configuration panel station for German and Austrian
stations, otherwise a three position serial number. Both of total length 6.

per-own-DXCC conditional formatting is also supporting using a *NN> syntax

Example: *DL>EXCHANGE{F=L,6, }/NR{F=R,3,0,6};

means the same as the above example, but only for German stations. This conditional can
also be repeated, to cover several DXCC entities.

CABRILLO_QTC_LINE keywords

Key Content Format
FREQ Frequency in kilohertz 6 positions, right adjusted
MODE Mode when receiving QTC 3 positions, left adjusted
DATE Date QTC exchanged 12 positions
TIME Time QTC exchanged 4 positions
RCVDBY Call of receiving station 13 positions, left adjusted
GRNUM Group number of QTC 10 positions, left adjusted
SENTBY Call of sending station 13 positions, left adjusted
QTCTIME Time in QTC line 4 positions
QTCCALL Call in QTC line 13 positions, left adjusted
QTCSERIAL Serial in QTC line 3 positions, right adjusted

Configuration keys' relation to Cabrillo export

Default relation between contest category configuration and Cabrillo export
Key type DXLog Key Cabrillo key Default values
Configuration CATEGORIES Single operator, assisted Single operator Multi-operator, single transmitter Multi-operator, two transmitter Multi-operator, multi-transmitter Checklog
Cabrillo CABRILLO_OPERATOR CATEGORY-OPERATOR SINGLE-OP SINGLE-OP MULTI-OP MULTI-OP MULTI-OP CHECKLOG
Cabrillo CABRILLO_TRANSMITTER CATEGORY-TRANSMITTER ONE ONE ONE TWO UNLIMITED UNLIMITED
Cabrillo CABRILLO_ASSISTED CATEGORY-ASSISTED ASSISTED NON-ASSISTED ASSISTED ASSISTED ASSISTED ASSISTED
Cabrillo CABRILLO_BAND CATEGORY-BAND AUTO AUTO ALL ALL ALL ALL
Default relation between contest overlay configuration and Cabrillo export
Key type DXLog Key Cabrillo key Default values
Configuration OVERLAY --- School Dxpedition Headquarter ...
Cabrillo CABRILLO_OVERLAY CATEGORY-OVERLAY Key not present CLASSIC ROOKIE TB-WIRES ...
Default relation between contest power class configuration and Cabrillo export
Key type DXLog Key Cabrillo key Default values
Configuration CLASS High Low QRP
Cabrillo CABRILLO_POWER CATEGORY-POWER HIGH LOW QRP
Default relation between contest mode category and Cabrillo export
Key type DXLog Key Cabrillo key Default values
Configuration CATEGORY_MODES CW SSB Mixed
Cabrillo N/A CATEGORY-MODE CW SSB MIXED
Mapping of other values of CATEGORY_MODE to CATEGORY-MODE
Value of CATEGORY_MODE Resulting CATEGORY-MODE
Phon* SSB
SSB SSB
FM FM
AM AM
CW CW
RTTY RTTY
FT* DIGI
Digi* DIGI
*PSK* BPSK
All others MIXED
Default relation between available contest QSO modes and Cabrillo export
Key type DXLog Key Cabrillo key Default values
Configuration MODES CW SSB
Cabrillo CABRILLO_MODES QSO CW PH
Default relation between contest band category and Cabrillo export
Key type DXLog Key Cabrillo key Default values
Configuration BANDS 160 80 40 20 15 10
Cabrillo N/A CATEGORY-BAND Value is determined automatically for single operator entries. For multi-operator entries it is always ALL.

De-facto standard Cabrillo QSO line

Cabrilloqsocolumns.png

De-facto standard Cabrillo mode codes
Cabrillo Mode
AM AMTOR
AX Packet AX.25
CO Contestia
CW CW
DO Domino
FM FM
HE Hellschreiber
MF MFSK16
OL Olivia
PH SSB, AM
PM PSK63
PO PSK125
PS PSK31
PT PACTOR
RM RTTYM
RY RTTY
TH THROB
TV SSTV

Band and mode keys


BANDS A semicolon-separated list of allowed bands for the contest.
Valid band names are: 2190, 630, 560, 160, 80, 60, 40, 30, 20, 17,
15, 12, 10, 50, 70, 144, 222, 432, 902, 1296, 2300,
3400, 5650, 10G, and 24G.
Default value: 160;80;40;20;15;10
MODES A semicolon-separated list of modes allowed in the contest.
Not to be confused with CATEGORY_MODES.
Default value: CW;SSB
EDI_BANDS A semicolon-separated list of EDI values for bands specified in BANDS key.
Must contain same number of entries as BANDS key.
Used for generating EDI log files for VHF/UHF/SHF contests in IARU Region I.
Valid values are: 28 MHz, 50 MHz, 70 MHz, 144 MHz, 432 MHz, 1,3 GHz, 2,3 GHz,
3,4 GHz, 5,7 GHz, 10 GHz, 24 GHz, 47 GHz, 76 GHz, 120 GHz, 144 GHz, and 248 GHz.
Note the space between the number and the frequency multiplier and that
commma is used as decimal separator.
No default value and if not set, EDI export is disabled.
DISPLAY_MODE_GROUPING Formatting of display of modes in check multiplier window.
Should always be used if DOUBLE_QSO_MODE_CHECK=PER_MODE_GROUP is used.
Syntax: DISPLAY_MODE_GROUPING=modename1:mode1+mode2;modename2:mode3+mode4
No default value

QSO entry field definition keys

These keys are used to control the layout and behavior of QSO entry fields. The keys set the visibility, length, labels, checking procedures etc.
for each of the fields which the user can enter data or display for any QSO.
FIELD_AZ_VISIBLE Controls the visibility of the Azimuth field.
Mostly used on VHF/UHF/SHF to get the azimuth angle from a gridsquare.
Valid values are YES and NO.
Default value: NO
FIELD_CALLSIGN_WWL_CHECK If YES, an entry in the log callsign field will be checked for a gridsquare entry.
If a gridsquare closer than 4000km away is found, the callsign field value will be copied to the gridsquare
entry field and the azimuth angle will be calculated and shown. Recommended for VHF/UHF
contests where you turn your antenna a lot. Valid values are YES and NO.
Default value: NO
FIELD_MODE_VISIBLE If YES, or MIXED and contest mode category name contains "mixed" or "digi", overrides menu option
Options|Log|Always show mode in QSO lines and makes the mode column always
visible in the log. If NO, has no effect.
Valid values are YES, NO, and MIXED.
Default value: NO
FIELD_MODE_NAME Heading for mode column. Default value: "Mode"
FIELD_MULT_NAME Heading for multiplier column. Default value: "Mult"
FIELD_MULT_VISIBLE If MULT field is visible on the screen. Valid values are YES and NO. Default value: YES
FIELD_MULT_MAX_LENGTH Width of MULT column. Default value: 5
FIELD_NR_VISIBLE If sent QSO SERIAL NUMBER is visible on the QSO entry line.
Valid values are YES and NO.
Default value: NO
FIELD_NR_HIDDEN_DXCC Semicolon separated list of DXCC. If our own DXCC is on this list,
sent serial number field will be hidden. Useful for contests where some
stations are sending a serial number exchange and other stations are
sending other data (for example a local province).
Default is to hide none
FIELD_NR_HIDDEN_RGX Regular expression. If the condition is valid, sent serial number
field will be hidden. Useful for contests where some stations are sending
a serial number exchange and other stations are sending other data
(for example a local province).
No default value
FIELD_PERIOD_VISIBLE If PERIOD number column is visible. Valid values: YES and NO. Default value: NO
FIELD_PERIOD_NAME Heading for PERIOD number column. Default value: "P"
FIELD_PTS_VISIBLE If POINTS column is visible. Valid values: YES and NO. Default value: YES
FIELD_PTS_NAME Heading for POINTS column. Width of column scales with string. Default value: "Pts"
FIELD_RCVD_CHECK_FORMAT_FX C# expression to reformat entered value in the field before further
validity checking. The value in the field is represented as $FIELDVALUE. Example:
FIELD_RCVD_CHECK_FORMAT_FX=$FIELDVALUE.Substring(0,2)+$FIELDVALUE.Substring(2).TrimStart('0')
will reshape RCVD by taking the first two characters and then remove any leading zeroes in the
remainder before further validity or multiplier checking.
Default value: $FIELDVALUE
FIELD_RECINFO_CHECK_FORMAT_FX
FIELD_RECINFO2_CHECK_FORMAT_FX
FIELD_RECINFO3_CHECK_FORMAT_FX
One or several, semicolon separated, regular expressions to conditionally reformat the entered
value in the field before further validity checking.
The regular expression and the formatting expression are separated by ">>" as in CABRILLO_LINE.
The entered value is represented as $FIELDVALUE. Example:
FIELD_RECINFO_CHECK_FORMAT_FX=!DEST->DXCC:^YO$>>'.'+$FIELDVALUE
will add a period before the second part of the exchange for all stations that are not from Romania.
FIELD_RECINFO_CHECK_FORMAT_FX=!DEST->DXCC:^K$|^KL$|^KH6$|^VE$>>""
will ignore any value in the second exchange field for all stations not from US, Hawaii, Alaska, or Canada.
Default value: ALL>>$FIELDVALUE
FIELD_RCVD_COPY
FIELD_RECINFO_COPY
FIELD_RECINFO2_COPY
FIELD_RECINFO3_COPY
If the field's value is automatically copied from previous QSO with same station.
Also controls if the exchange is shown with callsign in bandmap when Display options|Exchange
is selected. Valid values: YES and NO.
Default value: NO
FIELD_RCVD_COPY_EXC_DXCC
FIELD_RECINFO_COPY_EXC_DXCC
Semicolon separated list DXCC entities for which RCVD/RECINFO is copied
from earlier QSO in spite of FIELD_RCVD_COPY/FIELD_RECINFO_COPY=NO.
Useful in case only some DXCC have a fixed exchange in the contest.
Default value: NONE
FIELD_RCVD_COPY_EXC_RGX
FIELD_RECINFO_COPY_EXC_RGX
Regular expression. For QSO where the condition is true, the
content of the field will be copied from earlier QSO in spite of
FIELD_RCVD_COPY/FIELD_RECINFO_COPY=NO.
Useful if only certain types of exchanges are fixed for stations in contest.
No default value
FIELD_RCVD_COPY_FX C# expression used to determine value to be copied from earlier QSO.
The value of the field is $FIELDVALUE. For example:
FIELD_RCVD_COPY_FX=$FIELDVALUE.Substring(0,6)
will copy the first six characters from the RCVD field from the
previous QSO with the same station.
Default value: $FIELDVALUE
FIELD_RCVD_DEFAULT_VALUE Value to be used in as prefill if RCVD field is empty.
Valid values are: CQZONE, ITUZONE, CONT, or any string, which will be used verbatim.
No default value
FIELD_RCVD_EXC_CHECK_DXCC List of destination DXCC countries separated by ":" (or keyword ALL for all) for which multiplier
list validity checking is enforced.
E.g. FIELD_RCVD_EXC_CHECK_DXCC=K:KL:KH6:VE:XE;CUSTOM_MULT_LIST
Note that this key only applies to FIELD_RCVD_TYPE=MULT.
Also note that this key does not override FIELD_RCVD_RGX_CHECK, so if used,
this key needs to accept all possible values of RCVD.
E.g. FIELD_RCVD_RGX_CHECK=DEST->RCVD:^[0-8][0-9]?$|^90$;DEST->RCVD:CUSTOM_MULT_LIST
There is no corresponding key for the other entry fields, RECINFO, etc.
No default value
FIELD_RCVD_FORMAT_FX
FIELD_RECINFO_FORMAT_FX
FIELD_RECINFO2_FORMAT_FX
FIELD_RECINFO3_FORMAT_FX
C# expression used to format entered value before saving. No default value
FIELD_RCVD_FX_CHECK
FIELD_RECINFO_FX_CHECK
FIELD_RECINFO2_FX_CHECK
FIELD_RECINFO3_FX_CHECK
Boolean C# expression used to check if value entered in the field is valid. For example:
FIELD_RCVD_FX_CHECK=Helpers.Between($FIELDVALUE,1,40)
checks if RCVD is between 1 and 40.
No default value
FIELD_RCVD_MANDATORY
FIELD_RECINFO_MANDATORY
FIELD_RECINFO2_MANDATORY
FIELD_RECINFO3_MANDATORY
If RCVD field entry is mandatory. Valid values are YES and NO. Default value: NO
FIELD_RCVD_MANDATORY_RGX_EXC
FIELD_RECINFO_MANDATORY_RGX_EXC
FIELD_RECINFO2_MANDATORY_RGX_EXC
FIELD_RECINFO3_MANDATORY_RGX_EXC
Defines exceptions from mandating rule via a regular expression. For example:
FIELD_RCVD_MANDATORY_RGX_EXC=!DEST->DXCC:^(G|GD|GI|GJ|GM|GU|GW)$
means RCVD is not mandatory for non-UK stations. You can only have one exception per entry field.
No default value
FIELD_RCVD_MAX_LENGTH Maximum number of characters accepted in the field. Default value: 10
FIELD_RECINFO_MAX_LENGTH
FIELD_RECINFO2_MAX_LENGTH
FIELD_RECINFO3_MAX_LENGTH
Maximum number of characters accepted in the field. Default value: 6
FIELD_RCVD_MIN_LENGTH
FIELD_RECINFO_MIN_LENGTH
FIELD_RECINFO2_MIN_LENGTH
FIELD_RECINFO3_MIN_LENGTH
Minimum number of characters accepted in the field. Default value: 0
FIELD_RCVD_NUMERIC
FIELD_RECINFO_NUMERIC
FIELD_RECINFO2_NUMERIC
FIELD_RECINFO3_NUMERIC
Controls if the field accepts only numeric characters.
Valid values are YES and NO.
Default value: NO
FIELD_RCVD_NAME Column heading for RCVD field. Default value: Rcvd
FIELD_RCVD_SLASH_ALLOWED
FIELD_RECINFO_SLASH_ALLOWED
FIELD_RECINFO2_SLASH_ALLOWED
FIELD_RECINFO3_SLASH_ALLOWED
Controls if the field accepts a slash "/" character.
Valid values are YES and NO.
Default value: NO
FIELD_RCVD_RGX_CHECK Boolean expression. Used to check if entry in the field is valid.
For contests with more than one type of exchange (e.g. grid and serial
number or oblast and grid), more than one rule can be listed, separated
by semicolon. The check is then done against the rules combined with logical OR, i.e.
if any of the rules checks OK, the entry is approved.
No default value
FIELD_RECINFO_RGX_CHECK
FIELD_RECINFO2_RGX_CHECK
FIELD_RECINFO3_RGX_CHECK
Regular expression. Used to check if entry in the field is valid.
For contests with more than one type of exchange (e.g. grid and serial
number or oblast and grid), more than one rule can be listed, separated
by semicolon. The check is then done against the rules combined with logical OR, i.e.
if any of the rules checks OK, the entry is approved.
No default value
FIELD_RCVD_TYPE Defines data type of the field.
Valid values are: GRID, GRID4, GRID6, CONT, NR, CUSTOM (any text), MULT (a listed keyword, associated
with MULT#_TYPE=CUSTOM), CQZONE, ITUZONE, and NAME.
Note that there is no automatic validity checking for CUSTOM, CQZONE, NAME, and ITUZONE.
Validity checking of MULT is enabled using the key FIELD_RCVD_EXC_CHECK_DXCC.
This means a FIELD_RCVD_RGX_CHECK or key may be required. The type can also be per-DXCC
using the syntax DXCC:regex=type1;!DXCC:regex=type2 where regex is matched against the
station's main DXCC prefix and can be e.g. ^(JA|JD/o|JD/m)$
Important: Since the types are used to determine e.g. ADIF export, only use NAME for a real name
and only use NR for the exchange serial number.
Default value: Empty
FIELD_RECINFO_TYPE
FIELD_RECINFO2_TYPE
FIELD_RECINFO3_TYPE
Defines data type of the field.
Valid values are: GRID, GRID4, GRID6, NR, CONT, CUSTOM, MULT, CQZONE, ITUZONE, and NAME.
There is an automatic validity check on all types except CUSTOM and NAME.
Important: Since the types are used to determine e.g. ADIF export, only use NAME for a real name
and only use NR for the exchange serial number.
Default value: Empty
FIELD_RCVD_WWL_CHECK If YES, entry in RCVD field will be checked if it can be possible gridsquare entry.
It it is gridsquare, then RCVD field value will be copied to gridsquare entry field
and Azimuth will be calculated and shown. Valid values are YES and NO.
Default value: NO
FIELD_RECINFO_NAME
FIELD_RECINFO2_NAME
FIELD_RECINFO3_NAME
Heading for field's column. Default value: Empty
FIELD_RECINFO_RGX_SEL_POS
FIELD_RECINFO2_RGX_SEL_POS
FIELD_RECINFO3_RGX_SEL_POS
Filtering function for composite multipliers.
Exact function is unclear.
No default value
FIELD_RECINFO_VISIBLE
FIELD_RECINFO2_VISIBLE
FIELD_RECINFO3_VISIBLE
Controls if the the field is visible.
Valid values: YES, NO, HIDDEN, and READONLY.
Default value: NO
FIELD_RST_3RD_LETTER Semicolon-separated list of allowed third characters apart from numbers. For example:
FIELD_RST_3RD_LETTER=A;S
allows 59A and 59S as reports.
Default value: None
FIELD_RST_VISIBLE Controls visibility of RST field. Valid values are: YES and NO. Default value: YES
FIELD_SENT_VISIBLE Controls visibility of Sent field in log. Valid values are: YES and NO. Default value: YES

Default message keys

Default messages for F-keys, Plus and Ins.
CW_MESSAGE_1 Default F1 message for Run Default value: "CQ $MYCALL $MYCALL TEST"
CW_MESSAGE_2 Default F2 message for Run Default value: "$RST $EXCHANGE"
CW_MESSAGE_3 Default F3 message for Run Default value: "$EXCHANGE"
CW_MESSAGE_4 Default F4 message for Run Default value: "$MYCALL"
CW_MESSAGE_5 Default F5 message for Run Default value: "$LOGGEDCALL"
CW_MESSAGE_6 Default F6 message for Run Default value: "NR?"
CW_MESSAGE_7 Default F7 message for Run Default value: "?"
CW_MESSAGE_INS Default Insert message for Run Default value: "$F2"
CW_MESSAGE_PLUS Default Plus message for Run Default value: "$CORRECT TU $CR $MYCALL"
SP_CW_MESSAGE_1 Default F1 message for S&P Default value: "$MYCALL"
SP_CW_MESSAGE_2 Default F2 message for S&P Default value: "$RST $EXCHANGE"
SP_CW_MESSAGE_3 Default F3 message for S&P Default value: "$EXCHANGE"
SP_CW_MESSAGE_4 Default F4 message for S&P Default value: "$MYCALL"
SP_CW_MESSAGE_5 Default F5 message for S&P Default value: "$LOGGEDCALL"
SP_CW_MESSAGE_6 Default F6 message for S&P Default value: "NR?"
SP_CW_MESSAGE_7 Default F7 message for S&P Default value: "?"
SP_CW_MESSAGE_INS Default Insert message for S&P Default value: "$F2$CR"
SP_CW_MESSAGE_PLUS Default Plus message for S&P Default value: "TU$CR"
CW_MESSAGE_EXCHANGE_FILTER Message definitions following this key will only be effective if regular expression
after equal sign evaluates true for content in exchange entry box.
Example: CW_MESSAGE_EXCHANGE_FILTER=^DX$ means that messages
below this line will be used for stations entering DX in the exchange entry box.
Important: Only has effect for the first log created. All subsequent logs for the
same contest will inherit the messages from the previous log.

Additional configuration keys

DXCC related keys

DXCC_DB_TYPE This entry allows the use of a custom country file (for example, R150S.dat).
If a custom country file is defined, the selection
in Option|Data files|Country files will be ignored and
the country file defined in the contest config file will be used.
Valid values are: CUSTOM_CTY and CTY
Default value is CTY which will use
the data base set in the
Options|Data files|Country files
panel.
DXCC_DB_FILENAME Used to enable the use of an alternative country data base.
Used in conjunction with the DXCC_DB_TYPE key to define the data
file name. The file format is the same as the normal CTY.DAT file.
Default value: CTY.DAT
DXCC_DB_USE_ARRL_LIST Controls the use of the ARRL country list instead of CQ/WAE country list.
Valid values: YES and NO.
Default value: NO

Contest timing and period keys

MIN_OFF_TIME Minimum time in minutes without QSO to count as off time.
C.f. OFF_TIME_ROUND_UP.
Default value: 30
OFF_TIME_ROUND_UP Off time is calculated based on time difference between QSO instead of minutes without QSO.
YES means that QSO at e.g. 4:12 and 5:12 represents 60 minutes of off time.
NO means that QSO at e.g. 4:12 and 5:13 represents 60 minutes of off time.
Valid values: YES and NO.
Default value: NO
CONTEST_LENGTH Duration of contest in minutes.
Ignored for contests without periods.
No default value
CONTEST_FIRST_HOUR Time of day for start of contest in UTC. Ignored for contests without periods.
If the value is negative, DXLog will assume the contests starts a the beginning of the current hour.
Valid formats: -1, H, HH, HMM, and HHMM.
No default value
PERIOD Whether the contest has periods.
Valid values: ON and OFF.
Default value: OFF
PERIOD_LENGTH The length of each contest period in minutes.
Valid values: Any integer.
Default value: 0
PERIOD_AUTOSWITCH If the next period should start automatically.
Important: Does not work if contests stretches past midnight UTC.
Valid values: YES and NO.
Default value: NO
PERIOD_NUMBER Number of periods in contest.
CALC_FROM_TIME means duration divided by period length.
Valid values: CALC_FROM_TIME or any integer.
Important: When CALC_FROM_TIME is used, it must be preceded by CONTEST_LENGTH and PERIOD_LENGTH.
Default value: 0
PERIOD_MODES Optional, semicolon-separated list of modes for each period in the contest.
Must have the same number of items as number of periods.
Valid values: Mode acronyms supported by DXLog.
No default value

Database, prefill, and check keys

DB_FILE or DB_FILE1
DB_FILE2
DB_FILE3
DB_FILE4
DB_FILE5
File name of prefill data base. Important: File name casing must be correct for online update to work.
For file format etc., see the Prefill database settings section.
DB_FILE_TYPE or DB_FILE1_TYPE
DB_FILE2_TYPE
DB_FILE3_TYPE
DB_FILE4_TYPE
DB_FILE5_TYPE
Extension of data base file. Default value: TXT
DB_FILE_COL_RCVD or
DB_FILE1_COL_RCVD
DB_FILE2_COL_RCVD
DB_FILE3_COL_RCVD
DB_FILE4_COL_RCVD
DB_FILE5_COL_RCVD
Column number of RCVD field in data base file.
Important: At least one DB_FILE_COL* statement must be included for each data base file.
Important: Since look-up for RCVD is enabled by default, it needs to
be actively disabled if not wanted. Set it to -1 to disable undesired look-up.
DB_FILE_COL_RECINFO or
DB_FILE1_COL_RECINFO
DB_FILE2_COL_RECINFO
DB_FILE3_COL_RECINFO
DB_FILE4_COL_RECINFO
DB_FILE5_COL_RECINFO
Column number of RECINFO field in data base file.
DB_FILE_COL_RECINFO2 or
DB_FILE1_COL_RECINFO2
DB_FILE2_COL_RECINFO2
DB_FILE3_COL_RECINFO2
DB_FILE4_COL_RECINFO2
DB_FILE5_COL_RECINFO2
Column number of RECINFO2 field in data base file.
DB_FILE_COL_RECINFO3 or
DB_FILE1_COL_RECINFO3
DB_FILE2_COL_RECINFO3
DB_FILE3_COL_RECINFO3
DB_FILE4_COL_RECINFO3
DB_FILE5_COL_RECINFO3
Column number of RECINFO3 field in data base file.
DB_FILE_FILL_FORMAT or
DB_FILE1_FILL_FORMAT
DB_FILE2_FILL_FORMAT
DB_FILE3_FILL_FORMAT
DB_FILE4_FILL_FORMAT
DB_FILE5_FILL_FORMAT
C# string.Format expression defining how prefill from data base file will be used.
Example: /{0} will precede prefill with a slash.
This function is often combined with the menu option to use INSERT mode in the RCVD field.
RGX_GUESS_DB Regular expression "rule base" for guessing exchange of unworked stations.
Syntax is RGX_GUESS_DB=Field;DXCC Regex;Callsign Regex2;Filename[;Result regex]
A look-up is done for stations fulfilling at least one of the regular expressions.
If the Result regex is used, the look-up returns nothing for all look-ups not matching it.
The syntax of the file callsign regex=prefill or DXCC:regex=prefill
or !DXCC:regex=prefill. The file is parsed from top to bottom and the first match is used.
DXC_COMMENT_EXTRACT This entry is used to extract exchange or multiplier information from DX cluster comments.
For example, the line:
DXC_COMMENT_EXTRACT=RECINFO;(AF|AN|AS|EU|NA|OC|SA)[ /\-\.]?\d{1,3};[ /\-\.]
will extract a typical IOTA designation such as AF-025 and insert it into the RECINFO prefill
field for the spot.
The first part of the configuration (before the ;) defines into which entry field the data should be placed.
The second part of the configuration is a regular expression that defines the data that is to be matched.
The third part defines which characters should be removed from the matched result.
It is mandatory but can be empty.
SCP_DATABASE_DISABLE Disable file-based prefill and check partials database. (for e.g. WRTC and IARU HF Championship).
Valid values are: YES and NO or a semicolon separated list of YES or NO with the same number
of elements as defined contest categories.
Default value: NO
DB_SCP_FROM_EXCHANGE Enables reverse look-up.
Searches for all instances of either RCVD or RECINFO in first and second column of all data base files.
Search is triggered when pressing space and all entry fields are empty except either RCVD or RECINFO.
Search hits are displayed in Check Partials window.
Default value: NO

QSO exchange and numbering keys

INITIAL_SERIAL_NUMBER Starting value of sent serial number. Default value: 1
QSO_NUMBER QSO numbering principle.
Valid values: ALL, PER_MODE, PER_BAND, PER_PERIOD, PER_BAND_MODE, PER_PERIOD_MODE.
ALL means chronological numbering.
Default value: ALL
QSO_NUMBER_CATEGORY Semicolon-separated list of numbering principles for each contest category.
Must contain the same number of elements as contest categories.
Valid values: ALL, PER_MODE, PER_BAND, PER_PERIOD, PER_BAND_MODE, PER_PERIOD_MODE.
If not present, the value
of QSO_NUMBER is used.
FIRST_PREV_RCVD Initial return value of macro $PREV_RCVD.
Any string is allowed but also the keyword EXCHANGE
Default value: "000"
FIRST_PREV_RECINFO Initial return value of macro $PREV_RECINFO.
Any string is allowed but also the keyword EXCHANGE
Default value: "000"
FIRST_PREV_RECINFO2 Initial return value of macro $PREV_RECINFO2.
Any string is allowed but also the keyword EXCHANGE
Default value: "000"
FIRST_PREV_RECINFO3 Initial return value of macro $PREV_RECINFO3.
Any string is allowed but also the keyword EXCHANGE
Default value: "000"
SLASH_MULTIPLE_QSOS Controls whether slashed ("/") multipliers are used in the contest. Default value: NO

Double QSO keys

DOUBLE_QSO The definition of a dupe.
Valid values: PER_PERIOD, PER_BAND, PER_MODE, PER_PERIOD_BAND,
PER_PERIOD_MODE, PER_BAND_MODE, PER_BAND_MODE_RECINFO,
PER_BAND_MODE_RCVD, PER_PERIOD_BAND_MODE,
PER_MINUTE_DIFFERENCE, PER_BAND_DAY
Important: ALL is not a valid value.
Required.
Lacks default value.
DOUBLE_QSO_MINUTE_DIFFERENCE Minimum time difference in QSO time to not be counted as a dupe.
Used in conjunction with DOUBLE_QSO=PER_MINUTE_DIFFERENCE.
Default value: 0
DOUBLE_QSO_MODE_CHECK Definition of dupe principle when it comes to mode.
Valid values: PER_MODE, PER_CABRILLO_MODE, and PER_MODE_GROUP.
Important: When not using PER_MODE, only use CW, Phone, Digital, and Mixed for CATEGORY_MODES values.
Default value: PER_MODE
DOUBLE_QSO_RULE_DURATION Expiration time of dupe QSO rule. Cannot be used together with
DOUBLE_QSO=PER_MINUTE_DIFFERENCE or MIN_VALID_QSO_DIFFERENCE.
Default value: 0
MIN_VALID_QSO_DIFFERENCE Minimum allowed time between QSO with the same station.
Once this time has passed, the regular dupe rules apply.
Cannot be used together with
DOUBLE_QSO=PER_MINUTE_DIFFERENCE or DOUBLE_QSO_RULE_DURATION.
Default value: 0
MODE_GROUP Semicolon-separated list of mode group names. Used as an alternative to CABRILLO_MODES
to group modes together for special dupe rules. One list entry per MODES mode entry.
Valid group names are CW, SSB, FM, PH, and DG.
No default value

Multiplier keys

MULT_SUM Summing method for multipliers.
Valid values: NO, ALL, PER_BAND, and PER_PERIOD.
Default value: ALL
OWN_MULT_VALID Controls if own multiplier is valid. Important: Controls the validity of ALL own multipliers but
does not consider calculated or derived multipliers, e.g. DXCC or WPX. This means that for the NO
option to work, the own multiplier must be specified in the Exchange field
in the contest configuration panel and only this multiplier will not count.
Default value: NO
CUSTOM_MULT_LENGTH Length of an enumerated numeric multiplier. If number is shorter, it is left padded with zeroes.
Used with enumerated multipliers, e.g. "=1-1999".
Default value: 0
CONTINENT_LIST Custom, semicolon-separated continent list.
Syntax is: CONTINENT_LIST=continent1;continent2;continent3
Default value: EU;NA;SA;AS;AF;OC
MULT1_CONT_LIST
MULT2_CONT_LIST
MULT3_CONT_LIST
Custom, semicolon-separated continent list.
Syntax is: MULT1_CONT_LIST=continent1;continent2;continent3
Default value: EU;NA;SA;AS;AF;OC
MULT1_TYPE
MULT2_TYPE
MULT3_TYPE
Multiplier type.
Can be CALLSIGN, DXCC, CQZONE, WPX, CUSTOM, HQ, NUM, FIELD, LETTER1, or FX.
FX is a calculated multiplier and requires an MULT#_FX key. CUSTOM requires a multiplier list.
For contests with more than one multiplier, the use of LIVESCORE_MULT may be necessary
for correct reporting.
Default value: None
MULT1_FX
MULT2_FX
MULT3_FX
A C# expression used to create the effective value of an FX type multiplier.
The entered value is available in the object $FIELDVALUE.
For example MULT1_FX=$FIELDVALUE.Substring(0,$FIELDVALUE.IndexOf('/'))
will make the characters before the slash the actual multiplier.
MULT1_COUNT
MULT2_COUNT
MULT3_COUNT
Counting method for MULT1, MULT2, and MULT3. Can be PER_BAND, PER_PERIOD,
PER_MODE, PER_BAND_MODE, PER_PERIOD_MODE, PER_PERIOD_BAND,
PER_PERIOD_BAND_MODE, or ALL.
Important: Do not use e.g. PER_BAND for a single band contest or PER_MODE for a single mode contest.
Default value: None
MULT1_ADD_DXCC
MULT2_ADD_DXCC
MULT3_ADD_DXCC
Only used with multiplier type HQ. Determines if a HQ station counts as a DXCC multiplier.
Can be canceled for a selected condition using the multiplier exception REMOVE_DXCC.
Example: MULT2_EXCEPTION=DEST->RCVD:^R[1-3]$;REMOVE_DXCC
means that HQ stations sending R1, R2, or R3 as exchange will not count for DXCC multipliers.
Valid values: YES and NO.
Default value: NO
MULT1_FIELD
MULT2_FIELD
MULT3_FIELD
Source of MULT.
Valid values: RCVD, CALLSIGN, FROM_DXCC, FROM_WPX, RECINFO, RECINFO2, RECINFO3, NONE
Default value: None
MULT1_DISPLAY
MULT2_DISPLAY
MULT3_DISPLAY
Text to show in MULT column. Syntax: MULT1_DISPLAY=regex;string. The regex can be omitted.
Example: MULT1_DISPLAY=DEST->DXCC:^K$|^KL$|^KH6$;S
Example: MULT1_DISPLAY=FN
Default value: None
MULT1_SHOWERROR
MULT2_SHOWERROR
MULT3_SHOWERROR
Highlight errors in MULT.
Valid values: YES and NO.
Default value: YES
MULT1_BAND_BONUS
MULT2_BAND_BONUS
MULT3_BAND_BONUS
Per band multiplier scaling factor. Syntax MULT1_BAND_BONUS=band;scaling.
Example: MULT1_BAND_BONUS=80;2 doubles the multiplier count for the 80m band.
Default value: 1
MULT1_BONUS
MULT2_BONUS
MULT3_BONUS
Bonus score for a defined achievement in V/U/SHF contests with EDI log submission.
Example: With country defined as a "multiplier" number one, MULT1_BONUS=100 will add
100 points to the total score for each new country worked.
Affects the EDI keys CWWLs, CExcs, and CDXCs.
Has no effect on on-screen scoring or Cabrillo export.
Default value: 0
MULT1_EXCEPTION
MULT2_EXCEPTION
MULT3_EXCEPTION
Exception from the general rule for MULT.
Syntax: MULT1_EXCEPTION=boolean;multiplier definition.
The boolean function can either be a regular expression (c.f. above) or FX() expression.
Example: MULT1_EXCEPTION=DEST->DXCC:^K$|^VE$;CUSTOM_MULT_LIST
will use the custom list (normally last in the contest definition file)
to determine multipliers for US and Canadian stations.
Example: MULT1_EXCEPTION=FX("CONFIG->CALLSIGN"<>"K1DG");NONE
will not count this multiplier for anyone except Doug K1DG.
However, a less roundabout way to achieve the same is
MULT1_EXCEPTION=!CONFIG->CALLSIGN:^K1DG$;NONE
Valid values of the multiplier definition are: PFX_AREA, WPX, NONE,
CUSTOM_MULT_LIST, REMOVE_DXCC, VALUE:###, or LETTER1.
MULT1_MULTIPLIER
MULT2_MULTIPLIER
MULT3_MULTIPLIER
Multiplication factor for a selected value of MULT. Syntax multiplier;factor.
For instance MULT1_MULTIPLIER=AZ;4 means all "AZ" are worth four multipliers.
One MULT1_MULTIPLIER line is required for each value of MULT1 which has a multiplier.
MULT1_REPEAT
MULT2_REPEAT
MULT3_REPEAT
Specifies a list of values of MULT and the number of times they count as multipliers.
For instance MULT1_REPEAT=VD[3];PA[2] means the first three "VD" and the first
two "PA" count as multipliers. If only a multiplier without a bracketed number is listed,
the number is one. Important: This function is not correctly implemented in DXLog's bandmap.
By default multipliers only count once
MULT1_CONT_LIST
MULT2_CONT_LIST
MULT3_CONT_LIST
List used when MULT is of type CONT. Default value: EU;NA;SA;AS;AF;OC
MULT1_NO_ALERT
MULT2_NO_ALERT
MULT3_NO_ALERT
Hides the multiplier and QSY alert at the bottom of the screen for the multiplier.
Valid values: YES and NO.
Default value: NO

Rate window keys

STATS_TYPE Type of statistics in Rate window.
Valid values: STANDARD and WRTC.
Default value: STANDARD
DISPLAY_TIME_ON_PER_MODE Display time on per mode in Rate window. Default value: NO
DISPLAY_LAST_MODE_CHANGE Display time of last mode change in Rate window. Default value: NO

Band change rule keys

BAND_MIN_LIMITS Bandwise minimum and maximum times. Only used by Bande Basse local Italian contest.
Syntax: BAND_MIN_LIMITS=band;maxminutes;minfromlastqsominutes.
MULTISINGLE_RULE10_ENABLED 10-minute rule for Multi-Single operation. Default value: YES
MULTISINGLE_RULE10_FOR_MULT 10-minute rule applies to multiplier station. Default value: YES
MULTISINGLE_RULE10_MINUTES Actual number of minutes for 10-minute rule. Default value: 10
MULTISINGLE_RULE10_CHECKMODE Checking principle for 10-minute rule. Default value: PER_BAND
MULTITWO_RULE10_ENABLED 10-minute rule for Multi-Two operation. Default value: NO
MULTIOP_BANDCHANGECOUNTER_ENABLED Band change counter for multi operator operation enabled. Default value: YES
MULTIOP_BANDCHANGES_ALLOWED Semicolon-separated list with number of band changes allowed in one hour in multi operator operation.
The same number of entries as MULTIOP_BANDCHANGES_CBR_TRANSMITTERS.
Default value: 8
MULTIOP_BANDCHANGES_CHECKMODE Type of counting method for band changes in multi operator operation.
Valid values: PER_BAND or PER_BAND_MODE
Default value: PER_BAND
MULTIOP_BANDCHANGES_TYPE Semicolon-separated list with type of band changes counted for band change rule in
multi operator operation. Valid values are R, RM, or ALL.
R is for M/2 and keeps two separate counters.
RM is for M/1 where you have a separate counter for the Run and Multiplier stations.
ALL means a single, common counter for all station types.
The list must have the same number of entries as MULTIOP_BANDCHANGES_CBR_TRANSMITTERS.
Default value: R
MULTIOP_BANDCHANGES_CBR_CATEGORIES Semicolon-separated list of Cabrillo operator categories subject to band change rule. Default value: MULTI-OP
MULTIOP_BANDCHANGES_CBR_TRANSMITTERS Semicolon-separated list of Cabrillo transmitter categories subject to band change rule. Default value: TWO

Contest score keys

SCORE Scoring principle.
Valid values: BY_BAND, BY_BAND_MODE, BY_PERIOD, BY_PERIOD_BAND, and BY_PERIOD_BAND_MODE.
Additional values are BY_MODE_GROUP and BY_BAND_GROUP. Their function is unknown.
Default value: BY_BAND
SCORE_DISPLAY Displayed columns in Summary window. Available elements: BAND, QSO, POINTS, MULT, MULT1,
MULT2, MULT3, DUP, AVG, AVG0, AVG1, QTC, PERIOD, BAND, and MODE.
A string within parenthesis following the element name will set the column header.
Per mode display can be achieved by including the relevant mode(s) within curly brackets.
Multiple modes are separated by '+'.
Example: SCORE_DISPLAY=BAND;QSO(SSB){SSB};QSO(CW){CW};QSO(DIGI){RTTY+PSK31+PSK63};DUP
will group all RTTY, PSK31, and PSK63 QSO under the same heading.
Elements can be conditional using the *+NN:MM:LL> syntax or *RGX: followed by a regular expressions (see above).
Example: *-K:VE> will display the column if your station is not a K or VE station.
Example: *+SM:OZ:LA:OH> will display the column only if you are a SM, OZ, LA, or OH station.
Default value: BAND;QSO;MULT1(MULT);POINTS
SCORE_TOTAL_FX Formula for calculating total score for a QSO. Uses FLEE syntax which includes e.g. If().
Example: SCORE_TOTAL_FX=$FIELDVALUE.Points*$FIELDVALUE.Mult1+$FIELDVALUE.Mult3
Default value: SCORE_TOTAL_FX=
$FIELDVALUE.Points*($FIELDVALUE.Mult1+
$FIELDVALUE.Mult2+$FIELDVALUE.Mult3)

QSO points keys

POINTS_TYPE Type of points.
Valid values: CALC, QRB, QRB_EXCHANGE+CALCF, QRB+CALCF, QRB+GRIDP2, RAEM, and FROM_TABLE()
CALC expects the presence of POINTS_FIELD_BAND_MODE keys. QRB means one point per kilometer.
QRB_EXCHANGE+CALCF requires at least one POINTS_CALC_F key and uses a grid in the
configuration panel's Exchange field for QRB calculation. QRB only works with 6-position grids.
QRB+CALCF requires at least one POINTS_CALC_F key and uses the configuration panel's
Grid field for QRB calculation. RAEM uses the special RAEM contest point system.
QRB+GRIDP2 is the number of large grids in distance plus two.
FROM_TABLE(filename;keytype;sourcekey;destkey) requires a database text file
that maps an exchange value to points. keytype is always INT,
sourcekey is always "EXCHANGE", destkey can be RCVD, RECINFO, RECINFO2, or RECINFO3.
The format of each line in the file is sourcekey value;destkey value=points.
Default value: CALC
POINTS_BAND_BONUS Per band scaling factor. Syntax POINTS_BAND_BONUS=band;scaling.
Example: POINTS_BAND_BONUS=160;2 doubles the points number on the 160m band.
Default value: 1 on all bands.
POINTS_FIELD_BAND_MODE Conditional point calculation.
Syntax: POINTS_FIELD_BAND_MODE=regex1;regex2;bandregex;moderegex;points;optionalregex
The points item can be either a numeric (1, 10, etc.) or a field name: RCVD, RECINFO,
RECINFO2, or RECINFO3.
Important: When designing points rules, keep in mind the first valid rule encountered, reading from
the top, overrides all subsequent rules. This can simplify rule-writing greatly.
No default value
POINTS_CALC_F Formula for points calculation with POINTS_TYPE QRB_EXCHANGE+CALCF and QRB+CALCF.
Syntax: POINTS_CALC_F=sourceregex;pointsformula;bandregex;calculationregex
Example: POINTS_CALC_F=ALL;VALUE*5.0;^15$;QRB>=100&&QRB<=800
multiplies points with 5 on 15m if QRB is between 100 and 800km.
All mathematical functions in C# syntax, plus the points number (VALUE) are
available for expressions. In the calculationregex, the keyword QRB can also
be used for e.g. comparisons.
Additionally, three additional syntax elements are available:
VALUE{QRB:grid} which has the value of the distance (in km) from you to grid,
VALUE{*QRB:grid} which has the value of distance from grid to the party station, and
VALUE{QRB:IARU} which has the value of the distance according to the IARU R1 rules
for 6 and 4m MGM contests which is the distance between the centers of the origin and
destination large square (four first characters) rounded up and if same, 50 points.
No default value

Progress tracking keys

WINDOWS_CML_ENABLED Enable custom multiplier window #1. Default value: NO
WINDOWS_CML2_ENABLED Enable custom multiplier window #2. Default value: NO
WINDOWS_CML3_ENABLED Enable custom multiplier window #3. Default value: NO
WINDOWS_CML_NAME Name of custom multiplier #1. No default value
WINDOWS_CML2_NAME Name of custom multiplier #2. No default value
WINDOWS_CML3_NAME Name of custom multiplier #3. No default value
WINDOWS_CML_LIST_FX
WINDOWS_CML2_LIST_FX
WINDOWS_CML3_LIST_FX
C# expression for the multipliers listed in custom multiplier window for MULT.
Syntax: WINDOWS_CML_LIST_FX=function.
Example:
WINDOWS_CML_LIST_FX=GetList_PrefixArea(dxccList,"^(VK|ZL)$")
Example:
WINDOWS_CML_LIST_FX=GetList_CustomArray("A|C|CA|CC|CE|V|VI|Z","|")
No default value
WINDOWS_CML_DATA
WINDOWS_CML2_DATA
WINDOWS_CML3_DATA
Source of data for custom multiplier window 1, 2, and 3.
Valid values: MULT1, MULT2, MULT3, QSODIFF, QSODIFF_SP, and QSODIFF_CQ.
No default value
WINDOWS_CML_SHOW_GROUP
WINDOWS_CML2_SHOW_GROUP
WINDOWS_CML3_SHOW_GROUP
Controls if custom multiplier window 1, 3, and 3 show the multipliers grouped,
if groups are defined.
Valid values: YES and NO.
Default value: NO
WINDOWS_CML_RESIZABLE
WINDOWS_CML2_RESIZABLE
WINDOWS_CML3_RESIZABLE
Controls if custom multiplier windows are resizable. Default value: NO
WINDOWS_CML_LABELS_IN_ROW
WINDOWS_CML2_LABELS_IN_ROW
WINDOWS_CML3_LABELS_IN_ROW
Controls number of MULT labels in each row of its custom multiplier window.
Valid values: -1 and positive integers. -1 means DXLog default 10.
Default value: -1
WINDOWS_CML_ALL_LABELS_IN_ROW
WINDOWS_CML2_ALL_LABELS_IN_ROW
WINDOWS_CML3_ALL_LABELS_IN_ROW
Controls the number of MULT labels in each row of its custom multiplier window
when all bands are displayed.
Valid values: -1 and positive integers. -1 means DXLog default 20.
Default value: -1
WINDOWS_CML_HIDDEN_CONT
WINDOWS_CML2_HIDDEN_CONT
WINDOWS_CML3_HIDDEN_CONT
Hides a custom multiplier window for stations from selected continents.
Currently not used in any contest.
Default value: None
WINDOWS_CML_HIDDEN_DXCC
WINDOWS_CML2_HIDDEN_DXCC
WINDOWS_CML3_HIDDEN_DXCC
Hides a custom multiplier window for stations from selected DXCC.
Syntax: WINDOWS_CML_HIDDEN_DXCC=list
Example: WINDOWS_CML_HIDDEN_DXCC=*+G;GI;GW;GM;GJ;GU;GD
hides the custom multiplier window for UK stations.
Example: WINDOWS_CML_HIDDEN_DXCC=*-SM;LA;OZ;OH
shows the custom multiplier window only for Scandinavian stations.
No default value
WINDOWS_WKD_DXCC_ENABLED Enables worked DXCC window.
Important: The worked DXCC window will only update on logging if DXCC is a

valid multiplier for the contest. If you want to use this window for e.g.,
a VHF contests, you must define a zero-worth DXCC multiplier. E.g.
MULT2_TYPE=DXCC
MULT2_FIELD=FROM_DXCC
MULT_SUM=NO
Valid values: YES and NO.

Default value: NO
WINDOWS_WKD_DXCC_HIDDEN_CONT Hides worked DXCC window for stations from selected continent.
Example: WINDOWS_WKD_DXCC_HIDDEN_CONT=*-AS shows only the
worked DXCC window for Asian stations.
No default value
WINDOWS_WKD_DXCC_HIDDEN_DXCC Hides worked DXCC window for stations from selected DXCC.
C.f. WINDOWS_CML_HIDDEN_DXCC above for syntax.
No default value
WINDOWS_WKD_DXCC_SHOW_ONLY_CONT Show only entities from the listed continents in the worked DXCC window.
Example: WINDOWS_WKD_DXCC_SHOW_ONLY_CONT=NA;SA shows
only NA and SA entities in the worked DXCC window.
No default value
WINDOWS_WKD_DXCC_CONT_FILTER Defines which DXCC entities from a selected continent to show in the
worked DXCC window. Example:
WINDOWS_WKD_DXCC_CONT_FILTER=SA:9Y;P4;PJ2;PJ4 will only
include 9Y, P4 and PJ2 from South America.
You can have several of this key.
No default value
WINDOWS_WKD_DXCC_HIDE_DXCC Hides a list of DXCC entities from the worked DXCC window.
Example: WINDOWS_WKD_DXCC_HIDE_DXCC=K;VE hides US
and Canada from the worked DXCC window.
No default value
WINDOWS_WKD_GRID_ENABLED Enables worked grids window.
Valid values: YES and NO.
Default value: NO
WINDOWS_WKD_PFX_ENABLED Enables worked prefixes window.
Valid values: YES and NO.
Default value: NO
WINDOWS_WKD_PFX_HIDDEN_CONT Hides worked prefixes window for stations from selected continent.
C.f. WINDOWS_WKD_DXCC_HIDDEN_CONT above for syntax.
Default is to hide nothing
WINDOWS_WKD_PFX_HIDDEN_DXCC Hides worked prefixes window for stations from selected DXCC.
C.f. WINDOWS_CML_HIDDEN_DXCC above for syntax.
Default is to hide nothing
WINDOWS_WKD_PFX_DATA Source of worked prefixes data.
Valid values: MULT1, MULT2, and MULT3.
No default value

Livescore keys

LIVESCORE_CONTEST_NAME Contest name used for live score reporting. If the string contains
{MODE} this will be replaced by the current contest mode capitalized.
Default value: Value of CABRILLO_CONTEST_NAME.
LIVESCORE_BAND List of band categories used for live score reporting.
List must either have one single value of the same number of items as CABRILLO_BAND.
If a single value, this is valid for all categories. Band names are Cabrillo convention.
Non standard band categories recognized by score boards are: 2-BAND, 3-BAND, LOW-BAND, and HIGH-BAND.
Default value: Value of CABRILLO_BAND
LIVESCORE_OPERATOR List of types of operation used for live score reporting.
List must have the same number of items as CATEGORIES.
Default value: Value of CABRILLO_OPERATOR
LIVESCORE_POWER List of output power classes used for live score reporting.
List must have the same number of items as CLASS.
Default value: Value of CABRILLO_POWER
LIVESCORE_TRANSMITTER List of number of transmitters categories used for live score reporting.
List must have the same number of items as CATEGORIES.
Default value: Value of CABRILLO_TRANSMITTER
LIVESCORE_ASSISTED List of assistance categories used for live score reporting.
List must have the same number of items as mode CATEGORIES.
Default value: Value of CABRILLO_ASSISTED
LIVESCORE_MODE List of modes used for live score reporting.
List must have the same number of items as MODES.
Default value: Value of CABRILLO_MODE
LIVESCORE_CATEGORY_MODES List of contest mode categories used for live score reporting.
List must have the same number of items as CATEGORY_MODES.
Default value: Value of CATEGORY_MODES
LIVESCORE_MULT List of multiplier "names" in numerical order used for live score reporting.
Must have the same number of items as contest multipliers.
Used when the multiplier type is not explicit, such as grid square.
Valid multiplier types are ZONE, COUNTRY, STATE, GRIDSQUARE,
WPXPREFIX, PREFIX,
and HQ.
By default DXLog recognizes "country",
"zone", "wpxprefix", and "state".

QTC keys

QTC_ENABLED Enables QTC mechanics. Default value: NO
QTC_SEND_ENABLED Enables QTC sending. Default value: !SOURCE->CONT:^EU$
QTC_RECV_ENABLED Enables QTC receiving. Default value: SOURCE->CONT:^EU$
QTC_SEND_RGX Regular expression controlling the transmission of QTC. Default value: DEST->CONT:^EU$
QTC_RECV_RGX Regular expression controlling the reception of QTC. Default value: !DEST->CONT:^EU$

Other keys

ADIF_KEYS Allows for including custom keys in ADIF export.
The syntax is ADIF_KEYS=ADIFKEY;expression;regex.
regex is optional but must evaluate as true for the key to be included in the export.
The syntax for expression is C# and based on internal DXQSO object structure.
Received exchanges are $VALUE.Rcvd, $VALUE.Rcvd4, $VALUE.RecInfo,
$VALUE.RecInfo2, and $VALUE.RecInfo3.
Rcvd4 is the Rcvd object without the signal report.
So to, for instance, export the received exchange as US/VE state use
ADIF_KEYS=STATE;$VALUE.Rcvd4;DEST->DXCC:^K$|^VE$.
To export the second part of the exchange as operator name use ADIF_KEYS=NAME;$VALUE.RecInfo
The following $VALUE.xxx keys are available: Sent, Rcvd, Rcvd4, RecInfo, RecInfo2,
RecInfo3, Az, Mult, Mult1, Mult2, Mult3, Lp, Period, Band, Mode, Callsign,
QRB (integer), Stn, OriginStnID, Operator,
and RadioVFO.
Please note that you can also use C# style string manipulation such as
Substring(start, length) etc. There is no limit on the number of
ADIF_KEYS lines in a contest definition file. The keyword $EXCHANGE or fixed string are also allowed,
e.g., ADIF_KEYS=MY_SIG;WWFF and ADIF_KEYS=MY_SIG_INFO;$EXCHANGE.
Default value: None
ASTROPHYSICS Enables DXLog's propagation enhancing features.
Valid values: YES and NO.
Default value: NO
OVERRIDE_INVALID_QSO_MESSAGE Suppress invalid QSO message for selected cases.
Syntax is OVERRIDE_INVALID_QSO_MESSAGE=IncaseRegex;AndRegex
Example: OVERRIDE_INVALID_QSO_MESSAGE=DEST->DXCC:^K$;DEST->RCVD:^$ will
suppress complaints about invalid QSO when the RCVD field is empty US stations.
Note that this is a legacy function with limited usefulness. To make sure stations show up
correctly in the bandmap without valid exchanges you typically need to add dummy
rules that will prevent errors to show anyway.
Default value: None
SELF_SPOT_ALLOWED Enables spotting of own station.
Either a single YES/NO or a semicolon separated list of YES/NO with
the same number of entries as CATEGORIES.
Default value: NO
SELF_SPOT_MINPERIOD Controls the minimum time in minutes between spots of own station. Default value: 10
SELF_SPOT_PER_RADIO Controls whether the self spotting period is per radio or per station. Default value: YES
SPRINT_LOGIC_ALLOWED Allow sprint logic check box in the Standard Messages panel. Default value: NO
WARNING_FILE Name of a frequency range warning file located in %appdata%\DXLog\Database.
The format of each line in the warning file is:
Mode regular expression;frequency range;Message
Example:
CW;3400-3520;Warning: Operation not allowed on this frequency
CW;3550-3900;Warning: Operation not allowed on this frequency
SB;3400-3600;Warning: Operation not allowed on this frequency
SB;3675-3700;Warning: Operation not allowed on this frequency
SB;3725-3900;Warning: Operation not allowed on this frequency

Important: File name casing must be correct for online update to work.
No default value
WINDOWS_ON4KST_ENABLED Enables ON4KST messaging window Default value: NO

Less obvious constructs

Entry type based on DXCC of logged station.

FIELD_RCVD_TYPE=DXCC:PA=MULT;!DXCC:PA=NR

Other multiplier than the defined.

MULT1_EXCEPTION=!SOURCE->DXCC:^(JW|JX|LA|OH|OH0|OJ0|OX|OY|OZ|SM|TF)$;PFX_AREA

Zero padding of an exchange.

POINTS_FIELD_BAND_MODE=DEST->CONT:SOURCE->CONT;!SOURCE->ITUZONE:DEST->RCVD{F=R,2,0};ALL;ALL;3

Using a field value as the QSO score

POINTS_FIELD_BAND_MODE=!CONFIG->EXCHANGE:^ZZ$;ALL;ALL;ALL;RECINFO2

Adding alternative exchanges to multiplier list

CFG_MULT_RGX_CHECK=^0?[1-9]$|^[1-8][0-9]?$|^90$|CUSTOM_MULT_LIST
FIELD_RCVD_RGX_CHECK=DEST->RCVD:^0?[1-9]$|^[1-8][0-9]?$|^90$;DEST->RCVD:CUSTOM_MULT_LIST