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

Pressure jump devices collected updates #759

Open
stan-dot opened this issue Aug 21, 2024 · 3 comments
Open

Pressure jump devices collected updates #759

stan-dot opened this issue Aug 21, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request i15 i22 python Pull requests that update Python code

Comments

@stan-dot
Copy link
Contributor

Make sure that what is to be recorded is recorded and what is not is not

point 1 - limits and an error state if they are exceeded
# todo double check if needed
# self.pump_forward_limit = epics_signal_r(
# LimitSwitchState, prefix + "D74IN1"
# )
# self.pump_backward_limit = epics_signal_r(
# LimitSwitchState, prefix + "D74IN0"
# )
point 2 - movement in manual mode
self.pump_move_forward = epics_signal_rw(int, prefix + "M1:FORW")
self.pump_move_backward = epics_signal_rw(bool, prefix + "M1:BACKW")

point 3 - do we need to reset the motor control? the M1:CON, if so, with epics_signal_x

point 4 - support arm and disarm for the fast valves

point5 - consider the openseq channel
self.valves_open: DeviceVector[SignalR[int]] = DeviceVector(
{i: epics_signal_r(int, f"{prefix}V{i}:OPENSEQ") for i in [1, 3, 5, 6]}
)
or can we do everything through CON?

point 6-
deleting gotobusy and other control signals not used in the acquisitions - can we confirm this?
self.control_gotobusy = epics_signal_r(BusyState, prefix + "CTRL:GOTOBUSY")
self.control_timer = epics_signal_r(TimerState, prefix + "CTRL:TIMER")
self.control_counter = epics_signal_r(float, prefix + "CTRL:COUNTER")
self.control_script_status = epics_signal_r(str, prefix + "CTRL:RESULT")
self.control_routine = epics_signal_r(str, prefix + "CTRL:METHOD")
self.control_iteration = epics_signal_r(float, prefix + "CTRL:ITER")

@stan-dot stan-dot added enhancement New feature or request python Pull requests that update Python code i22 labels Aug 21, 2024
@stan-dot stan-dot added the i15 label Aug 21, 2024
@stan-dot
Copy link
Contributor Author

@tpoliaw I know those are rough notes, does any of the 6 question have an obvious answer or are all exploratory?

@tpoliaw
Copy link
Contributor

tpoliaw commented Sep 25, 2024

  1. I don't think GDA looked at limits
  2. GDA did nothing with manual control
  3. I don't think we did in GDA
  4. yes
  5. GDA used OPENSEQ for opening the valves and CON for closing and resetting them. I can't remember why it made this distinction now. Either way, I think an array of valves, each with an open and close signal would be better than a pair of arrays, one for all the open signals one for close signals.
  6. GOTOBUSY was used in the Java implementation so that methods could block until the action had actually started (eg setPressure has a slight delay between hitting go and the pumps moving). If that is not needed in ophyd it can probably go. None of the other PVs were used.

@stan-dot
Copy link
Contributor Author

fantastic, thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request i15 i22 python Pull requests that update Python code
Projects
None yet
Development

No branches or pull requests

3 participants