bandsaunter/tests
The Dust Council a8a8548369 Never call a string of Morse tones "words"
A repeater identifying itself in CW over an FM carrier came back from the
recogniser as "2-2-2-3-3-5-2-7-0-5-9-7-0-8-1-0" -- one digit per tone,
sixteen characters of nothing, which cleared the five-character bar and
cost the capture its waterfall.

The rule now lives in one place, waterfall.is_readable, shared by the
scanner and the waterfall command: voice, no Morse, and more than a
handful of characters.

  bandsaunter waterfall --check-morse

runs the CW decoder over the recordings a sidecar calls readable, for
sidecars written before the decoder could hear an ident over an FM
carrier, and draws -- and records the ident in -- the ones that have one.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_016PsWPTweCT6pwxKngvVxcg
2026-09-03 21:44:14 -07:00
..
adsb_gen.py Read the pictures, the aircraft, the meters and the sensors 2026-08-29 19:38:37 -07:00
conftest.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
image_gen.py Read the pictures, the aircraft, the meters and the sensors 2026-08-29 19:38:37 -07:00
morse_gen.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
signals.py Decode data signals, starting with on-off keying 2026-08-28 12:55:37 -07:00
speech.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
terminal.py Deal with the recordings, not just read them 2026-08-29 13:21:32 -07:00
test_announce.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_bands.py Name the band beside every frequency, and map who was heard 2026-08-28 11:02:56 -07:00
test_browse.py Draw the waterfall for everything that never spoke 2026-09-03 18:36:00 -07:00
test_callsign.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_classify.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_decode.py Decode data signals, starting with on-off keying 2026-08-28 12:55:37 -07:00
test_dsp.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_ident.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_images.py Draw the waterfall for everything that never spoke 2026-09-03 18:36:00 -07:00
test_kml.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_manage.py Deal with the recordings, not just read them 2026-08-29 13:21:32 -07:00
test_manpage.py Deal with the recordings, not just read them 2026-08-29 13:21:32 -07:00
test_morse.py Read the Morse a station sends over its own carrier 2026-09-02 07:57:18 -07:00
test_quality.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_ranges.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_resize.py Redraw cleanly when the window is resized 2026-08-28 15:47:36 -07:00
test_scanner.py Remember runtime lock-outs, and let a lock-out be a span 2026-08-21 23:44:24 -07:00
test_settings.py Remember runtime lock-outs, and let a lock-out be a span 2026-08-21 23:44:24 -07:00
test_signals_named.py Read the pictures, the aircraft, the meters and the sensors 2026-08-29 19:38:37 -07:00
test_ssb.py Tune SSB to the carrier, and read the sideband from the signal 2026-08-21 23:09:44 -07:00
test_transcribe.py Hear the short replies, and read the other kind of callsign 2026-09-02 00:30:02 -07:00
test_trunk.py Recognise trunking control channels, and refuse to sit on them 2026-08-22 14:22:49 -07:00
test_tui.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_ui.py Initial commit: bandsaunter, an RTL-SDR signal scanner 2026-08-21 20:50:20 -07:00
test_version.py Add packaging, date-based versioning, and full install docs 2026-08-21 21:05:51 -07:00
test_waterfall.py Never call a string of Morse tones "words" 2026-09-03 21:44:14 -07:00