Act on the .udc session, off-time and band-change settings

Four settings were read by nothing.

MultipleSessions = 0000/30 runs the contest in half-hour sessions from
00:00 UTC. The session is part of the dupe key, so a station worked in
an earlier one may be worked again, and ResetMultsEverySession and
ResetSNEverySession start the multipliers and the serial numbers over.

DupeQSOMinutesAgo is the other way back to a station: after so many
minutes rather than in the next session. The log holds the time of the
last contact per dupe key instead of only the key, and the setting's
IgnoreBand and ThisMode decide the scope, because a file that uses it
turns DupeType off.

MinimumOffTime drives the time on and time off the score summary now
shows under the score, and beside them are the band changes made against
the allowance for a contest that limits them. N1MM's countdown for the
minutes you have to stay on a new band needs its info window and is not
here.

UdcFile.Flag now takes 1 and 0 as well as True and False, which is what
these settings are written as and what N1MM reads.

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 13:32:01 +00:00
parent e3fa979584
commit 6c2ee0f78f
15 changed files with 551 additions and 28 deletions

View File

@@ -428,6 +428,26 @@ a `CQZone` column fills that in.
A spot carries no mode either. Stations are judged in the mode the radio is in,
so in a mixed-mode contest the answer follows the operator.
### Sessions, time off and band changes
A contest can be run in sessions, and a `.udc` file says so with
`MultipleSessions = 0000/30` — sessions of thirty minutes from 00:00 UTC. A
station worked in an earlier session may be worked again, and
`ResetMultsEverySession` and `ResetSNEverySession` start the multipliers and the
serial numbers over as well.
`DupeQSOMinutesAgo` is the other way a contest lets a station be worked again:
after so many minutes rather than in the next session. Its `IgnoreBand` and
`ThisMode` settings decide whether the earlier contact is looked for on this
band only and in this mode only.
The score summary shows the time on and the time off under the score. A break
counts as time off once it is as long as the contest's `MinimumOffTime`, which
is 30 minutes unless the file says otherwise. Next to them, for a contest that
limits band changes, are the changes made and the allowance —
`SingleOpCountableBandChange` and the rest of that family. N1MM's countdown for
the minutes you have to stay on a new band is not here.
### Radios
**Config → Radios** takes a `rigctld` address per radio. Each radio needs its