mxcubecore 1.392.0__py3-none-any.whl → 1.394.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of mxcubecore might be problematic. Click here for more details.
- mxcubecore/BaseHardwareObjects.py +1 -1
- mxcubecore/Command/Epics.py +2 -2
- mxcubecore/Command/Pool.py +4 -4
- mxcubecore/Command/Sardana.py +7 -3
- mxcubecore/Command/Taco.py +2 -2
- mxcubecore/Command/Tango.py +2 -2
- mxcubecore/Command/Tine.py +1 -1
- mxcubecore/Command/exporter/ExporterClient.py +2 -2
- mxcubecore/Command/exporter/StandardClient.py +4 -3
- mxcubecore/HardwareObjects/ALBA/ALBAAutoProcessing.py +4 -7
- mxcubecore/HardwareObjects/ALBA/ALBABackLight.py +6 -7
- mxcubecore/HardwareObjects/ALBA/ALBABeamInfo.py +2 -4
- mxcubecore/HardwareObjects/ALBA/ALBACats.py +19 -25
- mxcubecore/HardwareObjects/ALBA/ALBAClusterJob.py +10 -11
- mxcubecore/HardwareObjects/ALBA/ALBACollect.py +49 -71
- mxcubecore/HardwareObjects/ALBA/ALBADataAnalysis.py +26 -31
- mxcubecore/HardwareObjects/ALBA/ALBAEnergy.py +1 -5
- mxcubecore/HardwareObjects/ALBA/ALBAEpsActuator.py +1 -1
- mxcubecore/HardwareObjects/ALBA/ALBAFastShutter.py +1 -1
- mxcubecore/HardwareObjects/ALBA/ALBAFlux.py +2 -6
- mxcubecore/HardwareObjects/ALBA/ALBAFrontLight.py +5 -9
- mxcubecore/HardwareObjects/ALBA/ALBAISPyBClient.py +4 -4
- mxcubecore/HardwareObjects/ALBA/ALBAMiniDiff.py +20 -27
- mxcubecore/HardwareObjects/ALBA/ALBAPilatus.py +12 -15
- mxcubecore/HardwareObjects/ALBA/ALBASession.py +1 -4
- mxcubecore/HardwareObjects/ALBA/ALBAZoomMotor.py +10 -14
- mxcubecore/HardwareObjects/ALBA/ALBAZoomMotorAutoBrightness.py +7 -11
- mxcubecore/HardwareObjects/ALBA/XalocMiniDiff.py +7 -8
- mxcubecore/HardwareObjects/BeamInfo.py +4 -6
- mxcubecore/HardwareObjects/Beamline.py +6 -7
- mxcubecore/HardwareObjects/BeamlineActions.py +3 -7
- mxcubecore/HardwareObjects/BlissHutchTrigger.py +3 -3
- mxcubecore/HardwareObjects/BlissMotorWPositions.py +4 -7
- mxcubecore/HardwareObjects/Cats90.py +33 -43
- mxcubecore/HardwareObjects/CatsBessy.py +1 -1
- mxcubecore/HardwareObjects/CatsMaint.py +2 -2
- mxcubecore/HardwareObjects/CentringMath.py +5 -4
- mxcubecore/HardwareObjects/DESY/DigitalZoomMotor.py +4 -4
- mxcubecore/HardwareObjects/DESY/MjpgStreamVideo.py +2 -0
- mxcubecore/HardwareObjects/DESY/P11Collect.py +7 -7
- mxcubecore/HardwareObjects/DESY/P11EDNACharacterisation.py +14 -16
- mxcubecore/HardwareObjects/DESY/P11ISPyBClient.py +6 -10
- mxcubecore/HardwareObjects/DESY/P11NanoDiff.py +6 -4
- mxcubecore/HardwareObjects/DataPublisher.py +2 -3
- mxcubecore/HardwareObjects/EDNACharacterisation.py +2 -4
- mxcubecore/HardwareObjects/EMBL/EMBLBeam.py +3 -3
- mxcubecore/HardwareObjects/EMBL/EMBLBeamCentering.py +2 -4
- mxcubecore/HardwareObjects/EMBL/EMBLBeamFocusing.py +3 -3
- mxcubecore/HardwareObjects/EMBL/EMBLBeamlineTest.py +2 -0
- mxcubecore/HardwareObjects/EMBL/EMBLDoorInterlock.py +1 -1
- mxcubecore/HardwareObjects/EMBL/EMBLEnergy.py +10 -18
- mxcubecore/HardwareObjects/EMBL/EMBLEnergyScan.py +10 -12
- mxcubecore/HardwareObjects/EMBL/EMBLFlux.py +10 -12
- mxcubecore/HardwareObjects/EMBL/EMBLMachineInfo.py +2 -2
- mxcubecore/HardwareObjects/EMBL/EMBLMiniDiff.py +18 -18
- mxcubecore/HardwareObjects/EMBL/EMBLMotorsGroup.py +6 -9
- mxcubecore/HardwareObjects/EMBL/EMBLOnlineProcessing.py +6 -6
- mxcubecore/HardwareObjects/EMBL/EMBLPPUControl.py +1 -1
- mxcubecore/HardwareObjects/EMBL/EMBLSSXChip.py +1 -4
- mxcubecore/HardwareObjects/EMBL/EMBLSlitBox.py +1 -3
- mxcubecore/HardwareObjects/EMBL/EMBLTableMotor.py +2 -3
- mxcubecore/HardwareObjects/EMBL/EMBLXRFSpectrum.py +4 -4
- mxcubecore/HardwareObjects/EMBL/EMBLXrayImaging.py +1 -1
- mxcubecore/HardwareObjects/EMBL/TINEMotor.py +2 -2
- mxcubecore/HardwareObjects/EMBLFlexHCD.py +5 -5
- mxcubecore/HardwareObjects/EMBLFlexHarvester.py +2 -2
- mxcubecore/HardwareObjects/ESRF/ESRFBeam.py +3 -5
- mxcubecore/HardwareObjects/ESRF/ESRFBeamInfo.py +1 -5
- mxcubecore/HardwareObjects/ESRF/ESRFBeamlineActions.py +2 -2
- mxcubecore/HardwareObjects/ESRF/ESRFEnergyScan.py +3 -3
- mxcubecore/HardwareObjects/ESRF/ESRFMetadataManagerClient.py +1 -1
- mxcubecore/HardwareObjects/ESRF/ESRFMultiCollect.py +7 -7
- mxcubecore/HardwareObjects/ESRF/ESRFPhotonFlux.py +2 -8
- mxcubecore/HardwareObjects/ESRF/ESRFSC3.py +11 -18
- mxcubecore/HardwareObjects/ESRF/ID29HutchTrigger.py +3 -3
- mxcubecore/HardwareObjects/ESRF/MD2MultiCollect.py +4 -4
- mxcubecore/HardwareObjects/ESRF/SSXICATLIMS.py +9 -6
- mxcubecore/HardwareObjects/EdnaWorkflow.py +9 -11
- mxcubecore/HardwareObjects/Energy.py +11 -15
- mxcubecore/HardwareObjects/ExporterMotor.py +1 -2
- mxcubecore/HardwareObjects/FlexHCD.py +7 -8
- mxcubecore/HardwareObjects/FlexHCDMaintenance.py +1 -1
- mxcubecore/HardwareObjects/GenericDiffractometer.py +26 -46
- mxcubecore/HardwareObjects/Gphl/CollectEmulator.py +6 -7
- mxcubecore/HardwareObjects/Gphl/GphlQueueEntry.py +2 -2
- mxcubecore/HardwareObjects/Gphl/GphlWorkflow.py +29 -43
- mxcubecore/HardwareObjects/Gphl/GphlWorkflowConnection.py +25 -35
- mxcubecore/HardwareObjects/ICATLIMS.py +17 -13
- mxcubecore/HardwareObjects/LNLS/EPICSMotor.py +1 -4
- mxcubecore/HardwareObjects/LNLS/LNLSAperture.py +2 -5
- mxcubecore/HardwareObjects/LNLS/LNLSCamera.py +14 -16
- mxcubecore/HardwareObjects/LNLS/LNLSCollect.py +21 -29
- mxcubecore/HardwareObjects/LNLS/LNLSDetDistMotor.py +7 -11
- mxcubecore/HardwareObjects/LNLS/LNLSEnergy.py +4 -6
- mxcubecore/HardwareObjects/LNLS/LNLSPilatusDet.py +55 -51
- mxcubecore/HardwareObjects/LNLS/LNLSTransmission.py +4 -7
- mxcubecore/HardwareObjects/LdapAuthenticator.py +11 -15
- mxcubecore/HardwareObjects/Lima2Detector.py +1 -1
- mxcubecore/HardwareObjects/LimaEigerDetector.py +1 -1
- mxcubecore/HardwareObjects/LimaPilatusDetector.py +1 -4
- mxcubecore/HardwareObjects/MAXIV/MAXIVAutoProcessing.py +3 -5
- mxcubecore/HardwareObjects/MD3UP.py +1 -2
- mxcubecore/HardwareObjects/MachCurrent.py +5 -5
- mxcubecore/HardwareObjects/Marvin.py +23 -35
- mxcubecore/HardwareObjects/Microdiff.py +6 -8
- mxcubecore/HardwareObjects/MicrodiffActuator.py +1 -1
- mxcubecore/HardwareObjects/MicrodiffBeamstop.py +1 -1
- mxcubecore/HardwareObjects/MicrodiffInOut.py +1 -1
- mxcubecore/HardwareObjects/MicrodiffKappaMotor.py +3 -4
- mxcubecore/HardwareObjects/MiniDiff.py +35 -57
- mxcubecore/HardwareObjects/MotorWPositions.py +4 -2
- mxcubecore/HardwareObjects/PlateManipulator.py +2 -2
- mxcubecore/HardwareObjects/ProposalTypeISPyBLims.py +8 -16
- mxcubecore/HardwareObjects/PyISPyBClient.py +8 -5
- mxcubecore/HardwareObjects/QtGraphicsLib.py +2 -2
- mxcubecore/HardwareObjects/QtGraphicsManager.py +13 -19
- mxcubecore/HardwareObjects/QtInstanceServer.py +27 -55
- mxcubecore/HardwareObjects/QtLimaVideo.py +1 -5
- mxcubecore/HardwareObjects/QueueManager.py +7 -9
- mxcubecore/HardwareObjects/QueueModel.py +6 -8
- mxcubecore/HardwareObjects/RedisClient.py +12 -16
- mxcubecore/HardwareObjects/SC3.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Attenuator.py +1 -3
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1BeamInfo.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1CatsMaint.py +3 -4
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Collect.py +11 -11
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Cryotong.py +8 -18
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Energy.py +6 -7
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1EnergyScan.py +21 -31
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Environment.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1MiniDiff.py +11 -21
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pilatus.py +9 -9
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Pss.py +1 -2
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1Resolution.py +1 -5
- mxcubecore/HardwareObjects/SOLEIL/PX1/PX1TangoLight.py +3 -8
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Attenuator.py +9 -13
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Collect.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Diffractometer.py +22 -22
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Energy.py +4 -6
- mxcubecore/HardwareObjects/SOLEIL/PX2/PX2Guillotine.py +2 -2
- mxcubecore/HardwareObjects/SOLEIL/SOLEILCatsMaint.py +6 -8
- mxcubecore/HardwareObjects/SOLEIL/SOLEILEnergyScan.py +44 -56
- mxcubecore/HardwareObjects/SOLEIL/SOLEILGuillotine.py +2 -2
- mxcubecore/HardwareObjects/SOLEIL/SOLEILISPyBClient.py +10 -10
- mxcubecore/HardwareObjects/SOLEIL/SOLEILMachineInfo.py +4 -8
- mxcubecore/HardwareObjects/SOLEIL/SOLEILPss.py +3 -4
- mxcubecore/HardwareObjects/SOLEIL/SOLEILRuche.py +1 -1
- mxcubecore/HardwareObjects/SOLEIL/TangoDCMotor.py +10 -16
- mxcubecore/HardwareObjects/SardanaMotor.py +4 -5
- mxcubecore/HardwareObjects/Session.py +1 -1
- mxcubecore/HardwareObjects/SpecMotorWPositions.py +5 -9
- mxcubecore/HardwareObjects/SpecMotorWSpecPositions.py +2 -4
- mxcubecore/HardwareObjects/SpecShell.py +7 -9
- mxcubecore/HardwareObjects/SpecState.py +5 -7
- mxcubecore/HardwareObjects/StateMachine.py +9 -10
- mxcubecore/HardwareObjects/TangoLimaMpegVideo.py +2 -3
- mxcubecore/HardwareObjects/TangoLimaVideo.py +3 -4
- mxcubecore/HardwareObjects/TangoMachineInfo.py +1 -3
- mxcubecore/HardwareObjects/TangoMotor.py +1 -1
- mxcubecore/HardwareObjects/UserTypeISPyBLims.py +8 -8
- mxcubecore/HardwareObjects/XMLRPCServer.py +20 -22
- mxcubecore/HardwareObjects/abstract/AbstractAperture.py +6 -11
- mxcubecore/HardwareObjects/abstract/AbstractCollect.py +6 -16
- mxcubecore/HardwareObjects/abstract/AbstractDetector.py +2 -7
- mxcubecore/HardwareObjects/abstract/AbstractEnergyScan.py +1 -1
- mxcubecore/HardwareObjects/abstract/AbstractLims.py +3 -4
- mxcubecore/HardwareObjects/abstract/AbstractMultiCollect.py +6 -6
- mxcubecore/HardwareObjects/abstract/AbstractNState.py +1 -1
- mxcubecore/HardwareObjects/abstract/AbstractProcedure.py +3 -4
- mxcubecore/HardwareObjects/abstract/AbstractSampleChanger.py +1 -1
- mxcubecore/HardwareObjects/abstract/AbstractVideoDevice.py +5 -5
- mxcubecore/HardwareObjects/abstract/AbstractXRFSpectrum.py +2 -0
- mxcubecore/HardwareObjects/abstract/ISPyBAbstractLims.py +11 -13
- mxcubecore/HardwareObjects/abstract/ISPyBDataAdapter.py +3 -3
- mxcubecore/HardwareObjects/abstract/sample_changer/Crims.py +8 -0
- mxcubecore/HardwareObjects/mockup/BeamlineTestMockup.py +12 -13
- mxcubecore/HardwareObjects/mockup/EnergyScanMockup.py +10 -11
- mxcubecore/HardwareObjects/mockup/ISPyBClientMockup.py +6 -6
- mxcubecore/HardwareObjects/mockup/ISPyBRestClientMockup.py +1 -1
- mxcubecore/HardwareObjects/mockup/LimaDetectorMockup.py +1 -2
- mxcubecore/HardwareObjects/mockup/MDCameraMockup.py +5 -6
- mxcubecore/HardwareObjects/mockup/MicrodiffInOutMockup.py +1 -1
- mxcubecore/HardwareObjects/mockup/MultiCollectMockup.py +1 -1
- mxcubecore/HardwareObjects/mockup/ShapeHistoryMockup.py +1 -2
- mxcubecore/HardwareObjects/mockup/XRFMockup.py +3 -6
- mxcubecore/TaskUtils.py +2 -0
- mxcubecore/queue_entry/base_queue_entry.py +2 -2
- mxcubecore/queue_entry/energy_scan.py +1 -1
- mxcubecore/saferef.py +2 -1
- mxcubecore/utils/qt_import.py +8 -7
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/METADATA +1 -1
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/RECORD +195 -195
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/COPYING +0 -0
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/COPYING.LESSER +0 -0
- {mxcubecore-1.392.0.dist-info → mxcubecore-1.394.0.dist-info}/WHEEL +0 -0
|
@@ -101,9 +101,7 @@ class EMBLBeamCentering(HardwareObject):
|
|
|
101
101
|
self.focusing_mode_changed,
|
|
102
102
|
)
|
|
103
103
|
else:
|
|
104
|
-
|
|
105
|
-
"BeamlineTest: Beam focusing hwobj is not defined"
|
|
106
|
-
)
|
|
104
|
+
self.log.debug("BeamlineTest: Beam focusing hwobj is not defined")
|
|
107
105
|
|
|
108
106
|
def focusing_mode_changed(self, focusing_mode, beam_size):
|
|
109
107
|
"""Reemits focusing changed signal
|
|
@@ -128,7 +126,7 @@ class EMBLBeamCentering(HardwareObject):
|
|
|
128
126
|
with gevent.Timeout(20, Exception("Timeout waiting for pitch scan ready")):
|
|
129
127
|
while self.scan_status != 0: # chan_pitch_scan_status.get_value() != 0:
|
|
130
128
|
gevent.sleep(0.1)
|
|
131
|
-
|
|
129
|
+
self.log.error("scan status %s" % self.scan_status)
|
|
132
130
|
self.cmd_set_vmax_pitch(1)
|
|
133
131
|
sleep(3)
|
|
134
132
|
|
|
@@ -88,7 +88,7 @@ class EMBLBeamFocusing(HardwareObject):
|
|
|
88
88
|
)
|
|
89
89
|
motors_group.re_emit_values()
|
|
90
90
|
else:
|
|
91
|
-
|
|
91
|
+
self.log.debug("BeamFocusing: No motors defined")
|
|
92
92
|
self.active_focus_mode = self.focus_modes[0]["modeName"]
|
|
93
93
|
self.size = self.focus_modes[0]["size"]
|
|
94
94
|
self.re_emit_values()
|
|
@@ -96,7 +96,7 @@ class EMBLBeamFocusing(HardwareObject):
|
|
|
96
96
|
try:
|
|
97
97
|
self.cmd_set_phase = eval(self.get_property("setPhaseCmd"))
|
|
98
98
|
except Exception:
|
|
99
|
-
|
|
99
|
+
self.log.exception("")
|
|
100
100
|
|
|
101
101
|
self.aperture_hwobj = self.get_object_by_role("aperture")
|
|
102
102
|
|
|
@@ -240,7 +240,7 @@ class EMBLBeamFocusing(HardwareObject):
|
|
|
240
240
|
:type focus_mode: str
|
|
241
241
|
"""
|
|
242
242
|
gevent.spawn(self.focus_mode_task, focus_mode)
|
|
243
|
-
|
|
243
|
+
self.log.info("Focusing: %s mode requested" % focus_mode)
|
|
244
244
|
self.emit("focusingModeRequested", focus_mode)
|
|
245
245
|
|
|
246
246
|
def focus_mode_task(self, focus_mode):
|
|
@@ -188,7 +188,7 @@ class EMBLDoorInterlock(HardwareObject):
|
|
|
188
188
|
)
|
|
189
189
|
logging.getLogger("GUI").error(msg)
|
|
190
190
|
else:
|
|
191
|
-
|
|
191
|
+
self.log.info("Door is Interlocked")
|
|
192
192
|
|
|
193
193
|
def re_emit_values(self):
|
|
194
194
|
"""Updates state"""
|
|
@@ -104,7 +104,7 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
104
104
|
try:
|
|
105
105
|
self._default_energy = self.get_property("defaultEnergy")
|
|
106
106
|
except Exception:
|
|
107
|
-
|
|
107
|
+
self.log.warning("Energy: no default energy defined")
|
|
108
108
|
|
|
109
109
|
try:
|
|
110
110
|
self._energy_limits = eval(self.get_property("staticLimits"))
|
|
@@ -135,9 +135,7 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
135
135
|
value = self.chan_energy.get_value()
|
|
136
136
|
return value[0] / 1000
|
|
137
137
|
except Exception:
|
|
138
|
-
|
|
139
|
-
"Energy: could not read current energy"
|
|
140
|
-
)
|
|
138
|
+
self.log.exception("Energy: could not read current energy")
|
|
141
139
|
return None
|
|
142
140
|
return value
|
|
143
141
|
|
|
@@ -153,9 +151,7 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
153
151
|
self.chan_limit_high.get_value(),
|
|
154
152
|
)
|
|
155
153
|
except Exception:
|
|
156
|
-
|
|
157
|
-
"Energy: could not read energy limits"
|
|
158
|
-
)
|
|
154
|
+
self.log.exception("Energy: could not read energy limits")
|
|
159
155
|
return self._energy_limits
|
|
160
156
|
|
|
161
157
|
def get_wavelength_limits(self):
|
|
@@ -205,11 +201,11 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
205
201
|
"""
|
|
206
202
|
Checks given value if it is within limits
|
|
207
203
|
"""
|
|
208
|
-
|
|
204
|
+
self.log.info("Checking the move limits")
|
|
209
205
|
result = False
|
|
210
206
|
|
|
211
207
|
if self._energy_limits[0] <= value <= self.en_lims[1]:
|
|
212
|
-
|
|
208
|
+
self.log.info("Limits ok")
|
|
213
209
|
result = True
|
|
214
210
|
else:
|
|
215
211
|
logging.getLogger("GUI").info("Energy: Requested value is out of limits")
|
|
@@ -223,7 +219,7 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
223
219
|
# :param wait: boolean
|
|
224
220
|
# :return:
|
|
225
221
|
# """
|
|
226
|
-
#
|
|
222
|
+
# self.log.info("Moving wavelength to (%s)" % value)
|
|
227
223
|
# return self.move_energy(12.3984 / value, wait)
|
|
228
224
|
# # return self.startMoveEnergy(value, wait)
|
|
229
225
|
|
|
@@ -313,7 +309,7 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
313
309
|
self._moving = False
|
|
314
310
|
self.set_break_bragg()
|
|
315
311
|
if self.cmd_reset_perp is not None:
|
|
316
|
-
|
|
312
|
+
self.log.info("Energy: Perp reset sent")
|
|
317
313
|
self.cmd_reset_perp()
|
|
318
314
|
self.move_energy_finished(0)
|
|
319
315
|
self.update_state(self.STATES.READY)
|
|
@@ -402,22 +398,18 @@ class EMBLEnergy(AbstractEnergy):
|
|
|
402
398
|
self.wait_ready()
|
|
403
399
|
gevent.sleep(1)
|
|
404
400
|
self.wait_ready()
|
|
405
|
-
|
|
401
|
+
self.log.info("Energy: Set bragg break cmd send")
|
|
406
402
|
self.cmd_set_break_bragg(1)
|
|
407
403
|
gevent.sleep(2)
|
|
408
404
|
if self.chan_status_bragg_break is not None:
|
|
409
|
-
|
|
410
|
-
"Energy: Waiting for break set (first try) ..."
|
|
411
|
-
)
|
|
405
|
+
self.log.warning("Energy: Waiting for break set (first try) ...")
|
|
412
406
|
with gevent.Timeout(
|
|
413
407
|
20, Exception("Energy: Timeout waiting for break set")
|
|
414
408
|
):
|
|
415
409
|
while self.chan_status_bragg_break.get_value() != 0:
|
|
416
410
|
gevent.sleep(0.1)
|
|
417
411
|
gevent.sleep(3)
|
|
418
|
-
|
|
419
|
-
"Waiting for break set (second try) ..."
|
|
420
|
-
)
|
|
412
|
+
self.log.warning("Waiting for break set (second try) ...")
|
|
421
413
|
with gevent.Timeout(20, Exception("Timeout waiting for break set")):
|
|
422
414
|
while self.chan_status_bragg_break.get_value() != 0:
|
|
423
415
|
gevent.sleep(0.1)
|
|
@@ -181,7 +181,7 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
181
181
|
:type exptime: float
|
|
182
182
|
:return: True if success, otherwise returns False
|
|
183
183
|
"""
|
|
184
|
-
log =
|
|
184
|
+
log = self.log
|
|
185
185
|
|
|
186
186
|
self.scan_info = {
|
|
187
187
|
"sessionId": session_id,
|
|
@@ -304,7 +304,7 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
304
304
|
def scanCommandFinished(self, *args):
|
|
305
305
|
with TaskUtils.cleanup(self.ready_event.set):
|
|
306
306
|
self.scan_info["endTime"] = time.strftime("%Y-%m-%d %H:%M:%S")
|
|
307
|
-
|
|
307
|
+
self.log.debug("Energy scan: finished")
|
|
308
308
|
self.scanning = False
|
|
309
309
|
self.scan_info["startEnergy"] = self.scan_data[-1][0]
|
|
310
310
|
self.scan_info["endEnergy"] = self.scan_data[-1][1]
|
|
@@ -330,9 +330,7 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
330
330
|
if not os.path.exists(archive_directory):
|
|
331
331
|
os.makedirs(archive_directory)
|
|
332
332
|
except Exception:
|
|
333
|
-
|
|
334
|
-
"EMBLEnergyScan: could not create results directory."
|
|
335
|
-
)
|
|
333
|
+
self.log.exception("EMBLEnergyScan: could not create results directory.")
|
|
336
334
|
self.store_energy_scan()
|
|
337
335
|
self.emit("energyScanFailed", ())
|
|
338
336
|
return
|
|
@@ -340,9 +338,7 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
340
338
|
try:
|
|
341
339
|
archive_file_raw = open(archive_file_raw_filename, "w")
|
|
342
340
|
except Exception:
|
|
343
|
-
|
|
344
|
-
"EMBLEnergyScan: could not create results raw file"
|
|
345
|
-
)
|
|
341
|
+
self.log.exception("EMBLEnergyScan: could not create results raw file")
|
|
346
342
|
self.store_energy_scan()
|
|
347
343
|
self.emit("energyScanFailed", ())
|
|
348
344
|
return
|
|
@@ -377,6 +373,8 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
377
373
|
self.store_energy_scan()
|
|
378
374
|
|
|
379
375
|
logging.getLogger("GUI").error("Energy scan: Chooch failed")
|
|
376
|
+
|
|
377
|
+
self.log.exception("")
|
|
380
378
|
return None, None, None, None, None, None, None, [], [], [], None
|
|
381
379
|
|
|
382
380
|
rm = (pk + 30) / 1000.0
|
|
@@ -407,7 +405,7 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
407
405
|
for i in range(len(chooch_graph_x)):
|
|
408
406
|
chooch_graph_x[i] = chooch_graph_x[i] / 1000.0
|
|
409
407
|
|
|
410
|
-
#
|
|
408
|
+
# self.log.info("EMBLEnergyScan: Saving png" )
|
|
411
409
|
# prepare to save png files
|
|
412
410
|
title = "%s %s %s\n%.4f %.2f %.2f\n%.4f %.2f %.2f" % (
|
|
413
411
|
"energy",
|
|
@@ -457,13 +455,13 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
457
455
|
|
|
458
456
|
self.scan_info["jpegChoochFileFullPath"] = str(archive_file_png_filename)
|
|
459
457
|
try:
|
|
460
|
-
|
|
458
|
+
self.log.info(
|
|
461
459
|
"Saving energy scan to archive directory for ISPyB : %s",
|
|
462
460
|
archive_file_png_filename,
|
|
463
461
|
)
|
|
464
462
|
canvas.print_figure(archive_file_png_filename, dpi=80)
|
|
465
463
|
except Exception:
|
|
466
|
-
|
|
464
|
+
self.log.exception("could not save figure")
|
|
467
465
|
|
|
468
466
|
self.store_energy_scan()
|
|
469
467
|
|
|
@@ -514,7 +512,7 @@ class EMBLEnergyScan(AbstractEnergyScan, HardwareObject):
|
|
|
514
512
|
}
|
|
515
513
|
)
|
|
516
514
|
except IndexError:
|
|
517
|
-
|
|
515
|
+
self.log.exception("")
|
|
518
516
|
return elements
|
|
519
517
|
|
|
520
518
|
def get_scan_data(self):
|
|
@@ -170,7 +170,7 @@ class EMBLFlux(AbstractFlux):
|
|
|
170
170
|
self.intensity_ranges, key=lambda item: item["max"]
|
|
171
171
|
)
|
|
172
172
|
except Exception:
|
|
173
|
-
|
|
173
|
+
self.log.error("BeamlineTest: No intensity ranges defined")
|
|
174
174
|
"""
|
|
175
175
|
|
|
176
176
|
self.chan_intens_mean = self.get_channel_object("intensMean")
|
|
@@ -364,23 +364,23 @@ class EMBLFlux(AbstractFlux):
|
|
|
364
364
|
# Close the fast shutter
|
|
365
365
|
# -----------------------------------------------------------------
|
|
366
366
|
HWR.beamline.fast_shutter.close(wait=True)
|
|
367
|
-
|
|
367
|
+
self.log.debug("Measure flux: Fast shutter closed")
|
|
368
368
|
gevent.sleep(0.2)
|
|
369
369
|
HWR.beamline.diffractometer.wait_ready(10)
|
|
370
370
|
|
|
371
371
|
# Move back light in, check beamstop position
|
|
372
372
|
# -----------------------------------------------------------------
|
|
373
|
-
|
|
373
|
+
self.log.info("Measure flux: Moving backlight out...")
|
|
374
374
|
self.emit("progressStep", 1, "Moving backlight out")
|
|
375
375
|
HWR.beamline.back_light.move_in()
|
|
376
|
-
|
|
376
|
+
self.log.debug("Measure flux: Backlight moved out")
|
|
377
377
|
|
|
378
378
|
beamstop_position = HWR.beamline.beamstop.get_value()
|
|
379
379
|
if beamstop_position == "BEAM":
|
|
380
380
|
self.emit("progressStep", 2, "Moving beamstop OFF")
|
|
381
381
|
HWR.beamline.beamstop.set_position("OFF")
|
|
382
382
|
HWR.beamline.diffractometer.wait_ready(30)
|
|
383
|
-
|
|
383
|
+
self.log.info("Measure flux: Beamstop moved off")
|
|
384
384
|
|
|
385
385
|
# Check scintillator position
|
|
386
386
|
# -----------------------------------------------------------------
|
|
@@ -390,9 +390,7 @@ class EMBLFlux(AbstractFlux):
|
|
|
390
390
|
HWR.beamline.diffractometer.set_scintillator_position("PHOTODIODE")
|
|
391
391
|
gevent.sleep(1)
|
|
392
392
|
HWR.beamline.diffractometer.wait_ready(30)
|
|
393
|
-
|
|
394
|
-
"Measure flux: Scintillator set to photodiode"
|
|
395
|
-
)
|
|
393
|
+
self.log.debug("Measure flux: Scintillator set to photodiode")
|
|
396
394
|
|
|
397
395
|
self.measured_flux_list = []
|
|
398
396
|
|
|
@@ -417,7 +415,7 @@ class EMBLFlux(AbstractFlux):
|
|
|
417
415
|
|
|
418
416
|
gevent.sleep(1)
|
|
419
417
|
intens_value = self.chan_intens_mean.get_value(force=True)
|
|
420
|
-
|
|
418
|
+
self.log.info("Measured current: %s" % intens_value)
|
|
421
419
|
# HWR.beamline.fast_shutter.closeShutter(wait=True)
|
|
422
420
|
intensity_value = intens_value[0] + 1.860e-5 # 2.780e-6
|
|
423
421
|
self.measured_flux_list.append(self.get_flux_result(intensity_value))
|
|
@@ -428,21 +426,21 @@ class EMBLFlux(AbstractFlux):
|
|
|
428
426
|
self.cmd_flux_record([_x["flux"] for _x in self.measured_flux_list])
|
|
429
427
|
gevent.sleep(2)
|
|
430
428
|
except Exception:
|
|
431
|
-
|
|
429
|
+
self.log.exception("")
|
|
432
430
|
|
|
433
431
|
max_frame_rate = 25
|
|
434
432
|
else:
|
|
435
433
|
self.emit("progressStep", 5, "Measuring the intensity")
|
|
436
434
|
current_aperture_index = 0
|
|
437
435
|
HWR.beamline.fast_shutter.open(wait=True)
|
|
438
|
-
|
|
436
|
+
self.log.debug("Measure flux: Fast shutter opened")
|
|
439
437
|
|
|
440
438
|
gevent.sleep(0.5)
|
|
441
439
|
intens_value = self.chan_intens_mean.get_value()
|
|
442
440
|
|
|
443
441
|
intens_range_now = self.chan_intens_range.get_value()
|
|
444
442
|
HWR.beamline.fast_shutter.close(wait=True)
|
|
445
|
-
|
|
443
|
+
self.log.debug("Measure flux: Fast shutter closed")
|
|
446
444
|
|
|
447
445
|
intensity_value = intens_value[0] + 2.780e-6
|
|
448
446
|
self.measured_flux_list.append(self.get_flux_result(intensity_value))
|
|
@@ -161,7 +161,7 @@ class EMBLMachineInfo(HardwareObject):
|
|
|
161
161
|
self.cryojet_in_changed(self.chan_cryojet_in.get_value())
|
|
162
162
|
self.chan_cryojet_in.connect_signal("update", self.cryojet_in_changed)
|
|
163
163
|
else:
|
|
164
|
-
|
|
164
|
+
self.log.debug("MachineInfo: Cryojet channel not defined")
|
|
165
165
|
|
|
166
166
|
self.chan_sc_dewar_low_level_alarm = self.get_channel_object(
|
|
167
167
|
"scLowLevelAlarm", optional=True
|
|
@@ -524,7 +524,7 @@ class EMBLMachineInfo(HardwareObject):
|
|
|
524
524
|
last_value = line_el[-1]
|
|
525
525
|
last_value = float(last_value)
|
|
526
526
|
except Exception:
|
|
527
|
-
|
|
527
|
+
self.log.debug("MachineInfo: Unable to read epics values")
|
|
528
528
|
finally:
|
|
529
529
|
if url_file:
|
|
530
530
|
url_file.close()
|
|
@@ -184,7 +184,7 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
184
184
|
self.beam_position = value
|
|
185
185
|
|
|
186
186
|
def state_changed(self, state):
|
|
187
|
-
#
|
|
187
|
+
# self.log.debug("State changed: %s" % str(state))
|
|
188
188
|
self.current_state = state
|
|
189
189
|
self.emit("minidiffStateChanged", (self.current_state))
|
|
190
190
|
self.emit("minidiffStatusChanged", (self.current_state))
|
|
@@ -308,7 +308,7 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
308
308
|
in (GenericDiffractometer.PHASE_TRANSFER, GenericDiffractometer.PHASE_BEAM)
|
|
309
309
|
):
|
|
310
310
|
detector_distance = HWR.beamline.detector.distance.get_value()
|
|
311
|
-
|
|
311
|
+
self.log.debug(
|
|
312
312
|
"Diffractometer current phase: %s " % self.current_phase
|
|
313
313
|
+ "selected phase: %s" % phase
|
|
314
314
|
+ "detector distance: %d mm" % detector_distance
|
|
@@ -330,7 +330,7 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
330
330
|
self.wait_device_ready(30)
|
|
331
331
|
_howlong = time.time() - _start
|
|
332
332
|
if _howlong > 11.0:
|
|
333
|
-
|
|
333
|
+
self.log.error(
|
|
334
334
|
"Changing phase to %s took %.1f seconds" % (phase, _howlong)
|
|
335
335
|
)
|
|
336
336
|
else:
|
|
@@ -375,7 +375,7 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
375
375
|
if self.current_phase != "BeamLocation":
|
|
376
376
|
GenericDiffractometer.move_to_beam(self, x, y, omega)
|
|
377
377
|
else:
|
|
378
|
-
|
|
378
|
+
self.log.debug(
|
|
379
379
|
"Diffractometer: Move to screen"
|
|
380
380
|
+ " position disabled in BeamLocation phase."
|
|
381
381
|
)
|
|
@@ -519,13 +519,17 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
519
519
|
self.motor_hwobj_dict["sampx"]: centred_position.sampx,
|
|
520
520
|
self.motor_hwobj_dict["sampy"]: centred_position.sampy,
|
|
521
521
|
self.motor_hwobj_dict["phi"]: centred_position.phi,
|
|
522
|
-
self.motor_hwobj_dict["phiy"]:
|
|
523
|
-
|
|
524
|
-
self.
|
|
522
|
+
self.motor_hwobj_dict["phiy"]: (
|
|
523
|
+
centred_position.phiy
|
|
524
|
+
+ self.centring_hwobj.camera2alignmentMotor(
|
|
525
|
+
self.motor_hwobj_dict["phiy"], {"X": dx, "Y": dy}
|
|
526
|
+
)
|
|
525
527
|
),
|
|
526
|
-
self.motor_hwobj_dict["phiz"]:
|
|
527
|
-
|
|
528
|
-
self.
|
|
528
|
+
self.motor_hwobj_dict["phiz"]: (
|
|
529
|
+
centred_position.phiz
|
|
530
|
+
+ self.centring_hwobj.camera2alignmentMotor(
|
|
531
|
+
self.motor_hwobj_dict["phiz"], {"X": dx, "Y": dy}
|
|
532
|
+
)
|
|
529
533
|
),
|
|
530
534
|
self.motor_hwobj_dict["kappa"]: centred_position.kappa,
|
|
531
535
|
self.motor_hwobj_dict["kappa_phi"]: centred_position.kappa_phi,
|
|
@@ -534,9 +538,7 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
534
538
|
except BaseException:
|
|
535
539
|
logging.exception("Could not move to centred position")
|
|
536
540
|
else:
|
|
537
|
-
|
|
538
|
-
"Move to centred position disabled in BeamLocation phase."
|
|
539
|
-
)
|
|
541
|
+
self.log.debug("Move to centred position disabled in BeamLocation phase.")
|
|
540
542
|
|
|
541
543
|
def move_kappa_and_phi(self, kappa=None, kappa_phi=None, wait=False):
|
|
542
544
|
return gevent.spawn(self.move_kappa_and_phi_procedure, kappa, kappa_phi)
|
|
@@ -600,9 +602,7 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
600
602
|
|
|
601
603
|
def visual_align(self, point_1, point_2):
|
|
602
604
|
if self.in_plate_mode():
|
|
603
|
-
|
|
604
|
-
"EMBLMiniDiff: Visual align not available in Plate mode"
|
|
605
|
-
)
|
|
605
|
+
self.log.info("EMBLMiniDiff: Visual align not available in Plate mode")
|
|
606
606
|
else:
|
|
607
607
|
t1 = [point_1.sampx, point_1.sampy, point_1.phiy]
|
|
608
608
|
t2 = [point_2.sampx, point_2.sampy, point_2.phiy]
|
|
@@ -656,12 +656,12 @@ class EMBLMiniDiff(GenericDiffractometer):
|
|
|
656
656
|
|
|
657
657
|
def close_kappa_task(self):
|
|
658
658
|
"""Close kappa task"""
|
|
659
|
-
|
|
659
|
+
self.log.debug("Diffractometer: Closing Kappa started...")
|
|
660
660
|
self.move_kappa_and_phi_procedure(0, 270)
|
|
661
661
|
self.wait_device_ready(180)
|
|
662
662
|
self.motor_hwobj_dict["kappa"].home()
|
|
663
663
|
self.wait_device_ready(60)
|
|
664
|
-
|
|
664
|
+
self.log.debug("Diffractometer: Done Closing Kappa")
|
|
665
665
|
|
|
666
666
|
def set_zoom(self, position):
|
|
667
667
|
self.zoom_motor_hwobj.move_to_position(position)
|
|
@@ -75,7 +75,6 @@ Example Hardware Object XML file :
|
|
|
75
75
|
</object>
|
|
76
76
|
"""
|
|
77
77
|
|
|
78
|
-
import logging
|
|
79
78
|
import time
|
|
80
79
|
|
|
81
80
|
import gevent
|
|
@@ -147,7 +146,7 @@ class EMBLMotorsGroup(HardwareObject):
|
|
|
147
146
|
self.group_address,
|
|
148
147
|
self.positionAddr,
|
|
149
148
|
)
|
|
150
|
-
|
|
149
|
+
self.log.error(msg)
|
|
151
150
|
|
|
152
151
|
try:
|
|
153
152
|
self.chan_status = self.add_channel(
|
|
@@ -166,7 +165,7 @@ class EMBLMotorsGroup(HardwareObject):
|
|
|
166
165
|
self.group_address,
|
|
167
166
|
self.statusAddr,
|
|
168
167
|
)
|
|
169
|
-
|
|
168
|
+
self.log.error(msg)
|
|
170
169
|
|
|
171
170
|
def get_motors_dict(self):
|
|
172
171
|
"""Returns dict with motors"""
|
|
@@ -188,16 +187,14 @@ class EMBLMotorsGroup(HardwareObject):
|
|
|
188
187
|
motor["setCmd"],
|
|
189
188
|
new_position,
|
|
190
189
|
)
|
|
191
|
-
|
|
190
|
+
self.log.debug(
|
|
192
191
|
"EMBLMotorsGroup: send %s : %.4f"
|
|
193
192
|
% (motor["motorAddr"], new_position)
|
|
194
193
|
)
|
|
195
194
|
time.sleep(0.2)
|
|
196
195
|
self.wait_motor_ready(motor_name, timeout=10)
|
|
197
196
|
time.sleep(1)
|
|
198
|
-
|
|
199
|
-
"EMBLMotorsGroup: motor %s ready" % motor["motorAddr"]
|
|
200
|
-
)
|
|
197
|
+
self.log.debug("EMBLMotorsGroup: motor %s ready" % motor["motorAddr"])
|
|
201
198
|
break
|
|
202
199
|
|
|
203
200
|
def set_motor_focus_mode(self, motor_name, focus_mode):
|
|
@@ -248,14 +245,14 @@ class EMBLMotorsGroup(HardwareObject):
|
|
|
248
245
|
motor["setCmd"],
|
|
249
246
|
motor["focusingModes"][str(focus_mode)],
|
|
250
247
|
)
|
|
251
|
-
|
|
248
|
+
self.log.debug(
|
|
252
249
|
"EMBLMotorsGroup: send %s : %.4f"
|
|
253
250
|
% (motor["motorAddr"], motor["focusingModes"][str(focus_mode)])
|
|
254
251
|
)
|
|
255
252
|
if motor["motorName"] in ("In", "Out", "Top", "But"):
|
|
256
253
|
self.wait_motor_ready(motor["motorName"], timeout=10)
|
|
257
254
|
time.sleep(1.1)
|
|
258
|
-
|
|
255
|
+
self.log.debug(
|
|
259
256
|
"EMBLMotorsGroup: motor %s ready" % motor["motorAddr"]
|
|
260
257
|
)
|
|
261
258
|
|
|
@@ -436,13 +436,13 @@ class EMBLOnlineProcessing(AbstractOnlineProcessing):
|
|
|
436
436
|
|
|
437
437
|
if len(batch) >= self.params_dict["images_num"]:
|
|
438
438
|
self.all_frames_batch_processed = True
|
|
439
|
-
|
|
439
|
+
self.log.info(
|
|
440
440
|
"All dozor scores %s of %s"
|
|
441
441
|
% (len(batch), self.params_dict["images_num"])
|
|
442
442
|
)
|
|
443
443
|
self.finish_processing()
|
|
444
444
|
else:
|
|
445
|
-
|
|
445
|
+
self.log.info(
|
|
446
446
|
"Dozor scores %s of %s %s"
|
|
447
447
|
% (len(batch), self.params_dict["images_num"], self.batch_count)
|
|
448
448
|
)
|
|
@@ -485,20 +485,20 @@ class EMBLOnlineProcessing(AbstractOnlineProcessing):
|
|
|
485
485
|
|
|
486
486
|
if len(is_values) >= self.params_dict["images_num"]:
|
|
487
487
|
self.all_frames_dozor_is = True
|
|
488
|
-
|
|
488
|
+
self.log.info(
|
|
489
489
|
"All ISs %s of %s"
|
|
490
490
|
% (len(is_values), self.params_dict["images_num"])
|
|
491
491
|
)
|
|
492
492
|
self.finish_processing()
|
|
493
493
|
else:
|
|
494
|
-
|
|
494
|
+
self.log.info(
|
|
495
495
|
"IS values %s of %s %s"
|
|
496
496
|
% (len(is_values), self.params_dict["images_num"], self.is_count)
|
|
497
497
|
)
|
|
498
498
|
|
|
499
499
|
def finish_processing(self):
|
|
500
500
|
if self.all_frames_dozor_is and self.all_frames_batch_processed:
|
|
501
|
-
|
|
501
|
+
self.log.info("Processing finished")
|
|
502
502
|
self.set_processing_status("Success")
|
|
503
503
|
self.all_frames_dozor_is = False
|
|
504
504
|
self.all_frames_batch_processed = False
|
|
@@ -558,7 +558,7 @@ class EMBLOnlineProcessing(AbstractOnlineProcessing):
|
|
|
558
558
|
)
|
|
559
559
|
dozor_result.addImageDozor(dozor_image)
|
|
560
560
|
dozor_result.exportToFile(processing_xml_filename)
|
|
561
|
-
|
|
561
|
+
self.log.info(
|
|
562
562
|
"Online processing: Results saved in %s" % processing_xml_filename
|
|
563
563
|
)
|
|
564
564
|
|
|
@@ -132,7 +132,7 @@ class EMBLPPUControl(HardwareObject):
|
|
|
132
132
|
logging.getLogger("GUI").error(msg)
|
|
133
133
|
else:
|
|
134
134
|
msg = "PPUControl: %s" % self.all_status
|
|
135
|
-
|
|
135
|
+
self.log.debug(msg)
|
|
136
136
|
|
|
137
137
|
self.msg = (
|
|
138
138
|
"Restart result:\n\n%s\n\n" % self.restart_result
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
# You should have received a copy of the GNU Lesser General Public License
|
|
18
18
|
# along with MXCuBE. If not, see <http://www.gnu.org/licenses/>.
|
|
19
19
|
|
|
20
|
-
import logging
|
|
21
20
|
|
|
22
21
|
from mxcubecore.HardwareObjects import QtGraphicsLib as GraphicsLib
|
|
23
22
|
from mxcubecore.HardwareObjects.QtGraphicsManager import QtGraphicsManager
|
|
@@ -110,9 +109,7 @@ class EMBLSSXChip(QtGraphicsManager):
|
|
|
110
109
|
if item_name in self.chip_config_list[self.current_chip_index]:
|
|
111
110
|
self.chip_config_list[self.current_chip_index][item_name] = item_value
|
|
112
111
|
else:
|
|
113
|
-
|
|
114
|
-
"Item %s not found in the config dict" % item_name
|
|
115
|
-
)
|
|
112
|
+
self.log.warning("Item %s not found in the config dict" % item_name)
|
|
116
113
|
|
|
117
114
|
def get_dg_channels_list(self):
|
|
118
115
|
return self.dg_channels_list
|
|
@@ -68,8 +68,6 @@ Example Hardware Object XML file :
|
|
|
68
68
|
</object>
|
|
69
69
|
"""
|
|
70
70
|
|
|
71
|
-
import logging
|
|
72
|
-
|
|
73
71
|
from mxcubecore.HardwareObjects.abstract.AbstractSlits import AbstractSlits
|
|
74
72
|
|
|
75
73
|
__credits__ = ["EMBL Hamburg"]
|
|
@@ -154,7 +152,7 @@ class EMBLSlitBox(AbstractSlits):
|
|
|
154
152
|
)
|
|
155
153
|
self.beam_focus_hwobj.re_emit_values()
|
|
156
154
|
else:
|
|
157
|
-
|
|
155
|
+
self.log.debug("EMBLSlitBox: beamFocus HO not defined")
|
|
158
156
|
|
|
159
157
|
def get_step_sizes(self):
|
|
160
158
|
"""Returns Hor and Ver step sizes (list of two values)"""
|
|
@@ -20,7 +20,6 @@
|
|
|
20
20
|
"""EMBLTableMotor"""
|
|
21
21
|
|
|
22
22
|
import atexit
|
|
23
|
-
import logging
|
|
24
23
|
import socket
|
|
25
24
|
import time
|
|
26
25
|
|
|
@@ -112,6 +111,6 @@ class EMBLTableMotor(AbstractMotor):
|
|
|
112
111
|
"""
|
|
113
112
|
try:
|
|
114
113
|
self.socket.close()
|
|
115
|
-
|
|
114
|
+
self.log.info("EMBLTableMotor: Socket closed")
|
|
116
115
|
except Exception:
|
|
117
|
-
|
|
116
|
+
self.log.error("EMBLTableMotor: Failed to close the socket")
|
|
@@ -86,20 +86,20 @@ class EMBLXRFSpectrum(AbstractXRFSpectrum):
|
|
|
86
86
|
"""Controls execution"""
|
|
87
87
|
if self.spectrum_running:
|
|
88
88
|
if status == "scaning":
|
|
89
|
-
|
|
89
|
+
self.log.info("XRF spectrum in progress...")
|
|
90
90
|
elif status == "ready":
|
|
91
91
|
if self.spectrum_running:
|
|
92
92
|
self.spectrum_data = list(self.cmd_spectrum_start.get())
|
|
93
93
|
# self.mca_calib = self.chan_spectrum_consts.get_value()[::-1]
|
|
94
94
|
self.spectrum_command_finished()
|
|
95
|
-
|
|
95
|
+
self.log.info("XRF spectrum finished")
|
|
96
96
|
elif status == "aborting":
|
|
97
97
|
if self.spectrum_running:
|
|
98
98
|
self.spectrum_command_aborted()
|
|
99
|
-
|
|
99
|
+
self.log.info("XRF spectrum aborted!")
|
|
100
100
|
elif status == "error":
|
|
101
101
|
self.spectrum_command_failed()
|
|
102
|
-
|
|
102
|
+
self.log.error("XRF spectrum failed!")
|
|
103
103
|
|
|
104
104
|
def cancel_spectrum(self, *args):
|
|
105
105
|
"""Cancels acquisition"""
|
|
@@ -905,7 +905,7 @@ class EMBLXrayImaging(QtGraphicsManager, AbstractCollect):
|
|
|
905
905
|
if relative_angle:
|
|
906
906
|
if index >= abs(self.image_count / 360.0 * relative_angle):
|
|
907
907
|
break
|
|
908
|
-
|
|
908
|
+
self.log.debug("display: " + str(self.current_image_index))
|
|
909
909
|
self.display_image(self.current_image_index)
|
|
910
910
|
self.current_image_index += direction * step
|
|
911
911
|
if self.repeat_image_play and self.current_image_index >= self.image_count:
|