Files
udpscope/todo.md
T

3.2 KiB

  • (1) fix vertical lines to small to be seen: in some cases (e.g. rect waveform in @mock_upstreamer.py) the vertical lines are to thin to be visible (sometime they glitch in and out of existence):
    1. the antialisaing strategy with phosphore effect should be applied with more stregth
    2. the lines should be more tick
    3. the sample points should be bigger
  • (2) relative timing done: --relative-time; see README and SPECS.md for the measured history cost.
    • in order to avoid problem with time jitter user can decide to go in relative time mode
    • in this mode absolute signal time is only use for export
    • the plot time depends just on signal sample rate and frame number, e.g.:
      • user is acquiring a signal with 1MSps and 100_000 samples per udp frame
      • last frame as number and previous in this case a 100_000 indexes must be skipped
      • time is simply: ((<N_frame> - <N_last>) * <n_samples_per_frame> - <sample_index>) / <sample rate> (or something like that)
  • (3) named configurations done: one directory per source holding <name>.toml per configuration plus active; a configuration carries a note and the startup settings (buffer_mb, relative_time, capture_packets); the chooser lists them and the menu's Configurations… opens/saves/deletes them.
  • (4) optional udp frame storage for debugging of strange behaviours done: --capture-packets N; see README and the design note in docs/superpowers/specs/ for the ring file, the popover toggle and tools/capture_to_pcap.py.
  • (5) open exported binary waveforms to view/analyse done: --open FILE and the chooser's Waveforms page (the files opened before, newest first, plus Open…); the .npy's dtype names the columns, so a load restores the signals, the samples and the axis the export had, and every instrument works on it — see README and docs/claude/invariants-data-path.md.
  • (6) imporve right click menu on the plots done: the plot's context menu uses the main menu's row style (menu_button + .udpscope-menu, asserted by UDPSCOPE_PROBE_ROWMENU_MS: uniform label_x=26, h=18, the shortcut flush right), and deleting a signal is a Remove signal submenu listing that plot's traces plus All traces on this plot.
  • (7) in layout edit mode add the option to drag plot border to resize them
  • (8) add option to automatic save the last triggered acquisitions in a cache folder and let the user replay them done: every latch is written to <cache>/<source>/events/ as a .npy (the export format), a .txt sidecar and a .bmp preview drawn from the samples; the events pane (revealed with trigger mode, switchable) lists them with time, duration, signals and rate, shows the preview, replays one through the --open loader and has Live to go back -- see README and docs/claude/invariants-trigger-and-pinning.md.
  • (9) preferences dialog:
    • user can choose evnt cache directory (default /.cache/udpscope//events/)
    • maximum number of events to cache
    • disable completly the events storage option
    • enable/disable relative time mode
    • interface dark/light/auto color
    • defaults
    • other parameters