-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
#183 concluded the initial refactoring of the Picoscope block, but unfortunately some of the tasks from #167 could not be fully implemented there. Additionally during roll-out some more issues have been identified.
The main open issues are:
-
Block error handling
-
Multiple tags on the same sample
-
Testing of error paths and broader configuration envelope, especially for higher sampling rates
-
Better handling of internal buffer sizes.
-
Generating events in the case where no global timing events are played
-
Polling strategy for streaming
- for streaming the chunk size cannot be directly influenced, but adding some kind of rate-limiting to the polling API might be beneficial. Implementing it in the block is trivial, but it could be better if the scheduler could handle this as there is quite some work that has to be done before the block can do an early return.
-
Timing block pulse configuration
- should be simplified: default pulse if no timings are specified, dependent on sampling rate.
- should check or enforce that ports configured to generate a trigger pulse are actually enabled and configured as outputs
-
Actual sample rate
- The actual sample rate can differ from the value configured by the user. We already obtain
actualFreqfrom the PicoScope API. Since the sample rate is used in multiple places where correctness depends on it, we should identify every usage ofsample_rateand update the implementation so that the actual sample rate is used consistently wherever required. - There is also a second class of problems: even if the scope reports
actualFreq, the effective sample rate may be lower (e.g., bandwidth limits, USB/driver constraints, CPU load / scheduling delays). We should detect such situations and warn the user, because a reduced effective rate can break assumptions in the matcher and any algorithms that rely on the sampling frequency.
- The actual sample rate can differ from the value configured by the user. We already obtain
-
Investigate and implement similar test coverage inspired by the existing SAT test cases:
Metadata
Metadata
Assignees
Labels
No labels
Type
Projects
Status
📋 Backlog