Merlins instrument drivers#190
Conversation
…y2400 (super-basic), triton fridge, patches for loop.py and ip.py loop.py and ip.py needed fixes for things to work
…Merlins-instrument-drivers
…s-instrument-drivers
…s-instrument-drivers
…dk/Qcodes into Merlins-instrument-drivers
…s-instrument-drivers
…s-instrument-drivers
for keithley_2600 and mercuryIPS magnet power supply works without InstrumentServer - problem with daemonic processes not allowed to create children
This reverts commit 6952c75.
…s-instrument-drivers # ResolvedConflicts: # qcodes/instrument/visa.py
…s-instrument-drivers # Resolved Conflicts: # qcodes/loops.py
plus rounding-error-safe resolution validation
Also a little linting
|
Not to be annoying, but documentation on these driver is severely lacking IMHO. Looking from the outside, it's impossible to understand why things exist. Idk, maybe it is just me but it seems like documenting things is just taken as an afterthought, which is most likely the best way to make people not to use this. It's fine it things were like this in the past, but I have the feeling that having the same approach going forward is maybe not the best thing to do. |
| try: | ||
| return float(re.findall("[-+]?\d*\.\d+|\d+", msg)[0]) | ||
| except: | ||
| except Exception: |
There was a problem hiding this comment.
I think this is the same as before :D
There was a problem hiding this comment.
not according to @MatthieuDartiailh 's comment
Of course we should do better if we can :)
There was a problem hiding this comment.
This is modern python so all exceptions inherit from BaseException, so it's the same.
It could maybe fool static code checkers.
There was a problem hiding this comment.
All exception inherit from BaseException true. But KeyboardInterrupt and SystemExit do not inherit from Exception. Using except catch everything, using except Exception let KeyboardInterrupt and SystemExit propagate.
|
This is ready to 💃 from my perspective, do you agree @MerlinSmiles ? |
|
Re: documentation, let's have a separate discussion about how drivers should be documented, certain parts are needed but we don't want to replicate the manual... |
|
Actually, looking at this a little closer - the parameters I think are largely self-explanatory, but there are a few places where particularly the constructors should be documented better, otherwise people won't be able to get to the parameters. I'll add specific comments. |
|
|
||
|
|
||
| class CurrentParameter(Parameter): | ||
| def __init__(self, measured_param, camp_ins, name=None): |
There was a problem hiding this comment.
These constructor args need docs, including requirements: what measured_param would you use and why, from what instrument? does camp_ins need to be exactly an Ithaco_1211 or can it be used with other amplifiers?
Also a little cleanup in CurrentParameter and VoltageParameter, just cosmetics and robustness but they should probably both get tested IRL
@MerlinSmiles replaces #74 but merging to master