Put APRS stations on the live map, where they stay
The same window the aircraft use, given marks that are not aeroplanes. It already knew how to fetch a map, place an information box where it covers nothing, glide it when its owner moves, draw range rings, put a flag where the aerial stands and a scale along the bottom -- and not one of those has anything to do with aviation. What it did not know is that a mark might not fade, might not point anywhere, and might be coloured by what it is rather than by how high it is. Those are three hooks rather than a second window, and the aircraft map is untouched: every one of them defaults to exactly what an aeroplane does. Nothing fades, which is the difference asked for and the right one. An aeroplane that stops transmitting has flown out of range, and drawing it an hour later where it was would be drawing something that is certainly not there. A fixed amateur station that stops transmitting is still exactly where it was -- it beacons every half hour, and the gaps are silence rather than absence. So the picture accumulates and an evening of listening fills a map. Marks are ordered most-recently-heard first, because that is the order the boxes are laid out in and an accumulating map has more marks on it than it has room for boxes. Marks are drawn by what they are: something moving as a body with a stalk pointing where it is going, and anything fixed as a diamond, which is the one shape on the picture with no front -- a house that beacons twice an hour is a place, and a triangle would have it pointing north for no reason. Colours come off the altitude ramp, not because a station has an altitude but because that ramp is the one set of colours all five themes define: warm to cold on the default map, dim to bright on the phosphor ones, so a digipeater stays distinguishable from a car everywhere without a colour being named here. 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, the digipeaters it came through, how many packets and how many of those arrived directly, and how strongly. The heading prints the callsign once: an aeroplane has two names and the heading was built for that. Reachable both ways, as everything here is -- --window on the command line, w in the menu -- with the same eight map settings the aircraft side has. Forty new tests against nine deliberately broken builds. Two of them survived the first attempt, and both for the same reason: they asked whether the rendered frames differed rather than whether the symbol did, and the strip along the top carries a running clock, so two frames taken a millisecond apart differ by a few hundred pixels whatever is on the map. They now crop to the mark. That is the second time this session that a ticking header has made a test pass for the wrong reason. Full suite 2652 passed. Built as 2026-09-21_01. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_016PsWPTweCT6pwxKngvVxcg
This commit is contained in:
parent
14ba77da9a
commit
2c7b1ba25e
10 changed files with 1049 additions and 19 deletions
|
|
@ -1,5 +1,5 @@
|
|||
.\" Generated by packaging/make-man.py -- do not edit by hand.
|
||||
.TH BANDSAUNTER 1 "2026-09-20" "bandsaunter 2026-09-20_03" "User Commands"
|
||||
.TH BANDSAUNTER 1 "2026-09-21" "bandsaunter 2026-09-21_01" "User Commands"
|
||||
.SH NAME
|
||||
bandsaunter \- scan, record and identify radio signals with an RTL-SDR
|
||||
.SH SYNOPSIS
|
||||
|
|
@ -2668,6 +2668,52 @@ whole thing immune to being wired up backwards; then HDLC framing with its bit
|
|||
stuffing; then sixteen bits of CRC, and nothing without a correct one is
|
||||
reported. That last is what makes it safe to leave running for hours with the
|
||||
squelch open.
|
||||
.SS A window, while it happens
|
||||
.B \-\-window
|
||||
opens the same map the aircraft use, with stations on it instead of
|
||||
aeroplanes: a real map underneath, an information box beside each station, a
|
||||
leader line to the mark it belongs to, range rings around the aerial and a
|
||||
flag where it stands.
|
||||
.PP
|
||||
The one difference from the aircraft map is that nothing fades. An aeroplane
|
||||
that stops transmitting has flown out of range, and drawing it an hour later
|
||||
where it was would be drawing something that is certainly not there; a fixed
|
||||
amateur station that stops transmitting is still exactly where it was,
|
||||
beaconing every half hour, so the gaps are silence rather than absence. The
|
||||
picture accumulates instead, and an evening of listening fills a map.
|
||||
.PP
|
||||
Marks are drawn by what they are \[em] something moving as a body with a
|
||||
stalk pointing where it is going, and anything fixed as a diamond, which is
|
||||
the one shape on the picture with no front \[em] and coloured off the same
|
||||
altitude ramp the aircraft use, that being the one set of colours every theme
|
||||
defines, so a digipeater stays distinguishable from a car on all five.
|
||||
.PP
|
||||
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, the digipeaters
|
||||
it came through, how many packets and how many arrived directly, and how
|
||||
strongly. Boxes are placed where they cover nothing else and glide when their
|
||||
station moves; where there is no room for one the mark is still drawn, and the
|
||||
most recently heard get the boxes.
|
||||
.PP
|
||||
The same keys as the aircraft map:
|
||||
.B d
|
||||
for how much each box says,
|
||||
.B t
|
||||
trails,
|
||||
.B g
|
||||
the map underneath,
|
||||
.B [
|
||||
and
|
||||
.B ]
|
||||
its brightness,
|
||||
.B +
|
||||
and
|
||||
.B \-
|
||||
the range, and
|
||||
.B q
|
||||
to quit.
|
||||
.BI \-\-at " LAT,LON"
|
||||
is what puts the flag and the rings anywhere useful.
|
||||
.SS Afterwards
|
||||
Three tables. Stations heard is about the band and the aerial: where each was,
|
||||
how far off, how many packets, how many of those arrived directly rather than
|
||||
|
|
@ -2804,6 +2850,56 @@ Setting name \fBdigipeated\fR, default \fByes\fR.
|
|||
Leave it on for a picture of the network; turn it off to find out what you can actually hear.
|
||||
.RE
|
||||
.PP
|
||||
.SS The map
|
||||
.TP
|
||||
.B --radius
|
||||
Map reaches \[em] how far around the aerial the window reaches, in kilometres (km).
|
||||
.br
|
||||
Setting name \fBradius\fR, default \fB50 km\fR.
|
||||
.br
|
||||
Accepts: at least 1, at most 2000.
|
||||
.TP
|
||||
.B --theme
|
||||
Theme \[em] how the window looks.
|
||||
.br
|
||||
Setting name \fBtheme\fR, default \fBnight\fR.
|
||||
.br
|
||||
Accepts: one of: night, digital, phosphor, amber, red.
|
||||
.TP
|
||||
.B --map-brightness
|
||||
Map brightness \[em] how bright the ground under the stations is (10-100) (%).
|
||||
.br
|
||||
Setting name \fBmap_brightness\fR, default \fB70 %\fR.
|
||||
.br
|
||||
Accepts: at least 10, at most 100.
|
||||
.TP
|
||||
.B --basemap / --no-basemap
|
||||
Draw a real map \[em] fetch map tiles to draw under the stations.
|
||||
.br
|
||||
Setting name \fBbasemap\fR, default \fByes\fR.
|
||||
.TP
|
||||
.B --window-rings / --no-window-rings
|
||||
Range rings \[em] faint discs at a quarter, a half and three quarters of the radius.
|
||||
.br
|
||||
Setting name \fBwindow_rings\fR, default \fByes\fR.
|
||||
.TP
|
||||
.B --box-opacity
|
||||
Box translucency \[em] how solid the card behind each information box is (0-100) (%).
|
||||
.br
|
||||
Setting name \fBbox_opacity\fR, default \fB85 %\fR.
|
||||
.br
|
||||
Accepts: at least 0, at most 100.
|
||||
.TP
|
||||
.B --trails / --no-trails
|
||||
Leave a trail \[em] draw the path behind anything that moved.
|
||||
.br
|
||||
Setting name \fBtrails\fR, default \fByes\fR.
|
||||
.TP
|
||||
.B --tiles
|
||||
Map tiles from \[em] where map tiles come from ({z}/{x}/{y}.png); blank is OpenStreetMap.
|
||||
.br
|
||||
Setting name \fBtile_url\fR, default \fBblank\fR.
|
||||
.PP
|
||||
.SS Afterwards
|
||||
.TP
|
||||
.B --report / --no-report
|
||||
|
|
|
|||
|
|
@ -1666,6 +1666,52 @@ whole thing immune to being wired up backwards; then HDLC framing with its bit
|
|||
stuffing; then sixteen bits of CRC, and nothing without a correct one is
|
||||
reported. That last is what makes it safe to leave running for hours with the
|
||||
squelch open.
|
||||
.SS A window, while it happens
|
||||
.B \-\-window
|
||||
opens the same map the aircraft use, with stations on it instead of
|
||||
aeroplanes: a real map underneath, an information box beside each station, a
|
||||
leader line to the mark it belongs to, range rings around the aerial and a
|
||||
flag where it stands.
|
||||
.PP
|
||||
The one difference from the aircraft map is that nothing fades. An aeroplane
|
||||
that stops transmitting has flown out of range, and drawing it an hour later
|
||||
where it was would be drawing something that is certainly not there; a fixed
|
||||
amateur station that stops transmitting is still exactly where it was,
|
||||
beaconing every half hour, so the gaps are silence rather than absence. The
|
||||
picture accumulates instead, and an evening of listening fills a map.
|
||||
.PP
|
||||
Marks are drawn by what they are \[em] something moving as a body with a
|
||||
stalk pointing where it is going, and anything fixed as a diamond, which is
|
||||
the one shape on the picture with no front \[em] and coloured off the same
|
||||
altitude ramp the aircraft use, that being the one set of colours every theme
|
||||
defines, so a digipeater stays distinguishable from a car on all five.
|
||||
.PP
|
||||
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, the digipeaters
|
||||
it came through, how many packets and how many arrived directly, and how
|
||||
strongly. Boxes are placed where they cover nothing else and glide when their
|
||||
station moves; where there is no room for one the mark is still drawn, and the
|
||||
most recently heard get the boxes.
|
||||
.PP
|
||||
The same keys as the aircraft map:
|
||||
.B d
|
||||
for how much each box says,
|
||||
.B t
|
||||
trails,
|
||||
.B g
|
||||
the map underneath,
|
||||
.B [
|
||||
and
|
||||
.B ]
|
||||
its brightness,
|
||||
.B +
|
||||
and
|
||||
.B \-
|
||||
the range, and
|
||||
.B q
|
||||
to quit.
|
||||
.BI \-\-at " LAT,LON"
|
||||
is what puts the flag and the rings anywhere useful.
|
||||
.SS Afterwards
|
||||
Three tables. Stations heard is about the band and the aerial: where each was,
|
||||
how far off, how many packets, how many of those arrived directly rather than
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue