The User Defined Contest (UDC) Editor

The User Defined Contest (UDC) Editor

Where to Find UDC Materials

There are more than to 200 User Defined Contests available from the website’s Supported Contests page. The contests are listed on the Supported Contests List page, described on the Supported Contests Setup page, and available for download in the >Downloads >User Defined Contests folder.

UDC Editor Overview

Enabling users of a contest logger to define their own contests has always been a very difficult thing to do. With the proliferation of contests, often with (ahem) innovative rules, it has gotten harder in recent years. Normally, it requires someone with knowledge of the programming language to create a contest “module”, and even then the rules may defy incorporation.

In an effort to help with this problem, Nick, NA3M has written a very clever User Defined Contest (UDC) module in the Logger. This module uses a text file in a predefined format, called a User Defined Contest (.udc) file. These files may be created either with a text editor or with Nick’s UDC Editor program, which can be downloaded from the website’s >User Defined Contests (UDC) folder.

The description of how to use this editor program is found both here and in the file named _UDC_Help.txt which contains information in different languages selectable from the UDC File Editor. New features are added to the UDC capability from time to time, and when this happens the Help file in the UserDefinedContests folder may be more up-to-date than this page in the manual. The Help file can be opened from the UDC File Editor by clicking its HELP button or by double-clicking a specific contest parameter line. Notepad will automatically start and display the Help file. Resize windows so you can see both the UDC Editor window and the Notepad window at the same time. Double-clicking on a parameter is particularly useful because Notepad then goes directly to that parameter in the Help file. The first time you call for help during an editing session, you will be asked to select the language. This selection stays in memory until you close the editor. If the wrong language was selected, you will have to close and restart the UDC Editor.

There are three ways that you can take advantage of the User Defined Contest feature: build your own UDC using the UDC Editor; use a text editor to build a UDC file, starting from a previous UDC file as a template; or download a UDC that was built by another ham and contributed to the N1MM Logger+\UserDefinedContests folder.

Regardless of which method you use, the drop-down list of available contests in N1MM Logger+’s Contest Setup dialog will only list UDCs that have been copied to the UserDefinedContests folder in the N1MM Logger+ user files area at Documents\N1MM Logger+\UserDefinedContests\.

If you have developed and thoroughly tested a UDC file for a particular contest, please share it with other users by uploading it to the Files Section of the N1MMLoggerPlus group on groups.io . But please remember – UDC files are USER-defined, and bug fixes or feature improvements are the responsibility of the user who created the UDC, not the N1MM Development Team.

Limitations
While UDC files give a user extensive options for adapting N1MM Logger+ to the rules of many contests, they cannot provide the same control that a programmer has, or that may be required to fully implement them. Also, in many contests the rules are different for contestants from one area than for those from another – a good example is QSO parties with different rules for in-state and out of state participants. In those cases, it may make sense to create two UDC contests, for use by in-area and out-of-area contestants.

The UDC Editor

The UDC Editor is quite simple. Download and unzip the file, _UDCeditor.ZIP, from the >Downloads >User Defined Contests folder. When you open the Editor you will first be asked to select a User Defined Contest file. You’ll note that these files all have the extension “.udc”), and are stored in the UserDefinedContests sub-folder in the N1MM Logger+ user files folder, at Documents\N1MM Logger+\UserDefinedContests\. You will find a starter UDC file “_Template.udc” on page 1 of the UDC Gallery.

ClassicUDC1

When you open an existing contest file, you will be warned to do a “Save As…” unless you intend to edit the file you have opened. This is because any changes are saved immediately to the file you have opened. You have to be careful not to damage the existing User Defined Contest file that you are going to use as a starting point for your new contest file. Therefore is is recommended that you save the file with a new name, then use the editor to edit that new file, leaving the original file unchanged.

Here is an example of a contest created by a user during testing, as viewed in the UDC Editor.

ClassicUDC3

To change a contest parameter, click once on it. You’ll note that the parameter and its value appear in the gray pane to the right. Change the value in the Value field. Click on Set Value for Key to save it. This will save it in the file immediately. That is why the Editor does not have a Save button. When you are done editing a contest just exit, and your contest file will have all changes saved.

Once the new (or modified) .udc file is ready to test, save it one last time into the Documents\N1MM Logger+\UserDefinedContests\ folder and start N1MM Logger+. Go to File > New Contest in Database, and you should be able to see your new contest in the list of available contests. Test it to make sure everything works as you planned. If there is something wrong, you can edit the .udc file and save it. You can keep .udc file edit window open. To test any changes you will have to restart N1MM Logger+.

If you want to help with this project and add one more language – simply add your translation to an empty [Language…] section in the UDC help file and send the file to na3m@arrl.net, Please use UNICODE encoding when saving the file.

Editing Tips

The UDC Editor will not allow you to delete parameter names but you can erase or omit the value in the gray pane, in which case the default value will be used (these are marked with * in the list of values for each parameter). You should only use values mentioned below. At the moment, there is no check for correctness of the value supplied for a parameter. An invalid value for a parameter may cause unpredictable N1MM Logger+ behavior, such as display of warning messages with the name of the wrong parameter.

By default, the UDC editor does not show “empty” parameters, for which N1MM Logger+ will be using default values. You can see the full list of parameters by clicking on the “Show Default” check box, and edit them by assigning a non-default value. Do not attempt to remove “empty” parameters – they may be needed in case this file is later used as a template for another contest.

Keep your .udc files in the Documents\N1MM Logger+\UserDefinedContests folder. If you define a UDC and store it in the database, but subsequently remove its .udc file from the folder, then the next time you try to open that contest, a warning message will be displayed and the contest will not work. You can make editing of UDC files faster by right-clicking on a udc file name, selecting “Open with…”, selecting the UDC Editor and checking the box that says “Always use this program to open this kind of file”. Subsequently, double-clicking on a .udc file name will automatically open it with the UDC Editor.

Don’t worry about messing up
One of the nice things about the UDC Editor is that you can’t do much damage if you mess up. The only thing you are editing is the .udc file, and if it doesn’t work and you can’t fix it, you can always just delete it from the UDC folder and start over.

Running a User Defined Contest

User defined contests appear in the drop-down list of contests in the Select Contest dialog, just like those programmed at the factory.

The UDC File

Note: it is not recommended to use any language other than English for contest parameters. Take a look at the sample UDC files using a text editor, if you want to understand the file format, but we recommend you use the UDC Editor to edit or create a new file.

File Format with Explanations

This is based on the English-language text from the UDC Editor help file, describing how to configure a User Defined Contest for N1MM logger. Versions in Portuguese, Spanish, Russian can be found in the _UDC_HELP.txt file that is downloaded with every Latest Update.

The most convenient way to use this information is to open the _UDC_HELP.txt file from the UDC Editor, by pressing its HELP button or by double clicking on a contest parameter line. You will be asked to select a language. This selection stays in memory until you close the Editor. If a language is selected that is not there, you will have to restart the Editor. Assuming you choose one of the languages that is there, Notepad will automatically start and open the Help file.

It’s best to resize the Notepad window so you can see both the UDC Editor window and the Notepad window at the same time.

To change a parameter in the UDC Editor, click once on it and change its value in the Value field. Click on Set Value for Key to save it. This will save it in the file immediately. That is why the UDC Editor does not have a Save button. When you are done editing, all you have to do is exit, and your contest file will have all your changes saved.

Because of this, if you use an existing UDC file as a starting point for your new one, you will have to be careful not to damage it. Open it with the UDC Editor, and click the Save File As… button. Give your new contest file a name that positively identifies it (preferably its short name, like ARRLDXCW).

Once the new (or modified) UDC file is ready, copy it into the N1MM Logger+/UserDefinedContests folder and start the Logger. You should be
able to see your new contest in the list of contests in the Contest Setup Dialog.. Test it to make sure everything works as you planned. If there is something wrong – you can keep editing it even while it is loaded in the Logger. Once you make a change to a parameter of the UDC file simply reload the contest (select “File” and then your contest name in the drop down menu). Note: this will not work if you change the name of the contest while editing.

If you decide to help with this project and add another language – simply add your translation to an empty section [Language..] and send the
file to na3m@arrl.net so it can be included in the next update of this program. Note: Be sure to use UNICODE encoding when saving the file.

The UDC Editor will not allow you to delete parameters, but you can set a parameter to “nothing”. If you do this, the default value will be used marked with * in this file). You should only use values listed in this file. There is no check for correctness of the value in this Editor at the moment. A wrong value may cause unpredictable Logger behavior. Some wrong values may cause Logger to display warning messages with the name of the wrong parameter.

By default, the UDC Editor does not show “empty” parameters. Logger will be using default values for them. You can see them by clicking on the “Show Default” check box. After that you will be able to edit them by assigning non-default values. Do not remove “empty” parameters – they may be needed in case this file is used as a template for another contest.

Keep your .UDC files in the Documents\N1MM Logger+\UserDefinedContests folder if you are planning to use contests defined by those files. If you try to load some previously used (and stored in the current database) User Defined Contest and the .udc file for it is not in the folder, Logger will not start the contest, and there will be a warning message displayed.

To start the UDC Editor by clicking on a .udc file, right-click on one of them, select “Open with”, “Choose program” and select “UDCeditor.exe” as the “Recommended Program” for this type of files.

[Author] section

_AuthorName_ = Put your name here. Users should know who will be able to help them with this contest file.

/Callsign/= your callsign

/Email/= your email

[File] section

/Revision/ = Start with 1.0.0 It is recommended that you increment this every time you modify the UDC file.

/LastUpdate/ = Will be automatically filled with the current date if you create a new file (using Save File As…) or edit the current file.

/Description/ = Short description of the contest type (one line). Example: “Finnish Domestic VHF Contest”

[Contest] section

/Name/ = This is the short name that will be used in the Contest Setup dialog. 10 Characters maximum, no spaces, upper case only. Example: ARRLDXCW. RTTY contests must have RTTY somewhere in the name; VHF contest names must start with VHF.

/DisplayName/ = Your choice, spaces allowed (50 characters maximum). Example: ARRL DX CW

/CabrilloName/ = Your choice, 15 characters maximum, no spaces allowed. Example: ARRL- DX-CW This name will be used in the Cabrillo file header

/Mode/ = Valid modes are: CW SSB BOTH RTTY (default = CW; use BOTH if all modes are allowed in the contest)

/DupeType/ = Dupe-checking parameter for QSOs (not multipliers). Defines what combination of band, mode and callsign constitute a duplicate entry. Valid values are 1, 2, 3 , 4 – default is 2
1 = All bands (stations may be worked only once in the contest)
2 = Each band (stations may be worked once on each band – default value)
3 = Each band & mode (stations may be worked on each band/mode combination, e.g. 40 SSB, 40 CW, 40 RTTY)
4 = no check (stations may be worked multiple times per band/mode)

Also used in the Multiplier window to show modes (when 2 or 3) in the Section window.

/Multiplier1Name/ = See table below

/Multiplier2Name/ = See table below (or N/A if the contest recognizes only one multiplier type)

/Multiplier3Name/ = See table below (or N/A if the contest recognizes only one multiplier type)

CountryPrefix = Each country is a multiplier Example: DL, PA etc (uses WL_CTY.DAT)
WPXPrefix = Each Prefix is a multiplier
Sect = Each Section is a multiplier (Need a *.sec file loaded with button “Import Section File” in the Contest Selection window. The MultWindowType below should match the name of .sec file and Type value in the first line of that file). The length of .sec file name and MultWindowType parameter should not be more than 9 characters.
ZN = Each CQ Zone is a multiplier (max. 40)
MiscText = Each misc. text is a multiplier
Continent = Each continent is a multiplier
GridSquare = Each GridSquare is a multiplier
Comment = Each Comment is a multiplier
N/A = There is NO multiplier (mostly only IsMultiplier2 and/or IsMultiplier3)

/MultSqlString/ = See table below

/MultSqlString2/ = See table below (or N/A if the contest recognizes only one multiplier type)

/MultSqlString3/ = See table below (or N/A if the contest recognizes only one multiplier type)

MultSqlString = CountryPrefix (new country will be counted as multiplier). EU_Country, AS_Country, NA_Country, SA_Country, AF_Country are allowed to limit multipliers to one continent
MultSqlString = Section (new section will be counted as multiplier)
MultSqlString = WPXPrefix (new WPXPrefix will be counted as multiplier)
MultSqlString = N/A (no multipliers)
MultSqlString = Grid (new 4 char. GridSquare will be counted as multiplier)
MultSqlString = CallSign (new CallSign will be counted as multiplier). NOTE – uses MiscText to store callsign
MultSqlString = SGrid (new 6 char. GridSquare will be counted as multiplier)
MultSqlString = FirstQSO (first QSO on every band (mode) will be counted as multiplier)
MultSqlString = CallHist (count callsigns in CallHistory file as multiplier), make sure to import proper Call History file and turn Call History Lookup on.
MultSqlString = Misc (new value in MiscText will be counted as multiplier)
MultSqlString = Exchange (new value in Exchange will be counted as multiplier)
MultSqlString = CQZONE (new CQ Zone will be counted as multiplier)
MultSqlString = IARUZONE (new IARU Zone will be counted as multiplier). MiscText should be used to enter and keep IARU Zone for every QSO.
MultSqlString = 2LPREFIX (new 2-letter prefix will be counted as multiplier). MiscText will be used to keep 2-letter prefix for every QSO. Only works with some prefixes in CountMultOnlyFor.
MultSqlString = LASTLETTER (new last callsign letter will be counted as multiplier). MiscText will be used to keep last callsign letter for every QSO.
MultSqlString = FIELD First two characters of Grid or Locator will be counted as a Multiplier

/Period/ = How many days is the contest (not used at the moment). Options are 1 or 2, currently always 2

/PointsPerContact/ = Default 1. May be any integer.
You can put several parameters in one line. Separate each with a comma: For example OH, 5, SM, 5, MyCountry, 1, SameContinent, 2, OtherContinent, 3 (will award 5 points for QSOs with OH or SM, 1 point for contacts in your own country, etc. (NOTE: country prefixes should match those that are in wl_cty.dat file and be the first in line if used)
Another example: SSB, 2, CW, 3, DIGI, 4, RTTY, 4, PSK, 5, FM, 2
(2 points for SSB, 3 points for CW, 4 for RTTY and so on)
And yet another: 160m, 5, 80m, 4, 40m, 3( 5 points for QSO on 160m and so on). In this type of entry, the allowed bands are 160m, 80m, 40m, 20m, 15m, 10m, 6m, 4m, 2m, 1.25m, 70cm, 33cm, 23cm, 13cm, 9cm. The values for this parameter can be mixed, but if the QSO meets two or more criteria (for example, 160m and OH), then priority order will be: band, mode, continent, country.
IsMisc, 3 – number of points to give if there is any value in MiscText
IsComment, 4 – number of points to give if there is any value in Comment
NOTE: for VHF contests the numeric value will be used as the multiplier, i.e. KM*multiplier.
Exchange, * – use numeric value entered in Exchange as Points (do not replace *, just use “Exchange, *”)
Misc, * – use numeric value entered in Misc as Points (do not replace *, just use “Misc, *”)
Exch, 3 – if anything in Exchange, give the number of points specified (3 in this example)
ExchIsNum, 4 – if numeric value in Exchange, give the number of points specified
MiscIsNum, 4 – if numeric value in Misc, give the number of points specified
ExchIsNotNum, 5 – if value in Misc is not numeric, give the number of point specified
/P, 5 – if portable station, give the number of points specified (can use /A, /M, /AM, /MM, /QRP, /QRPP as well)
EU, 10 – give the specified number of points (10 in this example) for EU station (can use AF, AS, AN, SA, NA, OC as well)
SectIs_xxx, nnn – xxx is a set of characters (maximum 10) and nnn is the number of points to give (e.g. SectIs_TB, 7 – award 7 points for TB section). NOTE: If there are several parameters for PointsPerContact, SectIs_xxx must come first.

ExchIs_xxx, nnn or ExchIs_xxx, +nnn where xxx is a string of characters (up to 10) and nnn is the number of points to be allocated if xxx matches what is in Exchange1Text.
MiscIs_xxx, nnn or MiscIs_xxx, +nnn where xxx is a string of characters (up to 10) and nnn is the number of points to be allocated if xxx matches what is in MiscText.
MyGrid, nnn – give nnn points for Q’s with the same Grid as mine (for VHF/UHF contests only).
For (VHF or not) contests KM distance can be converted into points using table. For example: /PointsPerContact/ = 1/600/10; 601/1200/13; 1201/1800/16; will convert distance from 1 to 600 km into 10 point, from 601 to 1200 km – into 13 points and so on.
NOTE: use “;” instead of “,” to separate each 3 numbers group from each other. Make sure to put at least one character “;” to make it work.
MyCQZone, n – if CQ zone is the same as mine give n points (number of points can be different, does not work for VHF contests)
MyIARUZone, n – if IARU zone is the same as mine give n points (number of points can be different, does not work for VHF contests)
ExchIs_Empty, nnn or ExchIs_Empty, +nnn where nnn is the number of points (can be 0) to be allocated if Exchange1Text field is empty. Should be first in line if other arguments for this parameter are used.
ExchIsxxx, nnn or ExchIsxxx, +nnn where xxx is a string of characters (up to 10) and nnn (or +nnn if bonus points should be added to other points) is the number of points to be allocated if xxx was found in Exchange1Text string of characters.
Example: PointsPerContact = ExchIs*OB, 15; QSO with any station from RDA OB01-OB53 will be awarded with 15 points
SAMECONTINENT+80, n or SAMECONTINENT+40, n – add n points for QSO on 80 or 40m with the same continent
OTHERCONTINENT+80, n or OTHERCONTINENT+40, n – add n points for QSO on 80 or 40m with other continent
MyExchange, nnn – give nnn points for Qs with stations with the same Exchange as mine

/PointsMultAtTimeLocal/ = 0000, 2359, n
Points for QSOs made from 00:00 to 23:59 LOCAL time will be multiplied by n (default 2). Note: 24 hours format should be used (no AM or PM) but do not use 24:00, use 23:59 instead.

/PointsMultAtTimeGMT/ = 0000, 2359, n
Points for QSOs made from 00:00 to 23:59 GMT time will be multiplied by n (default 2). Note: 24 hours format should be used (no AM or PM) but do not use 24:00, use 23:59 instead.

/PointsMultByMode/ = CW, 3, USB, 2, LSB, 2
Points for QSOs made in specific mode will be multiplied by corresponding number. Supported modes are: CW, USB, LSB, DIGI, RTTY, PSK, FM, AM

/PointsMultByBand/ = 1.8, 4, 3.5, 3, 7, 2 (band1, multiplier1, band2, multiplier2, …)
Points for QSOs made on specific band will be multiplied by corresponding number. Supported bands are: 1.8, 3.5, 7, 14, 21, 28, 50, 70, 144, 222, 420, 902, 1240, 2300, 3300,…
WARC band are also supported.

/PointsMultByContinent/ = MyContinent, 1, OtherContinent, 2
Points for QSOs with specific continent(s) will be multiplied by corresponding number. Supported arguments are: MyContinent, OtherContinent, AS, AF, EU, SA, NA, OC

/PointsMultByCountry/ = SV5, 3, SV9, 3
Points for QSOs with specific country(s) will be multiplied by corresponding number. Supported arguments are all countries from wl_cty.dat file

/PointsMultByCategory/ = QRP, 2
Points for QSOs with /QRP or /QRPP stations will be multiplied by corresponding number. Supported arguments are: QRP, QRPP

/ShowMyCountryStations/ = True(default) or False
True Yes show My Country stations in the bandmap (normal)
False No don’t show them in the bandmap

/ShowWarcBands/ = True or False(default)
True Yes show the WARC bands (only for general logging (DX)
False No don’t show WARC bands (all contests)

/ZoneType/ = CQ(default) or IARU
CQ* CQ type zones should be shown (for most contests)
IARU IARU zones should be shown

/MultWindowType/ = see table below (default is Section)

State = US states
StateProvince = US states and Canadian Provinces are both valid entries
Province = Canadian Provinces (or 13P)
Section = ARRL sections (or 48S14P, 48SDC14P, 49S8P, 50S8P, 50S10P, 50S13P, 50S13PCY0, 50S14P, 50SDC14P, 50SDC10P, 71SEC13WB, 50SDC13P, 50S13RAC, 50S9P, 50S11P, 50SNOLAB, 50S14PNT… see StatesAndProvinces.sec file for more options)
Provincie = Netherlands Provinces (for PACC Contest)
DOK = DOK letters letters: A to Z not Q for WAG contest
UBA = ON contest
Oblast = Russian oblasts
AnyName = Prepare AnyName.sec file with the list of sections (look at any *.sec for sample). NOTE: This NAME should not be longer than 9 characters!

/CQZoneMultContest/ = True or False(default)
True Contest uses CQ zones as a second multiplier e.g. CQWW
False It doesn’t! (Mostly)

/NumMults/ = 0, 1 (default), 2 or 3
0 for Field Day or other contests with no multiplier
1 for most contests
2 for CQWW (i.e. Country and Zone)
3 if three multipliers

/BonusPoints/ =
Several bonus callsigns, DXCC entities, /P, /M or /QRP stations are allowed, use comma to separate bonus call from bonus points. Leave empty
if no bonus station(s) or countries.
Example: RM1DZ, 20, RA1DZ, 20, DL, 25, /M, 4, /P, 2, /QRP, 5,IsComment,6, IsMult1,10
IsComment, n: give n points if there is anything in the Comment field
IsComment,*: give the number of points in the Comment field (if there are several numbers in the Comment field, only the first one will be used)
If IsMult1(2,3) is used it will work for all QSOs except the last one in the log. The last QSO in the log will give BonusPoints after manual rescore only.
ExchIs_xxx, nnn where xxx is a string of characters (up to 10) to be matched from the Exch field and nnn is the number of points to be allocated.
MiscIs_xxx, nnn where xxx is a string of characters (up to 10) to be matched from the Misc field and nnn is the number of points to be allocated.
NOTE: During final points calculation if BonusPoints are not 0 then PointsPerContact value will be ignored.
If you would like bonus points to be added to PointsPerContact add “+” character in front of the value like this: BonusPoints =F, +25, F4GVZ, +105, IsComment, +10, IsMult1, +50.
If you would like bonus points to be multiplied by some factor, add “*” character in front of the value
To add points from the Comment field to PointsPerContact, use IsComment, +*; to add points from ExchIs, use ExchIs, +nnn. To multiply points from the Comment field by PointsPerContact, use IsComment, ** .

If IsMult1(2,3) is used it will work for all QSOs except the last one in the log. The last QSO in the log will give BonusPoints after manual rescore only.
ExchIs_xxx, nnn or ExchIs_xxx, +nnn where xxx is a string of characters (up to 10) and nnn (or +nnn if bonus points should be added to other points) is the number of points to be allocated if xxx matches what is in Exchange1Text.
MiscIs_xxx, nnn or MiscIs_xxx, +nnn where xxx is a string of characters (up to 10) and nnn (or +nnn if bonus points should be added to other points) is the number of points to be allocated if xxx matches what is in MiscText
ExchIsNum, n or ExchIsNum, +n – give n (or +n) points if there is any numeric value in Exchange1.
ExchIsNotNum, n or ExchIsNotNum, +n – give n (or +n) points if there is not numeric value in Exchange1.
ExchIs_Empty, nnn or ExchIs_Empty, +nnn where nnn is the number of points to be allocated (can be 0) if Exchange1Text field is empty. Should be first in line if other arguments for this parameter are used.
Modes can be used in this parameter: for example SSB, +2, CW, +3, DIGI, +4, RTTY, +10, PSK, +5, AM, +3, FM, +4
ExchIsxxx, nnn or ExchIsxxx, +nnn where xxx is a string of characters (up to 10) and nnn (or +nnn if bonus points should be added to other points) is the number of points to be allocated if xxx was found in Exchange1Text string of characters.
Example: PointsPerContact = ExchIs*OB, 15; QSO with any station from RDA OB01-OB53 will be awarded with 15 points

/BonusPoints2/ = points, filename
This allows using a file with a number of Callsigns that give bonus points.
Parameter format: BonusPoints2 = 5, BonusPoints.txt (points, file name). Filename can be any name with the extension *.txt but the file must be in the main Logger folder. Every callsign in the file should have a comma at the end, including the last one:

< file starts >
Call1,
Call2,
Call3,
…,
LastCall,
< file ends >

or

< file starts > Call1, Call2, Call3, … LastCall, < file ends >

BonusPoints2 extends BonusPoints but has higher priority. In other words, if the callsign is found in the BonusPoints string and also in the file
BonusPoints.txt, then the bonus point assigned for BonuPoints2 will be used. If you would like bonus points to be added to PointsPerContact add “+” character in front of the value like this: /BonusPoints2/ = +5, BonusPoints.txt

To give specific number of points for the grid use BonusPoints2 = (+)1, Grids.txt. File Grids.txt should be placed into C:\Users{user}\Documents\N1MM Logger+\SupportFiles folder and it should have one or several lines of text:


Grid1, points1
Grid2, points2
Grid3, points3


NOTE: Grid1, Grid2, Grid3… – 4-letter GridSquare.

/DoNotCountMeAsMult/ = True or False (default)
True Do not count Multiplier1 for my Country, Section or WPX prefix (depends on what was set as MultSqlString)
False Count Multiplier1 for my Country, Section or WPX prefix.

/DoNotCountMeAsMult2/= True or False (default)
True Do not count Multiplier2 for my Country, Section or WPX prefix (depends on what was set as MultSqlString2)
False Count Multiplier2 for my Country, Section or WPX prefix.

/DoNotCountMeAsMult3/= True or False (default)
True Do not count Multiplier3 for my Country, Section or WPX prefix (depends on what was set as MultSqlString3)
False Count Multiplier3 for my Country, Section or WPX prefix.

/CountMultOnlyFor/ =
Default value is empty. Set it to one or several countries from the wl_cty.dat file to make the multiplier work for those countries only.
Example: CountMultOnlyFor =G, GW, GM, GI, GD, GU, GJ. Do not use too many countries here – it may stop working if the line is too long and also will slow down the computer .

/CountMultOnlyFor2/ =
Same as for /CountMultOnlyFor/ but will be applied for Multiplier2

/CountMultOnlyFor3/ =
Same as for /CountMultOnlyFor/ but will be applied for Multiplier3

/DoNotCountMultOnlyFor/ =
Default value is empty. Set it to one or several countries from the wl_cty.dat file to make the multiplier not work for those countries only. Example: DoNotCountMultOnlyFor =G, GW, GM, GI, GD, GU, GJ. DO not use too many countries here – it may stop working if the line is too long and also will slow down the computer.

You can also use continents abbreviations (NA, SA, EU, AF, OC, AS)

/DoNotCountMultOnlyFor2/ =
Same as for /DoNotCountMultOnlyFor/ but will be applied for Multiplier2

/DoNotCountMultOnlyFor3/ =
Same as for /DoNotCountMultOnlyFor/ but will be applied for Multiplier3

/CountMultOnlyForSec/ =
Default value is empty. Set it to one or several sections from the .sec file to make the multiplier work for those sections only. Example: CountMultOnlyForSec = MA, MO. Do not use too many sections here – it may stop working if the line is too long and also will slow down the computer.

/CountMultOnlyForSec2/ =
Same as for /CountMultOnlyForSec/ but will be applied for Multiplier2

/CountMultOnlyForSec3/ =
Same as for /CountMultOnlyForSec/ but will be applied for Multiplier3

/MultiplierBands/ = 1 (default), 2, 3 or 4
1 All HF Contest Bands
2 All HF Bands
3 All HF Contest Bands plus 6 meters and 2 meters
4 All VHF Bands

/QsoErrorString/ = The exchange field will be checked according to this setting before logging QSO
Numeric – only numbers allowed (like serial number) 12 characters max, empty field will be accepted.
Numeric_not_Empty – as above, but empty field will not be accepted.
Any – both numbers and letters allowed (12 characters max), empty field will be accepted.
Any_not_Empty – as above, but empty field will not be accepted.

NOTE: The above properties apply only to the fields EXCHANGE1TEXT, MISCTEXT, COMMENTTEXT and NAMETEXT. 

Note2: for RcvNrText only “Any_Not_Empty” or “Any” can be used
For more flexibility you can put more than one value (separated with comma !) like this: Exchange1Text_Any_not_Empty, CommentText_Any, MiscText_Numeric …

Grid – Grid Square Text, 4 or 6 characters, empty field will not be accepted.
If none of the above, put in some text (“XXXX” for example) in order that only exchanges listed in XXXX.sec file will be accepted (maximum of 9 characters in XXXX).
Add _or_Empty (e.g. Sect_or_Empty) to allow empty fields as well as exchanges listed in the .sec file.
If this parameter is left empty, then do not check (anything including empty field will be accepted, 12 characters max)

/EntryWindowInfo/ = List of EntryWindow items from the table below, each followed by a number indicating the field width

Example: SNTText, 500, SntNrText, 700, RCVText, 500, Exchange1Text, 500

The following table shows possible EntryWindow Items, followed by the width normally used.

Name Width Max.Length Comment
SNTText 450 10 Sent exchange field
RCVText 450 15 Received exchange field (default 59 or 599)
NameText 855 20 Name field, only letters allowed
CommentText 1695 60 Comment field, space allowed so SPACE as tab does not work here!!
SntNrText 625 5 Sent following number field, autonumber by program
RcvNrText 625 5 Received following number field, only numbers are allowed!!
Exchange1Text 615 12 Exchange field, both numbers and letters allowed. (Must be used for Section, recommended for Zone, see note for FrameText below)
GridSquareText 600 6 textbox for Grid squares
MiscText 600 15 Misc. textbox
SectText 600 15 Sect. textbox

/FrameText/ = SntRpt SntNR RcvRpt NR
These are the names displayed on top of each field of Entry Window, except for the callsign. Adjust the field names and spacing for the frame text by adding/deleting spaces in this line. Any names allowed.

Note: If you would like to prefill proper zone from wl_cty.dat file (it will show up in Exchange1Text field), use “CQ” or “IARU” in the ZoneType parameter (example: ZoneType =CQ) and put “CQZone” or “IARUZone” in FrameText (example: FrameText =SntRST RcvRST CQZone).

/LogInfo/ = List of Log Window items from the list below, each followed by a number indicating the field width

SentReport, SentNR, ReceiveReport, NR, IsMultiplier1, IsMultiplier2, CountryPrefix, GridSquare, Exchange1, MiscText, Points, opname, Comment, SectionText

Example: SentReport, 500, SentNR, 500, ReceiveReport, 500, NR, 500, Points, 500

Comment: adjust the field names and spacing for the log window by adding/deleting relevant name and length (only names in the list are allowed)

/DefaultContestExchange/ = (default is 001)
This will show up in the contest selection window for editing. It may have two or three parts like this: “001 Prov”, “001 NA123”. If the first part is 001 the logger will generate a serial number for every QSO and the second part will be sent by F2 with the number unchanged

Last2L – to set sent exchange = RS(T) + Last 2 letters of previous call (anything after “/” will be ignored). Use {SENTRST} in F2 macro to send RST and last 2 letters. Add GridSquareText in EntryWindowInfo parameter to display RS(T) + Last 2 letters on the screen (may be useful in SSB mode). Note: {SENTRSTCUT} will not send cut numbers in RST when using this exchange.
LastCallSuff – to set sent exchange = RS(T) + suffix of previous call (anything after “/” will be ignored). Use {SENTRST} in F2 macro to send RST and suffix of previous call. Do not use GridSquareText in EntryWindowInfo parameter to display suffix on the screen , as this will break ESM. Note: {SENTRSTCUT} will not send cut numbers in RST when using this exchange.

Do not add GridSquareText in EntryWindowInfo parameter to display suffix on the screen – this will break ESM.
it can be combined with serial number, i.e. DefaultContestExchange = 001 LastCallSuff can be used; DO NOT use {EXCH} in Macro files.

/IsWorkable/ = choose from list below (default is Any)
Any, MyContinentOnly, NAonly, SAonly, EUonly, ASIAonly, AFonly, OConly, MyCountryOnly, ExceptMyCountry, or a list of countries (prefixes from wl_cty.dat file) separated by comma: UA2, UA, UA9. In the last case make sure you are using correct prefixes

/SpecialInstructions/ =
Special Instructions. Any text terminated by CR/LF This message will show up after Cabrillo file was generated – use
it for a note to the operator. Leave it empty if not needed.

/DupeSqlString/ = 0(default), 1, 2, 3 or 4
Select clause that will uniquely identify a dupe:
0- turns it off,
1 – use Section,
2 – use whatever is in ExchangeText,
3- use mode (this will allow QSO with same station but different modes (CW, SSB, FM, AM)
4- use GridSquare; This is needed for qso parties where you can have mobile stations in different counties.

/StartOfContest/ = see below
Example 7, 1.5
First number – day of week (Saturday=1, Sunday=2, Monday=3,….., Friday=7) Second number – offset in hours (1.5 = 1 hour and 30 minutes) relative to GMT time, i.e. if it starts at 00.00 GMT the offset should be 0. This will be used to calculate OFF times.

/EndOfContest/ = 1, 1.5 Same format as for StartOfContest. This will be used to calculate OFF times

/IsMultPer/ = 0(default), 1, 2, 3 or 4
0 NoMults
1 OncePerBand
2 OncePerMode
3 OncePerBandAndMode
4 OncePerContest

/IsMult1Per/ = as above, but affects Multiplier 1 only
/IsMult2Per/ = as above, but affects Multiplier 2 only
/IsMult3Per/ = as above, but affects Multiplier 3 only

/MinimumOffTime/ = Min. Off time in minutes (default = 30)

/UsesWAECountries/ = True or False (default)
Answer whether this contest uses the WAE countries list (countries with ‘*’ in cty.dat). For example, for CQWW it should be True

/SetSentTimeForContact/ = True or False (default)
Used to set Sent Time in contests that require it. See CBARGT for use

/ScoreSummaryMultNames/ = Sec, Cty or Grd
Used to set title of Mult column in Score Summary

/WebAddress/ = Web address for the contest rules (CURRENTLY NOT WORKING)
Example: http://www.srr.ru/CONTEST/cup_raem_engl_08.php

/CabrilloFormat/ = 0, 1(default), 2, 3, 4, 5 or 99
0 = Cabrillo is not supported
1= standard format
2 = NAQP format
3 = NASPRINT format
4 = SS (Sweepstakes) format
5 = RFC (Russian Federation Cup) format
99 = handcoded, uses CabrilloString (see below)

/CabrilloString/ =
Format: value1 name, value1 width, value2 name, value2 width, …
Will work with: SNT, SentNr, CallSign, RCV, RcvNr, Comment, GridSquare, Exchange1, Name, SentExch, SentExchPart1, SentExchPart2, SentExchPart3
Example: SNT, 4, SentNr, 4, CallSign, 13, RCV, 4, RcvNr, 4, Comment, 40

To add some number of spaces use Space, N (N – number of spaces)

/GenericPrintString/ = This will configure Generic file output that can be used instead of Cabrillo.
Format: value1 name, value1 width, value2 name, value2 width, …
Will work with: SNT, SentNr, CallSign, RCV, RcvNr, Comment, GridSquare, Exchange1, Name, Points, SentExch, SentExchPart1, SentExchPart2, SentExchPart3, Multiplier1, Multiplier2, Multiplier3.
Example: SNT, 4, SentNr, 0, CallSign, 15, RCV, 4, RcvNr, 0, Comment, 12

/GenericPrintStringHeader/ = header text
Adjust the names and number of spaces here according to the values in GenericPrintString (above)
Example: Date Time Freq Mode MyCall RST Snt Call RST Rcvd Comment

/QsoNumbersByBand/ = 0(default), 1 or 2
0 = Use a single sequence of QSO numbers (default)
1 = QSO Numbers by Band for all categories
2 = QSO Numbers by Band for Multi-Multi category only

/DigitalModeSqlString/ = True or False(default)
True Used to merge RTTY and PSK into one digital contest mode

/MultipleSessions/ = multiple session information
Leave it empty if the contest time is not broken into sessions
Examples: 0000/30 – starting at 00:00 UTC, sessions = 30 minutes 0000/60 – starting at 00:00 UTC, sessions = 60 minutes 0000/200 – starting at 00:00 UTC, sessions = 2.00 hours It is OK to use 0000 for contest start time if it starts in the beginning of any other hour and sessions are less than or equal to 60 minutes. Dupes will be allowed when new session starts. Dupes will be allowed when new session starts and the Multiplier window will be cleared upon first contact in the new session. Minimum session length is 10 minutes.

NOTE: TOUR command – A very few contests allow for multiple sessions in which you can work the same station in every session for QSO credit.
You can enter TOUR into the Entry window in place of a call sign to reset dupe checking at any time before or during the contest.
This command has 2 required parameters that are entered into the Sent RST field, separated by a forward slash “/”. The first parameter is the time when the current session begins (GMT)
and the second parameter is the duration of the session. The format for both parameters is hhmm. For example, 1200/30 means the session starts at 1200Z and has a duration of 30 minutes.
The minimum value for the duration parameter is 5 (5 minutes). If the TOUR command is entered without any parameters, the current values of the start time and duration will be displayed.
The default values are 0000/00. At the beginning of each session the start time and duration will be displayed in the status field at the bottom of the Entry Window.
After the first QSO has been logged during the new session you should see the Multiplier window reset and dupes will be reset for this new session as well.
Most of the contests supported by the Logger do not need this command but some (mostly Russian and Ukrainian) have it built into the contest module and do not require it entered manually.
If you are planning on using TOUR command with other contests, keep in mind that settings for it will be lost when the Logger is restarted.
If the Snt (sent RST) field is not displayed in the Entry window, you should be able to use MiscText, Exchange1Text, SectionText and NameText fields in EW.

/ResetMultsEverySession/ = 0 (default) or 1
When MultipleSessions is used, this parameter will allow multipliers to be reset in the beginning of every new time session, if set to 1.

/ResetSNEverySession/ = 0 (default) or 1
When MultipleSessions is used, this parameter will allow serial numbers to be reset in the beginning of every new time session, if set to 1.

/CabrilloVersion/ = 2.0 (default) or 3.0
When set to 3.0 the log file will be saved using version 3.0 of Cabrillo format. Also new fields will show up in the contest configuration window. Any other value or if left empty will turn on Cabrillo version 2.0

/MultMult/ = 0 or 1(default)

/MultMult2/ = 0 or 1(default)

/MultMult3/ = 0 or 1(default)

When any of these 3 values is changed to 0, the multiplier will not be used for score calculation. This is useful when you need to use multipliers for display purposes only (Band Maps and Available windows).

/BandChangesPerPeriod/ = limit on number of band changes per session (default 10000)
–THIS IS NO LONGER USED. REPLACE IT WITH NEW PARAMS FOR BAND CHANGE TIMER/COUNTER LISTED BELOW 
When set to a smaller number (for example 5) there will be a reminder at the bottom of Entry Window about number of band changes approaching the limit. Also at any time you can check how many band changes were already made if you move cursor over the Exchange frame (located to the right of the Callsign frame). Internal BandChange counter gets reset in the beginning of every time period set by /MultipleSessions/ parameter. Setting the /MultipleSessions/ parameter is not required for this parameter to work. In this case the whole contest time will be used to count band changes. Note: the internal band change counter gets reset every time the logger restarts.

/SingleOpCountableBandChange/ = True or False (default)
If set to TRUE Band Change Counter in the Info window will be enabled for Single Op categories.

/MultiOpCountableBandChange/ = True or False (default)
If set to TRUE Band Change Counter in the Info window will be enabled for Multi Op categories.

/CountBandOrModeChange/ = True or False (default)
If set to TRUE Band Change Counter in the Info window will be counting both band and mode changes.

/SOBandChangeCountMax/ = Number of band changes allowed for Single Op categories (default 0 = no limit imposed).
If CountBandChangesPerContest or CountBandChangesPerPeriod are not set to TRUE, band changes will be counated per clock hour.

/MOBandChangeCountMax/ = Number of band changes allowed for Multi Op categories (default 0 = no limit imposed).
If CountBandChangesPerContest or CountBandChangesPerPeriod are not set to TRUE, band changes will be counted per clock hour.

/CountBandChangesPerContest/ = True or False (default)
If set to TRUE Band Change Counter will never be reset during the whole contest time.

/CountBandChangesPerPeriod/ = True or False (default)
If set to TRUE Band Change Counter will be reset for every contest period/session (see MultipleSessions parameter).

/SOBandChangeTimerDuration/ = Number of minutes Single Op station must stay on a new band (default 0 = no time limit).
If >0, band change timer will show up in Info window.

/MOBandChangeTimerDuration/ = Number of minutes Multi Op station must stay on a new band (default 0 = no time limit).
If >0, band change timer will show up in Info window.

NOTE: Counter will show up in Info window only if xxxxCountableBandChange param is set to true AND xxBandChangeCountMax is set a value > 0.
Timer will show up in Info window when it is set to a value > 0.To see a new value in the Counter or Timer you should make a QSO on the new band, that is how both Counter and Timer are getting initiated. The Timer will count down to tell operator how much time he/she will have to stay on this new band and Counter will count all band changes changing it’s background color based on its value (if it is max-1, it will be yellow and if it is = max, it will be red).

/UsesLASTEXCHmacro/ = True or False (default False)
Answer whether this contest uses {LASTEXCH} in .mc files (it should be True if you are planning to use macro {LASTEXCH}).
Note: use MiscText in the Entry Window for received exchange, and LastExch with Misc in the CabrilloString (see FRN_CN_US.udc as an example)

/DupeQSOMinutesAgo/ = AllowableTime, CompareToSecond, IgnoreBand, InfoStatus, ThisMode (example: DupeQSOMinutesAgo = 10, True, False, True, False)

AllowableTime (number), QSO with the same station is allowed after this amount of minutes (0 will disable this UDC parameter)
CompareToSecond (default = True), if set to False compute time since last QSO based on minutes discarding seconds.
IgnoreBand (default = False), if set to True search for a Dupe QSO regadless of the band.
InfoStatus (default = True), if set to True the attemp to make a QSO too early will display this message in the Info window: “CallSign worked nn minutes ago”.
ThisMode (default = False), if set to False search for a Dupe QSO regadless of the mode.
Note: /DupeType/ should be set to 4 to get this parameter working properly. Spots in the BandMaps are scanned every 30 seconds to repaint Callsigns (change Grey color to Blue or Red) is station can be worked again.

/PowerMult/ = QRPP, 5, QRP, 3, LP, 2, HP, 1 (this is an example, numbers can be different)

Multiplies the score by specified multiplier depending on the station power category selected in the contest configuration window.

/OverlayCategory/ = “”*

Adds non-standard name to Overlay category to drop-down menu in the contest setup window.

/SelfSpotAllowed/ = False

This parameter allows using {SPOTME} macro in UDCs when set to True

Comments are closed.