docs: todo.md rewritten around what is left

The four original items are done. What replaces them: the invisible
riser, relative timing, named configurations, frame storage for
forensics, opening exported waveforms, the plot context menu, drag
resize, an event cache with replay, and a preferences dialog.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Martino FerrariandClaude Opus 4.6 committed 2026-10-08 16:56:36 +02:00
1 parent 82180f45f7
commit ec8eae0317
1 file changed
+30 -8
+30 -8
View File
@@ -1,8 +1,30 @@
1. better time window management:
- instead of a drop down simple combo should be an advanced sub menu with text input + unit selector (us,ms,s,min) + two button to increase / decrease (factor 10 each time)
- when `timewindow x sample rate x sample size` is greater than `buffer size` apply downsampling of input signals with low pass filter to match the correct freq: e.g. downsample at 100kSps -> low pass filter at 50kHz
2. improve layout management: instead of a fix number of figure, in the menu add a layout editor option, user can add and remove rows ([x] close to the top left of the row to remove, [+] in the top center and bottom center to add new one [above] and [below])
3. improve plot font rendering and line rendering
4. improve plot performances with large data (e.g. at 10MSamples the plot start to be laggy)
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:
- 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 <N> and previous <N-2> 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: in order to have multiples configurations for the same sources configuration can also have comments
4. optional udp frame storage for debugging of strange behaviours (store last <N>, default = 1000, udp packets binary content on disk for forensic analyss)
5. open exported binary waveforms to view/analyse, in the source selection dialog there should be the option to open exported waveform (maybe a tab with latest opened file and option to open new ones?)
6. imporve right click menu on the plots:
- use same compact style of main menu
- add a [remove signal] entry that open a submenu to delete signasl
7. in layout edit mode add the option to drag plot border to resize them
8. add option to automatic save the last <N> triggered acquisitions in a cache folder and let the user replay them
- a collapsable pane on the left with the list of the last <N> acqusition with duration number of signals etc
- user select one and immidiatly open it
- this option would only be available in trigger mode
9. preferences dialog:
- user can choose evnt cache directory (default <home>/.cache/udpscope/<source>/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