diff --git a/pyproject.toml b/pyproject.toml index f32b986..b81424d 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,8 +12,8 @@ package-url = 'https://github.com/PyMoDAQ/pymodaq_plugins_mockexamples' name = "pymodaq_plugins_mockexamples" description = 'Set of advanced Mock examples to test PyMoDAQ functionnalities' dependencies = [ - "pymodaq>=5.3.0", - "pymodaq_data>=5.2.5", + "pymodaq>=5.2.8", + "pymodaq_data>=5.2.8" "pillow", ] diff --git a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirror.py b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirror.py index 5fb4ae9..5d142f0 100644 --- a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirror.py +++ b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirror.py @@ -42,7 +42,11 @@ def ini_stage(self, controller=None): """ """ - self.ini_stage_init(controller, BeamSteering()) + if self.is_master: + self.controller = BeamSteering() + else: + self.controller = controller + self.controller.tau = self.settings['tau'] / 1000 info = "" diff --git a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorRunTimeError.py b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorRunTimeError.py new file mode 100644 index 0000000..7a7b755 --- /dev/null +++ b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorRunTimeError.py @@ -0,0 +1,19 @@ +from pymodaq.control_modules.move_utility_classes import main # base class + +from pymodaq_plugins_mockexamples.daq_move_plugins.daq_move_BSPiezoMirror import DAQ_Move_BSPiezoMirror + + +class DAQ_Move_BSPiezoMirrorRunTimeError(DAQ_Move_BSPiezoMirror): + """ + """ + + def get_actuator_value(self): + raise RuntimeError('Testing Purpose') + axis = self.settings['multiaxes', 'axis'] + pos = self.controller.get_value(axis) + pos = self.get_position_with_scaling(pos) + return pos + + +if __name__ == '__main__': + main(__file__) \ No newline at end of file diff --git a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorTimeout.py b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorTimeout.py new file mode 100644 index 0000000..87ddc41 --- /dev/null +++ b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorTimeout.py @@ -0,0 +1,33 @@ +from qtpy import QtCore + +from pymodaq.control_modules.move_utility_classes import main # base class + +from pymodaq_plugins_mockexamples.daq_move_plugins.daq_move_BSPiezoMirror import ( + DAQ_Move_BSPiezoMirror, BeamSteering) +from pymodaq_utils.config import GlobalConfig as Config + + +config = Config() + + + +class DAQ_Move_BSPiezoMirrorTimeout(DAQ_Move_BSPiezoMirror): + """ + """ + + def ini_stage(self, controller=None): + """ + + """ + self.ini_stage_init(controller, BeamSteering()) + self.controller.tau = self.settings['tau'] / 1000 + QtCore.QThread.msleep(2 * config('pymodaq', 'control_modules', 'control_module_ini_polling') * 1000) # simulating a very long initialization + + raise IOError('Hardware Timeout: Testing Purpose') # simulating an error in initialization !!! + info = "" + initialized = True + return info, initialized + + +if __name__ == '__main__': + main(__file__) \ No newline at end of file diff --git a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorUninitializing.py b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorUninitializing.py new file mode 100644 index 0000000..e8294e4 --- /dev/null +++ b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_BSPiezoMirrorUninitializing.py @@ -0,0 +1,24 @@ +from pymodaq.control_modules.move_utility_classes import main # base class + +from pymodaq_plugins_mockexamples.daq_move_plugins.daq_move_BSPiezoMirror import ( + DAQ_Move_BSPiezoMirror, BeamSteering) + + +class DAQ_Move_BSPiezoMirrorUninitializing(DAQ_Move_BSPiezoMirror): + """ + """ + + def ini_stage(self, controller=None): + """ + + """ + self.ini_stage_init(controller, BeamSteering()) + self.controller.tau = self.settings['tau'] / 1000 + raise IOError('Testing Purpose') # simulating an error in initialization !!! + info = "" + initialized = True + return info, initialized + + +if __name__ == '__main__': + main(__file__) \ No newline at end of file diff --git a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockBinary.py b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockBinary.py index 0437d97..05826d0 100644 --- a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockBinary.py +++ b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockBinary.py @@ -18,7 +18,7 @@ class DAQ_Move_MockBinary(DAQ_Move_base): _epsilon = 0.01 params = comon_parameters_fun(is_multiaxes, axes_names, epsilon=_epsilon) data_actuator_type = DataActuatorType.DataActuator - ui_type = UiType.BINARY + ui_type = UiType.BINARY #for pymodaq >= 5.3.0 def ini_attributes(self): self._internal_state = 0 diff --git a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockRelative.py b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockRelative.py index 2792e30..aee6008 100644 --- a/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockRelative.py +++ b/src/pymodaq_plugins_mockexamples/daq_move_plugins/daq_move_MockRelative.py @@ -17,7 +17,7 @@ class DAQ_Move_MockRelative(DAQ_Move_base): params = comon_parameters_fun(is_multiaxes, axes_names, epsilon=_epsilon) data_actuator_type = DataActuatorType.DataActuator - ui_type = UiType.RELATIVE + ui_type = UiType.RELATIVE #for pymodaq >= 5.3.0 has_encoder = False def ini_attributes(self): diff --git a/src/pymodaq_plugins_mockexamples/daq_viewer_plugins/plugins_2D/daq_2Dviewer_BSCamera.py b/src/pymodaq_plugins_mockexamples/daq_viewer_plugins/plugins_2D/daq_2Dviewer_BSCamera.py index 11ef48a..d5545c2 100644 --- a/src/pymodaq_plugins_mockexamples/daq_viewer_plugins/plugins_2D/daq_2Dviewer_BSCamera.py +++ b/src/pymodaq_plugins_mockexamples/daq_viewer_plugins/plugins_2D/daq_2Dviewer_BSCamera.py @@ -45,7 +45,10 @@ def commit_settings(self, param: Parameter): self.controller.power_noise_fraction = param.value() def ini_detector(self, controller=None): - self.ini_detector_init(controller, BeamSteering()) + if self.is_master: + self.controller = BeamSteering() + else: + self.controller = controller self.emit_status(ThreadCommand('update_main_settings', [['wait_time'], self.settings['wait_time'], 'value']))