CQWWRTTY resolved to the built-in CQ WW with the mode set to digital, and then scored it as though it were the CW running: a contact inside your own country worth nothing, two multiplier types, and CQ-WW-SSB in the Cabrillo header. Every one of those is wrong for RTTY, and wrong quietly, which is the worst way. RTTY is a different contest wearing the same name. Every contact scores — 1 inside your own country, 2 on your own continent, 3 off it. The exchange carries the state or province after the zone, and that is a third multiplier per band. A station outside the US and Canada sends DX there, so the box is not required and DX brings no multiplier. The state box being optional is deliberate: most of the log is DX stations, and holding up an entry for a box that will hold DX costs more than it is worth. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
91 lines
5.2 KiB
Markdown
91 lines
5.2 KiB
Markdown
# What is not finished, and what has not been tested
|
|
|
|
Two separate lists. A feature can be finished and untested, or half-built and
|
|
exercised every day. Written 2026-08-27.
|
|
|
|
## Never run against the real thing
|
|
|
|
Everything below is written from a published protocol or from N1MM's source and
|
|
tested against a fake that speaks the same protocol. A fake agrees with whatever
|
|
the person who wrote it believed, so these are the places where a wrong belief
|
|
is still sitting there undiscovered.
|
|
|
|
| What | Tested against | What has never happened |
|
|
|---|---|---|
|
|
| `RigctldRadio` | a stand-in for `rigctld` over a real socket | no real `rigctld`, no real radio. The extended answer format, the `+` prefix and the split commands are from the documented protocol. If the format is wrong, nothing works rather than something being subtly off — check this first. |
|
|
| `OtrspBox` | a `MemoryStream`, checking the bytes | no real SO2R box. Command forms are from N1MM's `N1MMPort.cs`. |
|
|
| `ClusterClient` | a node fake over a real socket, sending the telnet negotiation, the login prompt and spot lines | no live cluster node. Which nodes send bare CR, and which send option negotiation, is guessed from N1MM's code. |
|
|
| `StationNetwork` | the message format, round-tripped | no second station, and no N1MM on the same network. |
|
|
| `CwDaemonSender` | the UDP messages, and a fake daemon that answers the `<ESC>h` reply request | no `cwdaemon`, no radio keyed. |
|
|
| `WinkeyerSender` | the status-byte reader, on its own | no test of the serial side, and no WinKeyer. The host-mode open sequence is from the WinKeyer datasheet; the status bits are from N1MM's `Winkey.cs`. |
|
|
|
|
The Cabrillo output has not been put in front of a contest sponsor's robot.
|
|
|
|
## Half-built
|
|
|
|
**Voice keying.** `MessageSender` was written to cover a voice keyer playing a
|
|
recording, and nothing implements it. No DVK support either, so the second radio
|
|
of an SO2R station cannot call CQ by voice. Alternating CQ therefore works on CW
|
|
only, though nothing in it is CW-specific: a voice keyer that reports when the
|
|
recording has finished would drive it as it stands.
|
|
|
|
**Alternating CQ does not restart itself after a contact.** Escape stops it, and
|
|
it has to be started again with Ctrl+B. N1MM carries on calling after the QSO is
|
|
logged.
|
|
|
|
**Call history: the section-validating directives.** `!!Validate50State!!`,
|
|
`!!ValidateArrlSection!!`, `!!MapOnSection!!` and `!!GTA2GH_NT2TER!!` are read
|
|
and passed over. Acting on them means holding N1MM's section lists and its
|
|
rules about which sections are retired, and getting that wrong throws away good
|
|
data. The file is read without them.
|
|
|
|
**QTC handling for WAE.** Not started. WAE logs will not be complete without it.
|
|
|
|
**Digital modes.** A contact can be logged as RTTY or another digital mode, and
|
|
the contest rules score it, but there is no digital window: no decoding, no
|
|
transmitting, no interface to fldigi, MMTTY or similar.
|
|
|
|
**Contest coverage.** Eight 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.
|
|
|
|
Most of what is missing does not need code. A contest whose exchange is a
|
|
report and one value, scored by band, mode, continent or country, and counted
|
|
by country, zone, section or prefix, is a `.udc` file, and the file published
|
|
for N1MM is read as it is. Code is for the ones `.udc` has no words for: WAE
|
|
needs QTC traffic, IOTA needs island references as multipliers, and CQ WW RTTY
|
|
needed a third multiplier and its own points table because it shares a name
|
|
with the CW and SSB running of the contest.
|
|
|
|
What `.udc` cannot say here yet: an exchange that differs by the other
|
|
station's country (the OK/OM district against a serial number from everyone
|
|
else), points that depend on a zone or a distance, and multiplier sources
|
|
beyond country, prefix, zone, section, exchange, grid and continent.
|
|
|
|
## Known rough edges
|
|
|
|
**The log window's column widths** are the grid's own automatic sizing with a
|
|
character-count floor. A column can change width as rows scroll into view.
|
|
|
|
**Contacts arriving over the station network** are applied from the socket
|
|
thread, and `AppSession.TakeFromNetwork` reopens the whole contest to do it.
|
|
That is correct but heavy, and it discards what is typed in an entry window on
|
|
another radio.
|
|
|
|
**The band plan covers 160M to 2M only.** 60M and everything above 2M get no
|
|
CW, digital or phone shading on the bandmap, because N1MM's own numbers for
|
|
those bands contradict themselves — its CW top for 1.25M is below its phone
|
|
start, and its 70CM CW top is above the band. Config ▸ Sub bands cannot add a
|
|
band that has no default.
|
|
|
|
**Available mults and Qs is only as good as the bandmap.** It lists what is
|
|
spotted, so a multiplier nobody has spotted is not there. N1MM's window also
|
|
shows the mults a contest has and nobody has worked, which needs a list of every
|
|
multiplier the contest counts. Only the section and state lists are held here,
|
|
so the zone and country lists would have to come from the country file first.
|
|
|
|
**Two entry windows and one keyer.** The SO2R box is told which radio to key
|
|
before each message, but nothing stops both radios sending at once if the
|
|
operator asks them to.
|