Difference between revisions of "Contest definition"
(→Entry field definitions) |
|||
Line 250: | Line 250: | ||
Please note that regex expression can contains special tag CUSTOM_MULT_LIST too. This means that any entry specified in | 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.<br> | custom multiplier list will be valid entry.<br> | ||
+ | |||
+ | ==Cabrillo== | ||
+ | |||
+ | * '''CABRILLO_ASSISTED''' | ||
+ | |||
+ | * '''CABRILLO_BAND''' | ||
+ | |||
+ | * '''CABRILLO_CONTEST_NAME''' | ||
+ | |||
+ | * '''CABRILLO_DEF_RECINFO''' | ||
+ | |||
+ | * '''CABRILLO_DEF_RECINFO2''' | ||
+ | |||
+ | * '''CABRILLO_DEF_RECINFO3''' | ||
+ | |||
+ | * '''CABRILLO_DXPEDITION''' | ||
+ | |||
+ | * '''CABRILLO_LINE''' | ||
+ | |||
+ | * '''CABRILLO_LOCATION_CHECK''' | ||
+ | |||
+ | * '''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== | ==Band and mode specific== |
Revision as of 16:00, 7 February 2014
Contents
Description
Rules for each of the contests are more or less different from each other.
It can be difference in points per qso calculations, multiplier determination and calculations etc.
To support all these different rules and to allow easier adding / changing contest rules in DXLog.net,
all parameters in contest rules are defined and controlled through contest config files.
Contest config files are plain text files which are installed in Contest sub-folder in DXLog.net installation folder.
When application is started, content of Contest folder is copied into ApplicationData folder in your Windows OS.
During copying process, DXLog.net compares modify date of each file in installation folder with version in ApplicationData folder.
If newer version already exists in ApplicationData folder, file wouldn't be copied there.
User can change existing or create new files in Application folder, in case it is needed for some testing purposes, or if user
wants to create new contest definition file to support some new contest.
File structure
Each line in contest config file usually contains of KEY + VALUE pairs.
This pair is separated by "=" sign.
For example:
CONTEST_NAME=9A CW
This means that field KEY is CONTEST-NAME, and 9A CW is value for that field.
Regex expressions
You will see that in many cases DXLog.net is using regular expressions (regex) to verify if some condition is valid and possibly to process such entry on special ways. For example, it is used to check if user entry is valid against some condition, to determine how to calculate points for QSO etc.
Regex expression in config file can be defined as fixed value, but can also compare some QSO data against fixed values.
Case one is the case where we want to validate user entry in some of the fields.
For example, we want to validate that user is allowed to enter NY,FL,GA, or DX in EXCHANGE field at contest configuration screen.
Key field for this operation is CFG_MULT_RGX_CHECK.
And to create validation as in previous example we need following definition in contest config file:
CFG_MULT_RGX_CHECK=^NY$|^FL$|^GA$|^DX$
"^" sign in regex denotes start of the string value "$" sign in regex denotes end of string value "|" sign in regex is logical or operation
Case two is the case where we want to validate some value which is possibly changing on each entry in the log.
For example, we want to calculate points for QSO with same country on band 160 mode CW and SSB with 1 point. Key field for points calculation is POINTS_FIELD_BAND_MODE. To achieve calculation from previous example, it should be defined like this: POINTS_FIELD_BAND_MODE=SOURCE->DXCC:DEST->DXCC;ALL;^160$;^CW$|^SSB$;1
We can read this definition on the following way: If SOURCE (our) DXCC is same as DEST (correspondent) DXCC and band is 160 and mode is CW or SSB, qso is worth 1 point. In above definition, we can notice, SOURCE and DEST keys. Also, we can use CONFIG key. Such reference keys can be: SOURCE->CONT - our own continent SOURCE->DXCC - our own DXCC SOURCE->CALL - our own CALLSIGN SOURCE->PFX - our own prefix SOURCE->WPX - our own prefix DEST->CONT - correspondent continent DEST->DXCC - correspondent DXCC DEST->CALL - correspondent CALLSIGN DEST->RCVD - value entered in received field in qso line DEST->RECINFO - value entered in recinfo field in qso line DEST->RECINFO2 - value entered in recinfo2 field in qso line DEST->RECINFO3 - value entered in recinfo3 field in qso line CONFIG->EXCHANGE - value from exchange field entered at contest configuration screen CONFIG->CQZONE - value from WAZ field entered at contest configuration screen CONFIG->ITUZONE - value from ITU field entered at contest configuration screen CONFIG->OPNAME - value from OPNAME field entered at contest configuration screen CONFIG->POWER - value from POWERfield entered at contest configuration screen
More details about point calculation and POINTS_FIELD_BAND_MODE key can be found in different section of this document.
General contest description
These keys are used for general contest description in config file, such as contest name, link to the rules etc.
- CONTESTGROUP
Used for group contest when displaying on config screen for contest selection.
For example: Digital, 9A Local Contest etc.
- CONTESTNAME
Contest name as it will be shown and recognized in contest selection box.
Note: this can be same as cabrillo contest name, but usually it is full contest name.
This field is mandatory and must be unique for all files in contest definition folder.
- CONTESTRULES
Link to contest rules.
- CONTESTWEB
Link to contest web.
Configuration screen control
- CATEGORIES
List of available categories separated by ";" to build category selection list at contest configuration screen.
Default value: Single operator;Single operator assisted;Multioperator, single transmitter;Multioperator, two transmitter;Multi operator, multi-transmitter
- CATEGORY_MODES
List of available modes separated by ";" to build mode selection list at contest configuration screen.
Default value: CW;SSB;MIXED
- CLASS
List of available classes separated by ";" to build class selection list at contest configuration screen.
Default value: High;Low;QRP
- OVERLAY
List of available category overlays separated by ";" to build overlay selection list at contest configuration screen.
Default value: ---;Band restricted;Radio club;Dxpedition;Headquarters;Open;Restricted;Novice;Classic;Rookie;Tribander/Single element;QRP;Fixed station;Portable station
- CFG_MULT
Controls exchange field at contest configuration screen.
Acceptable values are: YES/NO.
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
- 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.
Acceptable values are: YES/NO
Default value: NO
- CFG_MULT_MANDATORY
Is exchange field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_MULT_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in exchange field at contest configuration screen.
For example, in ARRL DX Contest, user enters state abbreviation which isn't on predefined list.
- 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.
Can be blank if we are using regex expression to check the value or we can accept any entry.
- CFG_MULT_RGX_CHECK
Regex expression which will be used to verify if data entered in exchange field at contest configuration screen is valid.
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.
- CFG_CQZONE_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in WAZ field at contest configuration screen.
- CFG_CQZONE_MANDATORY
Is WAZ field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_GRID_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in GRIDSQUARE field at contest configuration screen.
- CFG_GRID_MANDATORY
Is GRIDSQUARE field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_GRID_RGX_CHECK
Regex expression which will be used to verify if data entered in GRIDSQUARE field at contest configuration screen is valid.
- CFG_ITUZONE_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in ITU field at contest configuration screen.
- CFG_ITUZONE_MANDATORY
Is ITU field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_MYDXCC_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in DXCC field at contest configuration screen.
- CFG_MYDXCC_MANDATORY
Is DXCC field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_OPNAME_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in OPNAME field at contest configuration screen.
- CFG_OPNAME_MANDATORY
Is OPNAME field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_POWER_ERRORTEXT
Defines error text which will be shown in case that user enters wrong data in POWER field at contest configuration screen.
- CFG_POWER_MANDATORY
Is POWER field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- CFG_POWER_RGX_CHECK
Regex expression which will be used to verify if data entered in POWER field at contest configuration screen is valid.
- 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.
- CFG_STATE_FROM
Defines where we can check if user entry in STATE/PROVINCE/OTHER field is valid. 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.
- CFG_STATE_MANDATORY
Is STATE/PROVINCE/OTHER field mandatory (needs to be filled) or can be blank.
Acceptable values are: YES/NO
Default value: NO
- 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.
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.
Cabrillo
- CABRILLO_ASSISTED
- CABRILLO_BAND
- CABRILLO_CONTEST_NAME
- CABRILLO_DEF_RECINFO
- CABRILLO_DEF_RECINFO2
- CABRILLO_DEF_RECINFO3
- CABRILLO_DXPEDITION
- CABRILLO_LINE
- CABRILLO_LOCATION_CHECK
- 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
- BANDS
Contains list of available bands separated by ";" for specific contest.
Default value: 160;80;40;20;15;10
- MODES
Contains list of available modes separated by ";" for specific contest.
Default value: CW;SSB
- EDI_BANDS
Contains list of EDI values for bands specified in BANDS key.
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
These keys are used to control layout of QSO entry screen. Allows to define visibility, length, labels, checking procedures etc. for each of the field which user can enter or display for any QSO.
- FIELD_AZ_VISIBLE
Controls visibility of Azimuth field. Mostly used on VHF/UHF/SHF to get Azimuth from gridsquare.
Acceptable values: YES/NO
Default value: NO
- FIELD_CALLSIGN_WWL_CHECK
If YES, entry in callsign field will be checked if it can be possible gridsquare entry.
It it is gridsquare, then callsign field value will be copied to gridsquare entry field and Azimuth will be calculated and shown.
Acceptable values: YES/NO
Default value: NO
- FIELD_MODE_VISIBLE
Is mode field visible on qso entry line.
Acceptable values: YES/NO
Default value: NO
- FIELD_MODE_NAME
Header name for field mode.
- FIELD_MULT_VISIBLE
Is field MULT visible on the screen.
Acceptable values: YES/NO
- FIELD_NR_VISIBLE
If field SENT QSO SERIAL NUMBER visible on qso entry line.
Acceptable values: YES/NO
- FIELD_NR_HIDDEN_DXCC
List of DXCC separated by ";". If our own DXCC is on this list, SENT QSO SERIAL NUMBER will be hidden.
Usable for contests where some stations are sending serial number and other stations are sending some other date (for example some local province).
- FIELD_NR_HIDDEN_RGX
Regex expression. If condition is valid, SENT QSO SERIAL NUMBER will be hidden.
Usable for contests where some stations are sending serial number and other stations are sending some other date (for example some local province).
- FIELD_PERIOD_VISIBLE
Is field PERIOD number visible in qso entry line.
Acceptable values: YES/NO
- FIELD_PERIOD_NAME
Header name for field NAME.
- FIELD_PTS_VISIBLE
Is field POINTS visible in qso entry line.
Acceptable values: YES/NO
- FIELD_PTS_NAME
Header name for field POINTS.
- FIELD_RCVD_CHECK_FORMAT_FX
C# expression to reformat RCVD field value before any further checking.
- FIELD_RCVD_COPY
Is field RCVD automatically copied from previous qso with same station.
Acceptable values: YES/NO
- 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.
- FIELD_RCVD_COPY_EXC_RGX
Regex expression. If condition is true, we have a value copy exception for the QSO.
- FIELD_RCVD_COPY_FX
C# expression used to copy value from previous qso.
- FIELD_RCVD_DEFAULT_VALUE
If RCVD field is empty, this is default value to be filled in cabrillo output.
- FIELD_RCVD_EXC_CHECK_DXCC
List of DXCC countries separated by ";" which are exception for value checking procedure.
- FIELD_RCVD_FORMAT_FX
C# expression used to format entered value before save.
- FIELD_RCVD_FX_CHECK
C# expression used to check is value entered in RCVD field is valid.
- FIELD_RCVD_MANDATORY
Is RCVD field entry is mandatory.
Acceptable values: YES/NO
- FIELD_RCVD_MANDATORY_RGX_EXC
Regex expression. If condition is true, we have exception from mandatory rule.
- FIELD_RCVD_MAX_LENGTH
Maximum number of characters accepted in RCVD field.
- FIELD_RCVD_MIN_LENGTH
Minimum number of characters accepted in RCVD field.
- FIELD_RCVD_NUMERIC
Controls if RCVD field accepts only numeric characters.
Acceptable values: YES/NO
- FIELD_RCVD_RGX_CHECK
Regex expression. Used to check if entry in RCVD field is valid.
- FIELD_RCVD_TYPE
Define type of RCVD field for possible calculations and check routines.
For example: MULT, NR, CONT etc.
- 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.
Acceptable values: YES/NO
Default value: NO
- FIELD_RECINFO_CHECK_FORMAT_FX
- FIELD_RECINFO_COPY
- FIELD_RECINFO_COPY_RGX_EXC
- FIELD_RECINFO_FORMAT_FX
- FIELD_RECINFO_FX_CHECK
- FIELD_RECINFO_MANDATORY
- FIELD_RECINFO_MANDATORY_RGX_EXC
- FIELD_RECINFO_MAX_LENGTH
- FIELD_RECINFO_MIN_LENGTH
- FIELD_RECINFO_NAME
- FIELD_RECINFO_NUMERIC
- FIELD_RECINFO_RGX_CHECK
- FIELD_RECINFO_RGX_SEL_POS
- FIELD_RECINFO_TYPE
- FIELD_RECINFO_VISIBLE
- FIELD_RECINFO2_CHECK_FORMAT_FX
- FIELD_RECINFO2_COPY
- FIELD_RECINFO2_COPY_RGX_EXC
- FIELD_RECINFO2_FORMAT_FX
- FIELD_RECINFO2_FX_CHECK
- FIELD_RECINFO2_MANDATORY
- FIELD_RECINFO2_MANDATORY_RGX_EXC
- FIELD_RECINFO2_MAX_LENGTH
- FIELD_RECINFO2_MIN_LENGTH
- FIELD_RECINFO2_NAME
- FIELD_RECINFO2_NUMERIC
- FIELD_RECINFO2_RGX_CHECK
- FIELD_RECINFO2_RGX_SEL_POS
- FIELD_RECINFO2_TYPE
- FIELD_RECINFO2_VISIBLE
- FIELD_RECINFO3_CHECK_FORMAT_FX
- FIELD_RECINFO3_COPY
- FIELD_RECINFO3_COPY_RGX_EXC
- FIELD_RECINFO3_FORMAT_FX
- FIELD_RECINFO3_FX_CHECK
- FIELD_RECINFO3_MANDATORY
- FIELD_RECINFO3_MANDATORY_RGX_EXC
- FIELD_RECINFO3_MAX_LENGTH
- FIELD_RECINFO3_MIN_LENGTH
- FIELD_RECINFO3_NAME
- FIELD_RECINFO3_NUMERIC
- FIELD_RECINFO3_RGX_CHECK
- FIELD_RECINFO3_RGX_SEL_POS
- FIELD_RECINFO3_TYPE
- FIELD_RECINFO3_VISIBLE
- FIELD_RST_3RD_LETTER
- FIELD_SENT_VISIBLE
- FIELD_STN_VISIBLE