Converts every --buffer-mb / buffer_mb mention to --buffer-samples / buffer_samples, records the unit change as a deviation (README, SPECS, CLAUDE.md), documents the buffer: and planner: dump lines and the new Preferences row, and updates the help pages and the help-shot script. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
94 lines
4.8 KiB
Plaintext
94 lines
4.8 KiB
Plaintext
<page xmlns="http://projectmallard.org/1.0/"
|
||
type="topic" style="task"
|
||
id="sessions">
|
||
|
||
<info>
|
||
<link type="guide" xref="index#output"/>
|
||
<link type="seealso" xref="source"/>
|
||
<desc>Per-source configuration files: where they live, what they persist, and how the
|
||
chooser and the Configurations dialog use them.</desc>
|
||
<credit type="author copyright">
|
||
<name>Martino Ferrari</name>
|
||
</credit>
|
||
</info>
|
||
|
||
<title>Sessions and settings</title>
|
||
|
||
<p>udpscope stores named sessions — <em>configurations</em> — per source, so reopening a
|
||
source gives you the scope you closed, and one source can hold several arrangements for
|
||
different experiments. There is no global preferences file: the session <em>is</em> the
|
||
settings.</p>
|
||
|
||
<section id="reach">
|
||
<title>How to reach it</title>
|
||
<p>Nothing to open — the file is written as you work. Its path is in the About dialog, and
|
||
the directory is <file>$XDG_CONFIG_HOME/udpscope</file>, or <file>~/.config/udpscope</file>
|
||
when that is unset. Each source has a directory <file><host>_<port>/</file>
|
||
holding one <file><name>.toml</file> per configuration and an <file>active</file>
|
||
file naming the one it is on.</p>
|
||
</section>
|
||
|
||
<section id="configs">
|
||
<title>Configurations</title>
|
||
<p><gui>Configurations…</gui> in the menu lists the running source's configurations: click
|
||
a row to open it, <gui>×</gui> to delete it, or type a name and a note and press
|
||
<gui>Save this session</gui> to keep the current arrangement under a new one. Opening a
|
||
configuration saves the current session first, so switching never loses what it switches
|
||
from.</p>
|
||
|
||
<p>The startup chooser (start with no <cmd>--server</cmd>) lists one row per configuration,
|
||
with its note and its settings, so two arrangements of one source are told apart before
|
||
they open.</p>
|
||
|
||
<p>A configuration also carries the settings that can only be decided when the buffers are
|
||
allocated: the <gui>samples per signal</gui> (<cmd>--buffer-samples</cmd>), relative time, and the
|
||
packet capture's ring size. Opening a configuration from the chooser applies all three;
|
||
switching inside a running app applies the rest and says in the status line that these take
|
||
effect on the next start.</p>
|
||
|
||
<p>The chooser's form sets the first two for a new host, and its pencil button edits them
|
||
on an existing configuration — along with the name and the note. Renaming a configuration,
|
||
or editing the address it points at, moves it: the old file is removed rather than left
|
||
behind.</p>
|
||
</section>
|
||
|
||
<section id="knowing">
|
||
<title>Worth knowing</title>
|
||
<list>
|
||
<item><p>What a configuration persists: the time window, the rows and each row's slot
|
||
signals, the calibration, the trace colours, which signals were enabled, the math
|
||
channels with their graphs, the measurements pane — and the startup settings: samples
|
||
per signal, relative time and the packet capture's ring size.</p></item>
|
||
<item><p>Signal identity is the <em>name</em> throughout, because a new CONFIG renumbers
|
||
the channels.</p></item>
|
||
<item><p>A file written by a run against a source whose streamer was down would name no
|
||
signals at all, so such a run does <em>not</em> write: a configured session is never
|
||
overwritten by a run that configured nothing. (The chooser hides such a file for the same
|
||
reason.)</p></item>
|
||
<item><p>The multicast group and the interface live <em>inside</em> the file, because its
|
||
name cannot carry them. A file from an older build has neither key and loads as unicast
|
||
on the default route.</p></item>
|
||
<item><p>The chooser lists only configurations that name at least one signal, which is
|
||
what keeps it the sessions you configured rather than every port you have ever tested
|
||
against.</p></item>
|
||
<item><p>Deleting a configuration is a supported way to start over; the chooser's
|
||
<gui>×</gui> and the dialog's do exactly that.</p></item>
|
||
<item><p>A session from before configurations existed is imported once as the
|
||
configuration <code>default</code>, and the old file is kept beside the directory as
|
||
<file><host>_<port>.toml.imported</file>.</p></item>
|
||
</list>
|
||
</section>
|
||
|
||
<section id="example">
|
||
<title>Example</title>
|
||
<p>Connect to <code>127.0.0.1:8000</code>, drop three signals on row 1, set a 2 s window,
|
||
and save the session as <code>bench</code> with a note.
|
||
<file>~/.config/udpscope/127.0.0.1_8000/bench.toml</file> now holds
|
||
<code>window_s=2 comment="…"</code> with
|
||
<code>signals = ["sine", "ramp", "noise", ""]</code>, and the next run reports
|
||
<code>layout loaded from …/127.0.0.1_8000/bench.toml</code> with those signals already
|
||
acquired.</p>
|
||
</section>
|
||
|
||
</page>
|