Add the Broadcast Data dialog and send N1MM's score breakdown

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-24 03:42:19 +00:00
co-authored by Claude Sonnet 5.5
parent ec12fb1d0f
commit 65178b2d89
24 changed files with 1325 additions and 21 deletions
+23
View File
@@ -738,6 +738,29 @@ legend. It has no tooltips, no zoom and no 3-D, all of which N1MM's chart
control gives it for free. A column label that will not fit under its column is
turned on its side, and one that will not fit even then is left out.
## Broadcast data
What the Broadcast Data dialog saves but does not send yet, or sends in less
detail than N1MM:
- **Rotor.** The row is saved. Nothing sends `N1MMRotor` messages, because this
program has no rotor control.
- **Spots.** Only `add` goes out. N1MM also sends `delete` when a spot leaves the
bandmap. Spots that expire are not reported.
- **Score.** The rows, their order, the band and mode labels and the layout
follow N1MM's query and writer. The row set and order were checked against the
query on `om5m.s3db` for 62 contests. Points and multiplier flags come from our
own scoring, so they carry the differences listed in `n1mm-interop.md`. The
multiplier types come from a table of N1MM's names (`N1mmMultiplierNames`)
for the built-in contests; a user-defined contest uses the names its rules
give. N1MM writes text values unescaped and we escape them. The bands' wavelength
labels were read from N1MM's code and not compared with its output.
- **Radio.** `RadioName`, `Antenna`, `Rotors`, `FocusEntry`, `EntryWindowHwnd`
and the aux antenna fields are sent as 0 or empty, and `IsTransmitting` is
always `False`.
- **Contacts, All Computers.** Only logged contacts are passed on, not edits or
deletes.
## Known rough edges
**The band plan covers 160M to 2M only.** 60M and everything above 2M get no