Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Typo in the name of the Agilent E8257D driver #4365

Closed
mgunyho opened this issue Jul 6, 2022 · 6 comments · Fixed by #4371
Closed

Typo in the name of the Agilent E8257D driver #4365

mgunyho opened this issue Jul 6, 2022 · 6 comments · Fixed by #4371

Comments

@mgunyho
Copy link
Contributor

mgunyho commented Jul 6, 2022

I was looking for the driver for our Agilent E8257D, and it took a while to find that the driver is called E8527D in qcodes (flipped 2 and 5). Note that the unit test where the IDN is checked is correct.

It should be fairly straightforward to rename the class and create a deprecated class with the old name, but if that's too much incompatibility, it would be enough to mention this in the docstring of the driver so that it would show up in a search for "8257D" (that's how I was trying to find the driver).

@jenshnielsen
Copy link
Collaborator

@mgunyho Thanks, looking closes it seems like all the Agilent instrument names are somewhat of a mess.

I think we should take the chance to clean this up.

I suggest that we stick with a convention of the class called {Vendor}{ModelNumber} (CamelCase) and the file called {Vendor}_{Modelnumber}.py and then add backwards compatible wrappers.

We currently have:

  • Agilent_3440A in Agilent_3440A.py
  • E8267 in E8267C.py
  • Agilent_E8527D in E8527D.py

I think these should be

  • Agilent3440A in Agilent_3440A.py
  • AgilentE8267C in Agilent_E8267C.py
  • AgilentE8257D in Agilent_E8257D.py

It's unclear to me what the difference is between the c and d models and if the drivers support both so perhaps, they should be?

  • Agilent3440A in Agilent_3440A.py
  • AgilentE8267 in Agilent_E8267.py
  • AgilentE8257 in Agilent_E8257.py

@mgunyho
Copy link
Contributor Author

mgunyho commented Jul 6, 2022

Sounds like a good idea! Unfortunately I won't have enough time to submit a PR in the near future.

Another small gripe I have with the E8257 driver is that the parameter that turns RF generation on/off is called "status" (without any docstring!), I think it should be renamed to output_enabled to be consistent with other drivers (although I know that some other MW source drivers call it status as well).

I'm not that familiar with Agilent/Keysight naming conventions but by a cursory scan on the website it doesn't seem like there are similar devices with names like ENNNND and ENNNNC, so maybe the last letter also signifies something. I think it would be best to include the letter in the driver name as well, to minimize confusion.

@mgunyho
Copy link
Contributor Author

mgunyho commented Jul 6, 2022

Hmm okay, for the E8267C at least, it looks like the C signifies the "generation", the Keysight website says that it's an obsolete device and they recommend E8267D instead.. So maybe I was wrong.

bors bot added a commit that referenced this issue Jul 7, 2022
4368: Add naming conventions for instruments r=jenshnielsen a=jenshnielsen

Triggered by #4365 let's define some standard naming conventions to avoid confusion in the future.

Co-authored-by: Jens H. Nielsen <Jens.Nielsen@microsoft.com>
Co-authored-by: Jens Hedegaard Nielsen <jenshnielsen@gmail.com>
Co-authored-by: Trevor Morgan <63689909+trevormorgan@users.noreply.github.com>
@jenshnielsen
Copy link
Collaborator

@mgunyho would you by any chance have time to test #4371

@mgunyho
Copy link
Contributor Author

mgunyho commented Jul 25, 2022

I am on vacation until next Monday, I'll be able to try it then. Sorry for the delay.

@jenshnielsen
Copy link
Collaborator

No worries thanks ;)

@bors bors bot closed this as completed in 308f556 Aug 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants