Choosing a source
A source is a host and a port, optionally reached through a multicast group on a named
interface. Pass it on the command line, or let udpscope ask.
How to reach it
Run with --server and the app connects straight away. Run without
--server and a chooser appears first: one row per stored configuration
(host:port · name, its note, and the settings it carries), newest first, plus a
New host… form that takes the address and the configuration it belongs to — its name
and note, the buffer size, and whether time is relative or absolute. A row's pencil button
opens the same form on that configuration, pre-filled, and changes to its name or address move it
(the old file is deleted).
The second page, Waveforms, opens an exported run instead of a live source: the files
opened before (newest first; one that has since been deleted is marked missing) and an
Open… button for a new one. The same file can be opened straight from the command line with
--open FILE. A waveform is a source that never arrives — no socket, no acquisition, no
starvation notice — and every instrument works on it: cursors, measurements, math channels and
another export. Only .npy files are read. form for one it has not seen. The chooser runs before any
buffer is allocated and before any socket is opened, so declining it costs nothing.
Worth knowing
• The list is the sessions that named a signal. A session whose streamer was down
stores empty slot names and is filtered out, which is what keeps the list the sources you
actually configured rather than every port you have ever typed.
• A stored row reconnects the way it was reached. The multicast group and the interface are
written inside the session file, because the file's name (host_port.toml) cannot
carry them.
• --multicast still needs --server: the CONFIG message is fetched from the
server, not from the group.
• The × beside a row deletes that session file. Nothing else is removed.
Example
udpscope with two stored sessions lists
127.0.0.1:8000 plots=1 signals=3 and
10.0.0.5:8001 plots=2 signals=4 multicast=239.1.2.3 interface=10.0.0.9.
Activating the first reports [sources] picked 127.0.0.1:8000 and continues into
the scope with that session's layout already loaded.