QCoDeS / Qcodes_contrib_drivers

A collection of community-contributed QCoDeS drivers for instruments
https://qcodes.github.io/Qcodes_contrib_drivers/
MIT License
46 stars 80 forks source link

QDAC2 DC_List needs validator check #343

Open arsllim opened 2 months ago

arsllim commented 2 months ago

Before creating the List_Context, the dc_list method should check the min(voltages) and max(voltages) against the dc_constant_V validator or some other new validator to prevent sweeps from going beyond a desirable range.

jenshnielsen commented 2 months ago

@jpsecher does this seem reasonable to you ?

jpsecher commented 2 months ago

Without looking at code, yes it sounds like a good idea.

PS: I am not with Quantum Machines / QDevil anymore, so I guess @Anders-QDevil is a better contact point in the future.

Anders-QDevil commented 2 months ago

It does indeed sound like a good idea, though it will not provide 100% safety against sweeping outside a defined voltage span. There will always be loop holes. @jenshnielsen how should we proceed?

jenshnielsen commented 2 months ago

@arsllim is this a fix that you are interested in implementing? Otherwise, I guess it would be great if someone from Quantum Machines / QDevil has the time to implement it @Anders-QDevil

Anders-QDevil commented 2 months ago

It will be a while (read after summer) before we can do it here at QDevil / QM

arsllim commented 2 months ago

I could implement it. What is the extra baggage that comes with contribution? [Unit tests to update? Docs to update? Formatter to run?] Point me to a dev guide.

Do you all agree that it should use the same validator as the dc_constant_V parameter? This validator defaults at initialization to +/-10V, but we then update it during our startup calls with tighter limits as part of our safety precautions. I'm assuming this is typically how this validator is used. I could be more explicit and add a set_dc_limits method to the channel.

While I am at it, I will do it in dc_sweep as well. No other methods aside from dc_list and dc_sweep seem appropriate for having a check against dc ranges.