Open stan-dot opened 2 months ago
@tpoliaw I know those are rough notes, does any of the 6 question have an obvious answer or are all exploratory?
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.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.fantastic, thanks!
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
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, withepics_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")