Let the published .udc files score the contests they are written for

I wrote SA 10 and OK/OM DX SSB in code after two failed attempts at the
download. The download works — the page posts a nonce with the form — and the
files say I got both contests wrong.

SA 10 is deleted from the code. Its file scores the station's log to the
contact, where the code had the wrong Cabrillo name and counted its multipliers
once in the contest rather than once per mode.

OK/OM DX now covers the CW running only, which is what N1MM's class is for and
what N1MM's own documentation says: the SSB running has different rules and a
pair of .udc files, one for each side. The CW rules go back to the class, so
Czechia and Slovakia are one side of the contest again. With the SSB files in
place both of the station's SSB logs score to the contact.

Reading those files turned up four things in the .udc reader: a file whose
extension is upper case was passed over, `Country` was not read as a
multiplier source, `OtherCountry` was not a points condition, and a section
multiplier counted the serial numbers the other side of a contest sends.

All Asian stays in code — N1MM has a class for it after all — with the Cabrillo
name and the band table it uses.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01RoGtneMQaz4M9w7Kk49AVD
This commit is contained in:
2026-08-31 10:00:21 +00:00
parent 264036f0f2
commit 38e9010802
13 changed files with 151 additions and 155 deletions

View File

@@ -92,7 +92,7 @@ which is too much work per spot for the little it would add.
the contest rules score it, but there is no digital window: no decoding, no
transmitting, no interface to fldigi, MMTTY or similar.
**Contest coverage.** Twenty-six families are built in, plus whatever `.udc` files
**Contest coverage.** Twenty-five families are built in, plus whatever `.udc` files
are in the user-defined folder. N1MM ships well over a hundred. Opening a log
from a contest that is in neither place fails with the contest name, which is
the right answer but it is still a wall.
@@ -136,10 +136,16 @@ What still differs, and why:
multiplier, which is not what N1MM's own class works out, so the log looks
like it was never scored. The rules here follow the class: 5 points for a
portable station, 2 for one in Region 1 at home and 3 from outside it.
- **All Asian and SA 10** have no class in N1MM — it logs them from a `.udc`
file — so the points and multipliers are written from the published rules and
from the station's log. Their Cabrillo names have not been checked against a
sponsor's robot.
- **SA 10 and OK/OM DX on SSB** are not written in code at all: both are
published as `.udc` files, and the files score the station's logs to the
contact. N1MM's OK/OM DX class is the CW running only and says so; the SSB
running has different rules and its own pair of files, one for each side of
the contest.
- **A `.udc` section multiplier** is counted for any exchange that is not all
digits. N1MM checks it against the section list the file names in
`MultWindowType`, and those lists are not held here, so a US state sent into
an OK/OM DX log counts here and not in N1MM. Three contacts across the two
logs.
- **The BARTG Sprint** stores the time of the contact in the exchange column,
which N1MM fills in by itself. Nothing here fills it in yet, so a log written
here carries the serial number alone.