pcdshub / opcpa-tpr-config

PyDM application for managing the TPR configurations of the OPCPA lasers in the LCLS NEH laser hall.
Other
0 stars 1 forks source link

Initial Working Example #1

Closed slactjohnson closed 7 months ago

slactjohnson commented 7 months ago

This is a first iteration of this setup, with an example configuration for adjusting the TPR for the NEH laser hall bay 2 OPCPA laser system.

Currently the code dynamically creates RBVs and configuration buttons for the bay 2 system. Future PRs will add support for another laser, and update the configuration for bay 3.

Known issues/features to be corrected in future PRs:

slactjohnson commented 7 months ago

Looking for a little feedback here as this is the first PyQT application I have made in a long time. It's pretty small now, but I expect it will grow in the future as the laser group wants more complicated setups, so any thoughts on how to make this more extensible would be greatly appreciated. Thanks!

slactjohnson commented 7 months ago

(A goose?!)

This is a funny one.

That's the term that the laser group and beamline scientists use for a detuned laser pulse, essentially a dark shot. You do this by introducing a relative delay between the oscillator pulse and the amplifier firing at some desired rate, e.g. 1-in-10 pulses is delayed.

Legend has it that this name comes from the game "duck duck goose". Most of the normal pulses are ducks, or "on time", but the goose pulse gets selected to be off time.

SLAC is cool because almost anywhere else it would get called a "dark shot" or something boring.

slactjohnson commented 7 months ago

I think I got the pre-commit stuff right; it appears to work, anyway.

One thing I couldn't easily resolve was versioneer.py. Flake8 had many complaints about this file. I thought about fixing it manually, and even started to, but since it's not my code and I think it should be fairly static I decided to just exclude it. If that's not a great thing to do, then I may need some guidance on how to best deal with this.

tangkong commented 7 months ago

That's fine 👍 , the guidance is probably not to use versioneer and use setuptools_scm, but that's also something to work on in the template.

slactjohnson commented 7 months ago

Sounds good, thanks. I'll update this repo to our standard once the template is up to date.

I think I'll go ahead and merge this one then, with some more issues/PRs to follow next week.