fix: minor fixes after test at the beamline
This commit is contained in:
@@ -119,14 +119,11 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
scan_duration = self._scan_parameter("scan_duration")
|
||||
if scan_name == "xas_simple_scan":
|
||||
self._raise_for_missing(
|
||||
scan_name, ["start", "stop", "scan_time", "scan_duration"],
|
||||
scan_name,
|
||||
["start", "stop", "scan_time", "scan_duration"],
|
||||
[start, stop, scan_time, scan_duration],
|
||||
)
|
||||
self.set_xas_settings(
|
||||
low=start,
|
||||
high=stop,
|
||||
scan_time=scan_time,
|
||||
)
|
||||
self.set_xas_settings(low=start, high=stop, scan_time=scan_time)
|
||||
self.set_trig_settings(
|
||||
enable_low=False,
|
||||
enable_high=False,
|
||||
@@ -135,9 +132,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
cycle_low=0,
|
||||
cycle_high=0,
|
||||
)
|
||||
self.set_scan_control_settings(
|
||||
mode=ScanControlMode.SIMPLE, scan_duration=scan_duration
|
||||
)
|
||||
self.set_scan_control_settings(mode=ScanControlMode.SIMPLE, scan_duration=scan_duration)
|
||||
elif scan_name == "xas_simple_scan_with_xrd":
|
||||
xrd_enable_low = self._scan_parameter("xrd_enable_low", "break_enable_low")
|
||||
xrd_enable_high = self._scan_parameter("xrd_enable_high", "break_enable_high")
|
||||
@@ -172,11 +167,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
cycle_high,
|
||||
],
|
||||
)
|
||||
self.set_xas_settings(
|
||||
low=start,
|
||||
high=stop,
|
||||
scan_time=scan_time,
|
||||
)
|
||||
self.set_xas_settings(low=start, high=stop, scan_time=scan_time)
|
||||
self.set_trig_settings(
|
||||
enable_low=xrd_enable_low,
|
||||
enable_high=xrd_enable_high,
|
||||
@@ -185,9 +176,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
cycle_low=cycle_low,
|
||||
cycle_high=cycle_high,
|
||||
)
|
||||
self.set_scan_control_settings(
|
||||
mode=ScanControlMode.SIMPLE, scan_duration=scan_duration
|
||||
)
|
||||
self.set_scan_control_settings(mode=ScanControlMode.SIMPLE, scan_duration=scan_duration)
|
||||
elif scan_name == "xas_advanced_scan":
|
||||
p_kink = self._scan_parameter("p_kink")
|
||||
e_kink = self._scan_parameter("e_kink")
|
||||
@@ -197,11 +186,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
[start, stop, scan_time, scan_duration, p_kink, e_kink],
|
||||
)
|
||||
self.set_advanced_xas_settings(
|
||||
low=start,
|
||||
high=stop,
|
||||
scan_time=scan_time,
|
||||
p_kink=p_kink,
|
||||
e_kink=e_kink,
|
||||
low=start, high=stop, scan_time=scan_time, p_kink=p_kink, e_kink=e_kink
|
||||
)
|
||||
self.set_trig_settings(
|
||||
enable_low=False,
|
||||
@@ -255,11 +240,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
],
|
||||
)
|
||||
self.set_advanced_xas_settings(
|
||||
low=start,
|
||||
high=stop,
|
||||
scan_time=scan_time,
|
||||
p_kink=p_kink,
|
||||
e_kink=e_kink,
|
||||
low=start, high=stop, scan_time=scan_time, p_kink=p_kink, e_kink=e_kink
|
||||
)
|
||||
self.set_trig_settings(
|
||||
enable_low=xrd_enable_low,
|
||||
@@ -283,7 +264,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
status = CompareStatus(self.scan_control.scan_msg, ScanControlLoadMessage.SUCCESS)
|
||||
self.cancel_on_stop(status)
|
||||
self.scan_control.scan_load.put(1)
|
||||
# Wait for params to be checked from controller
|
||||
# Wait for params to be checked from controller
|
||||
status.wait(self.timeout_for_pvwait)
|
||||
return None
|
||||
|
||||
@@ -366,12 +347,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
getattr(self.scan_info.msg, "scan_parameters", {}),
|
||||
]
|
||||
request_inputs = self.scan_parameters.request_inputs or {}
|
||||
sources.extend(
|
||||
[
|
||||
request_inputs.get("inputs", {}),
|
||||
request_inputs.get("kwargs", {}),
|
||||
]
|
||||
)
|
||||
sources.extend([request_inputs.get("inputs", {}), request_inputs.get("kwargs", {})])
|
||||
for source in sources:
|
||||
for name in names:
|
||||
if isinstance(source, dict) and name in source:
|
||||
@@ -421,7 +397,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
|
||||
status_list.append(self.scan_settings.s_scan_scantime.set(scan_time))
|
||||
self.cancel_on_stop(status_list[-1])
|
||||
|
||||
|
||||
for s in status_list:
|
||||
s.wait(timeout=self.timeout_for_pvwait)
|
||||
|
||||
@@ -443,6 +419,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
status = CompareStatus(self.calculator.calc_done, 0)
|
||||
self.cancel_on_stop(status)
|
||||
status.wait(self.timeout_for_pvwait)
|
||||
time.sleep(0.25)
|
||||
|
||||
if mode == "AngleToEnergy":
|
||||
self.calculator.calc_angle.put(inp)
|
||||
@@ -452,7 +429,7 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
status = CompareStatus(self.calculator.calc_done, 1)
|
||||
self.cancel_on_stop(status)
|
||||
status.wait(self.timeout_for_pvwait)
|
||||
time.sleep(0.25) #TODO needed still? Needed due to update frequency of softIOC
|
||||
time.sleep(0.25) # TODO needed still? Needed due to update frequency of softIOC
|
||||
if mode == "AngleToEnergy":
|
||||
return self.calculator.calc_energy.get()
|
||||
elif mode == "EnergyToAngle":
|
||||
@@ -542,7 +519,6 @@ class Mo1Bragg(PSIDeviceBase, Mo1BraggPositioner):
|
||||
for s in status_list:
|
||||
s.wait(timeout=self.timeout_for_pvwait)
|
||||
|
||||
|
||||
def set_scan_control_settings(self, mode: ScanControlMode, scan_duration: float) -> None:
|
||||
"""Set the scan control settings for the upcoming scan.
|
||||
|
||||
|
||||
@@ -165,7 +165,7 @@ class Mo1TriggerSettings(Device):
|
||||
class Mo1BraggCalculator(Device):
|
||||
"""Mo1 Bragg PVs to convert angle to energy or vice-versa."""
|
||||
|
||||
calc_reset = Cpt(EpicsSignal, suffix="calc_reset", kind="config", put_complete=True)
|
||||
calc_reset = Cpt(EpicsSignalWithRBV, suffix="calc_reset", kind="config", put_complete=True)
|
||||
calc_done = Cpt(EpicsSignalRO, suffix="calc_done_RBV", kind="config")
|
||||
calc_energy = Cpt(EpicsSignalWithRBV, suffix="calc_energy", kind="config")
|
||||
calc_angle = Cpt(EpicsSignalWithRBV, suffix="calc_angle", kind="config")
|
||||
|
||||
@@ -76,7 +76,7 @@ class XASSimpleScan(ScanBase):
|
||||
self.mo1_bragg = self._resolve_device(motor, "mo1_bragg")
|
||||
self.motor = self.mo1_bragg
|
||||
self.daq = self._resolve_device(daq, "nidaq")
|
||||
self.mo1_gonio = self._resolve_device(gonio, "mo1_gonio")
|
||||
self.mo1_gonio = self._resolve_device(gonio, "mo1_rotx")
|
||||
self.monitored_readout_cycle = monitored_readout_cycle
|
||||
self.positions = np.array([self.start, self.stop], dtype=float)
|
||||
|
||||
@@ -199,4 +199,3 @@ class XASAdvancedScan(XASSimpleScan):
|
||||
**kwargs,
|
||||
)
|
||||
self.update_scan_info(p_kink=p_kink, e_kink=e_kink)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user