Tell the APRS map which band it is on, and where you are standing

Three things wrong with the window, all reported from the chair in front of
it, and all three the same kind of wrong: the map had been handed the aircraft
map's furniture and nobody had checked which bits of it were about aircraft.

The empty screen said "listening on 1090 MHz" and went on to explain that an
aeroplane is placed once an even and an odd position frame have both arrived.
That sentence was true of the window it was written for and false of every
word in this one.  What has to arrive before a mark can be placed is a fact
about the signal rather than about the window, so it is now a thing the window
is told: an aeroplane still says what an aeroplane needs, a station says that
most of them mention where they are every few minutes, and left unsaid the
words follow whatever channel the window was given rather than naming 1090
from memory.

There was no red flag.  The flag is drawn where the receiver was actually told
it is, and this section has its own --at that had never been filled in -- but
the aircraft section's had, by the same person, about the same aerial, on the
same roof.  One aerial does not move because the receiver was pointed at a
different band, so a position set on either side now serves both, this
section's own winning where it has one because two receivers in two places is
exactly what a separate setting is for.  It says out loud which it used, an
inherited position being a convenience right up until somebody has moved and
changed only one of them.  The flag, the range rings and every distance and
bearing all come from the same answer, so all four arrive together.

The boxes drew a station's position and never wrote it down.  A mark on a map
shows where something is; the figures are what gets read out over the air,
copied into a log or typed into something else.  They are also the only place
the doubt shows: a station that blanks its minutes is somewhere inside a
two-degree square, the diamond is as definite there as it is anywhere, and
only "49.0000N 72.0000W +/-340 km" admits it.

Twelve new tests against six deliberately broken builds.  One survived, and
it is the one that matters: with the drawing code changed back to print
aeroplanes at 1090 MHz, every test still passed, because they all read the
sentence off the object and none of them read the pixels.  That is the
reported fault exactly -- a window that holds one sentence and paints another
-- and the suite could not see it.  It reads the picture now, cropped below
the header, whose ticking clock has made a test pass for the wrong reason
twice already this session.  Full suite 2664 passed.  Built as
2026-09-21_02.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PsWPTweCT6pwxKngvVxcg
This commit is contained in:
The Dust Council 2026-09-21 01:05:11 -07:00
parent 2c7b1ba25e
commit e05b66ec3d
8 changed files with 295 additions and 36 deletions

View file

@ -2480,19 +2480,31 @@ A diamond because it is the one shape on the picture with no front: a house
that beacons twice an hour is a place, and drawing it as a triangle would
have it pointing north for no reason.
The box says what the station is, how far off and in which bearing, what it is
doing if it is moving, its altitude, its weather, its status or comment, the
digipeaters it came through, how many packets and how many of those arrived
directly, and how strongly. Boxes are placed where they cover nothing else and
glide when their station moves, and where there is no room for one the mark is
still drawn — with an evening's accumulation there are usually more marks than
there is room for boxes, so the most recently heard get them.
The box says what the station is, **where it is in figures**, how far off and
in which bearing, what it is doing if it is moving, its altitude, its weather,
its status or comment, the digipeaters it came through, how many packets and
how many of those arrived directly, and how strongly. The mark shows where a
station is; the figures are what gets written down, read out over the air or
typed into something else — and where a station blanked its minutes, the
figures are the only place the vagueness shows (`49.0000N 72.0000W ±340 km`),
because a mark on a map is as definite at ten miles of doubt as at ten yards.
Boxes are placed where they cover nothing else and glide when their station
moves, and where there is no room for one the mark is still drawn — with an
evening's accumulation there are usually more marks than there is room for
boxes, so the most recently heard get them.
The same keys as the aircraft map: `d` cycles how much each box says, `t`
trails, `g` the map underneath, `[` and `]` its brightness, `+`/`-` the range,
`q` quits. `--radius` sets how far it reaches to begin with, `--theme` picks
from the same five, and `--at LAT,LON` is what puts the flag and the rings
anywhere useful.
`q` quits. `--radius` sets how far it reaches to begin with and `--theme` picks
from the same five.
**Where the aerial is** puts the red flag on the map, centres the range rings
and gives every station a distance and a bearing. Set it with `--at LAT,LON`,
or in the menu under **Receiver at** — and if you have already told the
aircraft side where you are, that is used and nothing needs saying twice. One
aerial on one roof does not move because the receiver was pointed at a
different band. It says which it used, because an inherited position is a
convenience right up until you have moved and changed only one of them.
### Afterwards
@ -2532,7 +2544,7 @@ version that can.
| Write a log | `--log` / `--no-log` | yes | one line of JSON per packet |
| Print every packet | `--packets` / `--no-packets` | no | a stream of lines instead of a table |
| Keep on screen for | `--hold` | 3600 s | how long a station stays after its last packet |
| Receiver at | `--at` | blank | where the aerial is, for distances |
| Receiver at | `--at` | the aircraft setting | where the aerial is: the flag, the rings and the distances |
| Show readings in | `--units` | metric | metric or imperial, for the display and the export |
| — | `--window` | — | open the live map instead of a table |
| Map reaches | `--radius` | 50 km | how far around the aerial the window reaches |