[DXLog.net - Support] Commands on contest files

9A5K 9a5k at 9a5k.com
Wed Sep 25 10:21:22 CEST 2013


Hi all.

CNCW will be supported in v2.0.15, I've already create config file for it.

However, as there is a big interest in this txt config files, I will try to
explain here each line of CNCW.txt config file which
will be available in new release, until there isn't some time to document
it.

There are plenty of options which wasn't used in this config, but I think
that this example would be fine to get the idea
how it works.
So, here we go..


Each line in config file which starts with "#" sign is actually comment.
Couple of comments at beggining:

#
# DXLog.net contest definition file
#

Next one we have to define CONTEST NAME which will be used to pick a
contest from combo box in contest configuration.

This is done with following parameter:
CONTESTNAME=CNCW

If we want to group this contest in some of groups (for example this is EA
local contest), and it is defined on this way (optionally):
CONTESTGROUP=EA LOCAL CONTEST

Next one important parameter are bands where contest is operated. In case
of CNCW that is 80,40,20,15 and 10m.
This is defined like this (bands should be separated with ";" delimiter):
BANDS=80;40;20;15;10

Next one, which modes will be active in this contest (here it is CW only,
if more modes are available, put it here separated by ";" sign):
MODES=CW

Next one, which modes user can select in contest config file (default they
are CW, SSB and MIXED).
As this is CW only contest, we will allow user to select only CW:
CATEGORY_MODES=CW

After this, we are going to define some calculation stuff.
First, how we calculate double (dupe) qsos? In this contest dupe is per
band:
DOUBLE_QSO=PER_BAND

If we need to calculate dupes per band and mode, this will be PER_BAND_MODE
etc.

Next one, we should define how we calculate points. There can be a couple
of different choices, most often is CALC type, which
means that points will be calculated from POINTS_FIELD_BAND_MODE
definitions. Other type could be for example QRB, which
will calculate distance from locators etc..
For CNCW, it's defined on this way:
POINTS_TYPE=CALC

In next step, we will define some more stuff needed when user will create
new contest file (on contest config screen).
So, we want that user must enter his province abbreviation somewhere, also
we want that this field is mandatory, it must be checked for valid
entry, also we want to notify the user if he forgot to enter province, or
something is wrong.
This is controlled with next few lines. CFG_MULT in config files actually
controls EXCHANGE field in contest config screen.
Here it is:
CFG_MULT=ON
CFG_MULT_MANDATORY=YES
CFG_MULT_ERRORTEXT=EA stations enters their province abbreviation in
exchange field!
CFG_MULT_FROM=CUSTOM_MULT_LIST
CFG_MULT_DX_ALLOWED=NO

Last line (CFG_MULT_DX_ALLOWED=NO) will control if user can enter DX in
this field (for example, when we want to distinguish between
EA stations entry, and other stations - outside of EA). As this is EA only
contest, DX isn't allowed as valid entry.
CFG_MULT_FROM=CUSTOM_MULT_LIST means that entry in exchange field must be
on of valid entries in predefined multipliers list (it is
usually in config file too).

Next one:
OWN_MULT_VALID=NO

This means that if calculated multiplier is same as own multiplier
(exchange field in this case), this multiplier isn't counted.

Next one, we should define multiplier calculation. There are three possible
multiplier calculations available on same time, each of them
can have exception when it should be calculated or not etc.
This one is easy, beacuse we need only one multiplier and it should be
calculated from RCVD entry in QSO, and validated against
custom multiplier list.
Here is MULT1 definition:

MULT1_TYPE=CUSTOM
MULT1_COUNT=PER_BAND
MULT1_FIELD=RCVD
MULT1_DISPLAY=MULT

Again, TYPE = CUSTOM, it means it's checked in CUSTOM multiplier list.
COUNT=PER_BAND, means we counting multipliers per band. It can be
PER_BAND_MODE, ALL, PER_MODE etc.
FIELD=RCVD means where we are taking the value for multiplier. In this
case, from RCVD field.
DISPLAY=MULT means that actual multiplier value will be shown in MULT
column (for example if multiplier is Barcelona, abbreviation is B and B
will be shown in Mult column). We can define this as DISPLAY=P for example.
In that case letter P (Province) will be shown in mult column.

And now, we need to calculate the points for each QSO.
This is done with POINTS_FIELD_BAND_MODE entries which are processed in the
same order as they are defined in the config file.
If condition defined in entry is true, other entries wouldn't be processed,
and points for the qso will be taken from that entry.
If all entries are processed and there isn't any of them where condition
defined is true, qso will be marked as invalid.
This is defined in contest config as -1 points, but actually they will be
shown with 0 points in the log.
So, we have 4 lines defined here, just to make example. One will be enough.

POINTS_FIELD_BAND_MODE=ALL;DEST->DXCC:^$;ALL;ALL;-1
POINTS_FIELD_BAND_MODE=!SOURCE->DXCC:^EA$|^EA6$|^EA8$|^EA9$;ALL;ALL;ALL;-1
POINTS_FIELD_BAND_MODE=!DEST->DXCC:^EA$|^EA6$|^EA8$|^EA9$;ALL;ALL;ALL;-1
POINTS_FIELD_BAND_MODE=SOURCE->DXCC:^EA$|^EA6$|^EA8$|^EA9$;DEST->DXCC:^EA$|^EA6$|^EA8$|^EA9$;ALL;ALL;1

So, each POINTS_FIELD_BAND_MODE entry has 5 mandatory fields (and one
additional optional field which is not defined above).
Each field are separated by ";" sign. Filtering is done with regex
definitions, with some special field definitions.
First two fields are conditions defined by user.
Third field is band filter (also regex defined).
Forth field is mode filter.
Fifth field is points field, if conditions before are met.
And sixth field (if defined) is another condition field.

If condition is defined as "ALL", this means that any qso will be valid for
that condition.
"DEST->" means that value for comparing is taken from destination qso entry
(data from the actual qso).
"SOURCE->" means that value for comparing will be taken from the data of
your station.
"CONFIG->" means that value for comparing will be taken from contest config
data entered in contest config screen.

So, for example if EC1KR is operating the contest and he works qso with
EA8ZS:
SOURCE->CALL value is EC1KR
SOURCE->DXCC value is EA.
DEST->CALL value is EA8ZS.
DEST->DXCC value is EA8.
DEST->RCVD value is actual value entered in RCVD field of qso...


"!" at the beginning of condition means NOT inversion, so this line:
!SOURCE->DXCC:^EA$|^EA6$|^EA8$|^EA9$ means that condition is met if DXCC of
the station which operating the contest
isn't EA, or EA6, or EA8 or EA9.

So, this line:
POINTS_FIELD_BAND_MODE=SOURCE->DXCC:^EA$|^EA6$|^EA8$|^EA9$;DEST->DXCC:^EA$|^EA6$|^EA8$|^EA9$;ALL;ALL;1

means this:
If "source" dxcc is EA or EA6 or EA8 or EA9 and "dest" dxcc is EA or EA6 or
EA8 or EA9 on any band (ALL) and on any mode (ALL)
qso points will be 1.

Please note that in regex some things means this:
"^" start of the field
"$" end of the field
"|" is logical or condition

So, if you want to check if dest callsign ends with "/P", it's done like
this: "DEST->CALL:/P$"
":" sign is just delimiter between field value we compare with and regex
expression.

Also, we can check for this condition "SOURCE->CONT:DEST->CONT" ... this
will be true if continent of the station we are working
is same as ours... etc...

Now, we have to define how we want to see this calculations summarized in
Summary window.

It's defined in CNCW by this two lines:

SCORE=BY_BAND
SCORE_DISPLAY=BAND;QSO;MULT1(PROV);DUP;POINTS

First line means score will be shown by the band (it's single mode, we
don't need mode here).
And SCORE_DISPLAY define columns which will be shown (separated by ";"
sign).

Next one, default country file to be used with this contest. This is now
overridden by selected entry in Country files menu.
DXCC_DB_TYPE=CTY
DXCC_DB_FILENAME=CTY.DAT

So, DXCC_DB_TYPE is CTY, and filename is CTY.DAT...by default.

Also, we can define some other entries here:

WINDOWS_WKD_DXCC_ENABLED=NO
WINDOWS_WKD_GRID_ENABLED=NO

This means that Worked dxcc window isn't available, as well as Worked
gridsquares.

However, we want to show a list of possible/Worked multipliers:

WINDOWS_CML_ENABLED=YES
WINDOWS_CML_NAME=Multipliers
WINDOWS_CML_DATA=MULT1

So, CML (Custom multiplier lists) window is enabled, it's name is
multipliers and data is taken from MULT1 definition.

Next one, how we want to see the data in Cabrillo file:

CABRILLO_CONTEST_NAME=CN-CW
CABRILLO_LINE=FREQ{F=R,6, };MODE{F=L,2, };DATE;TIME;MYCALL{F=L,13,
};SENT{F=L,3, };EXCHANGE{F=L,4, };CALL{F=L,13, };RCVD1{F=L,3,
};RCVD2{F=L,4, }


So, CONTEST-NAME in Cabrillo file will be CN-CW. We can define this as
CN-{MODE}, if there are two modes of the contest available, each in
separated period (for example see CQ WPX contest).

And CABRILLO_LINE define layout of each "QSO:" line in Cabrillo file.
Each field is separated by ";" sign and can contain formatting definition
"{F=".
Formatting definition has three mandatory parameters, and one optional
parameter.
So, for examle MYCALL{F=L,13, } means that MYCALL field (callsign from
Config screen callsign) will be: left aligned (L), length will be 13
characters
and it will be padded with SPACE characters (note the space between last
comma and "}" sign).

Next we want to control user entries/visibility of each qso line:

FIELD_PERIOD_VISIBLE=NO
FIELD_NR_VISIBLE=NO
FIELD_RCVD_NUMERIC=NO
FIELD_RCVD_MANDATORY=YES
FIELD_RCVD_COPY=YES
FIELD_RCVD_TYPE=MULT

This means that PERIOD and NR (serial number sent) field will be hidden.
RCVD field isn't numeric, it is mandatory, it will be copied from previous
QSOs and will be checked that it is valid multiplier entry from multiplier
list).

Also, there are default CW messages defined in the file:

# CW Messages
CW_Message_1 = CQ $MYCALL $MYCALL ++TEST--
CW_Message_2 = $RST $EXCHANGE
CW_Message_3 = $EXCHANGE
CW_Message_4 = $MYCALL
CW_Message_5 = $LOGGEDCALL
CW_Message_6 = NR?
CW_Message_7 = ?
CW_Message_INS = $LOGGEDCALL $QSOB4 $F2
CW_Message_PLUS = $CORRECT ++TU-- $CR $MYCALL

And at the end, there is custom multiplier list:

[MULTIPLIERS START]
A=Alicante
AB=Albacete
...
[MULTIPLIERS END]

And that's it..


Of course, there are many exceptions which can be defined in the config
file, but for this contest it wasn't needed...


73,
Chris - 9A5K



On Wed, Sep 25, 2013 at 12:55 AM, Ricardo Navarrete
<ricardoea4zk at gmail.com>wrote:

> Hello Chris,
>
> I'm really lost about config a contest... Sorry
>
> The contest is a CW contest only for EA, EA8, EA6 and EA9.
>
> That is the information :
>
> Contest name : CNCW
> From 16:00 UTC SATURDAY UNTIL 16:00 UTC SUNDAY
> Categories:
>
> Single operator single band
> Single operator all band
> QRP
> Multi-Op
> Exchange : RST plus province
> Score : 1 point for each qso
> Multipliers :Per band each province except own, each district EA1, EA2,
> EA3, EA4 , EA5, EA6, EA7, EA8 except own.
> Final Score , sum of all valid qso plus sum of all multipliers
> List of provinces :
> A=Alicante
> AB=Albacete
> AL=Almería
> AV=Ávila
> B=Barcelona
> BA=Badajoz
> BI=Vizcaya
> BU=Burgos
> C=Coruña
> CA=Cádiz
> CC=Cáceres
> CE=Ceuta
> CO=Córdoba
> CR=Ciudad Real
> CS=Castellón
> CU=Cuenca
> GC=Las Palmas
> GI=Girona
> GR=Granada
> GU=Guadalajara
> H=Huelva
> HU=Huesca
> IB=I. Baleares
> J=Jaén
> L=Lleida
> LE=León
> LO=La Rioja
> LU=Lugo
> M=Madrid
> MA=Málaga
> ML=Melilla
> MU=Murcia
> NA=Navarra
> O=Asturias
> OU=Ourense
> P=Palencia
> PO=Pontevedra
> S=Cantabria
> SA=Salamanca
> SE=Sevilla
> SG=Segovia
> SO=Soria
> SS=Guipúzcoa
> T=Tarragona
> TE=Teruel
> TF=SC Tenerife
> TO=Toledo
> V=Valencia
> VA=Valladolid
> VI=Álava
> Z=Zaragoza
> ZA=Zamora
>
>
> thanks for your help!!!!
>
>
>
>
> 2013/9/24 9A5K <9a5k at 9a5k.com>
>
>> Hi Ricardo.
>>
>> Give me more details on email, and I'll be glad to help.
>>
>> There are many commands possible in config files, I have to write
>> explanation for each, but currently the time is issue.  :-(
>>
>>
>> 73,
>> Chris - 9A5K
>>
>>
>> On Tue, Sep 24, 2013 at 7:31 PM, Ricardo Navarrete <
>> ricardoea4zk at gmail.com> wrote:
>>
>>> ello,
>>>
>>> I'm trying to add some minors contes for Spain and two importat ones, but
>>> I'm having troubles trying to write the commands to calculate points and
>>> restrictions to some areas.
>>>
>>> Do you have a list of commands supported by DXLog for contest files???
>>>
>>> It could be very ussesfull with a little explanation about each
>>> command...
>>> Thanks a lot!!!
>>>
>>> --
>>> EA4ZK Ricardo Navarrete
>>> ricardoea4zk at gmail.com
>>> *
>>> *
>>> *CWops : 1070*
>>> *POR FAVOR, SI VAS A REENVIAR ESTE CORREO, TEN EN CUENTA LOS SIGUIENTES
>>>
>>> PUNTOS:
>>> 1.- Borra la dirección e-mail del remitente así como cualquier otra
>>> dirección e-mail que aparezca en el cuerpo del mensaje.
>>> 2.- Protege frente a terceros a todos los destinatarios de tus mensajes
>>> colocando sus direcciones en la línea de CCO (Con Copia Oculta).
>>> *
>>> *Combatir el spam es tarea de todos.*
>>> *Gracias por tu colaboración.*
>>> _______________________________________________
>>> Support mailing list
>>> Support at dxlog.net
>>> http://www.dxlog.net/mailman/listinfo/support
>>>
>>
>>
>
>
> --
> EA4ZK Ricardo Navarrete
> ricardoea4zk at gmail.com
> *
> *
> *CWops : 1070*
> *POR FAVOR, SI VAS A REENVIAR ESTE CORREO, TEN EN CUENTA LOS SIGUIENTES
> PUNTOS:
> 1.- Borra la dirección e-mail del remitente así como cualquier otra
> dirección e-mail que aparezca en el cuerpo del mensaje.
> 2.- Protege frente a terceros a todos los destinatarios de tus mensajes
> colocando sus direcciones en la línea de CCO (Con Copia Oculta).
> *
> *Combatir el spam es tarea de todos.*
> *Gracias por tu colaboración.*
>
>


More information about the Support mailing list