labscript-suite-temp-2 / runviewer

BSD 2-Clause "Simplified" License
0 stars 0 forks source link

Shutter markers for shutters attached to PulseBlasters do not show up #16

Open philipstarkey opened 7 years ago

philipstarkey commented 7 years ago

Original report (archived issue) by Philip Starkey (Bitbucket: pstarkey, GitHub: philipstarkey).


The title says it all.

The cause of this is due to the complicated internal object hierarchy for direct pulseblaster outputs. An internal IntermediateDevice and ClockLine are created for the pulseblaster direct outputs, but the IntermediateDevice subclass does not have it's own runviewer parsing class (as other intermediate devices do). Instead, the pulseblaster class calls the runviewer add_trace method for internally connected intermediate devices.

In order to fix this issue, and make the shutter code more robust, we should move the code for the shutters out of _load_device and into add_trace, thus ensuring that shutter markers can be calculated for any trace that is added (regardless of how it is added).

This may incur a performance penalty, since we will need to look up the open state on a per channel basis (which possibly requires traversing the connection table more than we currently do?), but since the load shot code is not performant anyway, I don't think it matters!

philipstarkey commented 6 years ago

Original comment by Jan Werkmann (Bitbucket: PhyNerd, GitHub: PhyNerd).


should be fixed by b06340576798ba2731ff8435ac61d0f7fd7e61fb