zaber-motion 7.14.0__py3-none-win32.whl → 7.15.0__py3-none-win32.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.
@@ -1,9 +1,10 @@
1
1
  # This file is generated. Do not modify by hand.
2
2
  # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
3
  from dataclasses import dataclass
4
- from typing import Any, Dict
4
+ from typing import Any, Dict, Optional
5
5
  import decimal
6
6
  import zaber_bson
7
+ from ..measurement import Measurement
7
8
 
8
9
 
9
10
  @dataclass
@@ -17,6 +18,8 @@ class ChannelOn:
17
18
 
18
19
  on: bool = False
19
20
 
21
+ duration: Optional[Measurement] = None
22
+
20
23
  @staticmethod
21
24
  def zero_values() -> 'ChannelOn':
22
25
  return ChannelOn(
@@ -24,6 +27,7 @@ class ChannelOn:
24
27
  device=0,
25
28
  axis=0,
26
29
  on=False,
30
+ duration=None,
27
31
  )
28
32
 
29
33
  @staticmethod
@@ -43,6 +47,7 @@ class ChannelOn:
43
47
  'device': int(self.device),
44
48
  'axis': int(self.axis),
45
49
  'on': bool(self.on),
50
+ 'duration': self.duration.to_dict() if self.duration is not None else None,
46
51
  }
47
52
 
48
53
  @staticmethod
@@ -52,6 +57,7 @@ class ChannelOn:
52
57
  device=data.get('device'), # type: ignore
53
58
  axis=data.get('axis'), # type: ignore
54
59
  on=data.get('on'), # type: ignore
60
+ duration=Measurement.from_dict(data.get('duration')) if data.get('duration') is not None else None, # type: ignore
55
61
  )
56
62
 
57
63
  def validate(self) -> None:
@@ -82,3 +88,9 @@ class ChannelOn:
82
88
 
83
89
  if int(self.axis) != self.axis:
84
90
  raise ValueError(f'Property "Axis" of "ChannelOn" is not integer value.')
91
+
92
+ if self.duration is not None:
93
+ if not isinstance(self.duration, Measurement):
94
+ raise ValueError(f'Property "Duration" of "ChannelOn" is not an instance of "Measurement".')
95
+
96
+ self.duration.validate()
zaber_motion/library.py CHANGED
@@ -171,7 +171,7 @@ class Library:
171
171
  """
172
172
  request = dto.CheckVersionRequest(
173
173
  host="py",
174
- version="7.14.0",
174
+ version="7.15.0",
175
175
  )
176
176
  call_sync("library/check_version", request)
177
177
 
@@ -55,6 +55,30 @@ class Illuminator:
55
55
 
56
56
  return IlluminatorChannel(self, channel_number)
57
57
 
58
+ def turn_off(
59
+ self
60
+ ) -> None:
61
+ """
62
+ Turns all channels off.
63
+ """
64
+ request = dto.DeviceEmptyRequest(
65
+ interface_id=self.device.connection.interface_id,
66
+ device=self.device.device_address,
67
+ )
68
+ call("illuminator/all_off", request)
69
+
70
+ async def turn_off_async(
71
+ self
72
+ ) -> None:
73
+ """
74
+ Turns all channels off.
75
+ """
76
+ request = dto.DeviceEmptyRequest(
77
+ interface_id=self.device.connection.interface_id,
78
+ device=self.device.device_address,
79
+ )
80
+ await call_async("illuminator/all_off", request)
81
+
58
82
  def __verify_is_illuminator(
59
83
  self
60
84
  ) -> None:
@@ -8,6 +8,7 @@ from ..dto.ascii.response import Response
8
8
  from ..ascii import Axis, AxisSettings, AxisStorage, Warnings
9
9
  from ..dto.ascii.set_state_axis_response import SetStateAxisResponse
10
10
  from ..dto.firmware_version import FirmwareVersion
11
+ from ..dto.measurement import Measurement
11
12
 
12
13
  if TYPE_CHECKING:
13
14
  from .illuminator import Illuminator
@@ -63,30 +64,42 @@ class IlluminatorChannel:
63
64
  self._warnings: Warnings = Warnings(illuminator.device, channel_number)
64
65
 
65
66
  def on(
66
- self
67
+ self,
68
+ duration: Optional[Measurement] = None
67
69
  ) -> None:
68
70
  """
69
71
  Turns this channel on.
72
+
73
+ Args:
74
+ duration: Duration for which to turn the channel on.
75
+ If not specified, the channel remains on until turned off.
70
76
  """
71
77
  request = dto.ChannelOn(
72
78
  interface_id=self.illuminator.device.connection.interface_id,
73
79
  device=self.illuminator.device.device_address,
74
80
  axis=self.channel_number,
75
81
  on=True,
82
+ duration=duration,
76
83
  )
77
84
  call("illuminator/on", request)
78
85
 
79
86
  async def on_async(
80
- self
87
+ self,
88
+ duration: Optional[Measurement] = None
81
89
  ) -> None:
82
90
  """
83
91
  Turns this channel on.
92
+
93
+ Args:
94
+ duration: Duration for which to turn the channel on.
95
+ If not specified, the channel remains on until turned off.
84
96
  """
85
97
  request = dto.ChannelOn(
86
98
  interface_id=self.illuminator.device.connection.interface_id,
87
99
  device=self.illuminator.device.device_address,
88
100
  axis=self.channel_number,
89
101
  on=True,
102
+ duration=duration,
90
103
  )
91
104
  await call_async("illuminator/on", request)
92
105
 
zaber_motion/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "7.14.0"
1
+ __version__ = "7.15.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: zaber_motion
3
- Version: 7.14.0
3
+ Version: 7.15.0
4
4
  Summary: An official library for communicating with Zaber devices.
5
5
  Author-email: "Zaber Technologies Inc." <contact@zaber.com>
6
6
  License: The MIT License (MIT)
@@ -9,13 +9,13 @@ zaber_motion/call.py,sha256=X8iXJdlO1AvnMeDFmKXEPY8UFQWn8EXZmoXzcWO_ihc,5404
9
9
  zaber_motion/convert_exception.py,sha256=0ANPUmugxDvCGMURPN8Lqyi-3cU80L323xrsF19wbIk,8625
10
10
  zaber_motion/dto_object.py,sha256=TrwKMn_dbeh4DnCToS507G5eRJiW0_ZcGj9Q5RaSjqY,377
11
11
  zaber_motion/events.py,sha256=8UB_4SZz3HDb8VqborlHQGt7w0Nd11rEYblbVQxyckE,3510
12
- zaber_motion/library.py,sha256=JMkxqN_CVgjSZjqFZRpkJJj9swwC0x-R_L_x9jWAY94,5676
12
+ zaber_motion/library.py,sha256=KSvJ0a4O8bqA83EtL8PmKUv18XHrxXinx2z1bZPfQ9A,5676
13
13
  zaber_motion/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  zaber_motion/serialization.py,sha256=0yLY0dA7XRjMAlI-wr92arZ6yRO97CyC_Rzc9BBHJRk,1019
15
15
  zaber_motion/tools.py,sha256=ZI8xYDa6SFlMghP2qklV73Z0TJcezC6trdAAXVI6PoM,2291
16
16
  zaber_motion/unit_table.py,sha256=DtphJjbzD1LSHpd4-idwIE2Dif89L7RrmeQI3LkOp40,2583
17
17
  zaber_motion/units.py,sha256=h1sEuCQR0q8SeCdWd2V8X62VZJBxMda9Kef724f6yc0,11059
18
- zaber_motion/version.py,sha256=6WOo1wu5owGUC1A0_jY-E5vKacPVCfxUhxedL-bJpOE,24
18
+ zaber_motion/version.py,sha256=VrjTjmBXMXwMfknPbQK7nsMSpgedOz1yuUcYCgELK-s,24
19
19
  zaber_motion/ascii/__init__.py,sha256=9RFjxHOckdwD6DlAvmVfpWhR1U9-lWyU1t3EE0C2Glc,4921
20
20
  zaber_motion/ascii/all_axes.py,sha256=-g226GCRClqolpwZSYQj_ohuVfyBf6YPNSt3BxXxme4,11145
21
21
  zaber_motion/ascii/axis.py,sha256=6J1IjouSoZOFsVaTVfMj6GQKL9OGqPeb9w-NUY_IEe0,59558
@@ -179,7 +179,7 @@ zaber_motion/dto/requests/binary_reply_only_event_wrapper.py,sha256=Tkt1raNQhf42
179
179
  zaber_motion/dto/requests/bool_response.py,sha256=lY_F_J8Hvdw0QnK-PH2gzdpW1jYU9sIMBQ74m2Y0J6I,1323
180
180
  zaber_motion/dto/requests/can_set_state_axis_response.py,sha256=6LYjFfbWYU51P7vuhzPalPiM_l9BWCkQ1-msf86C9Uk,2290
181
181
  zaber_motion/dto/requests/can_set_state_request.py,sha256=LINLynW6PGX-f8scpvcvuu9leSL-nQOk9RgoEreSn94,4036
182
- zaber_motion/dto/requests/channel_on.py,sha256=TBq6P7rMkU21ArhHZmDzF4vNhTCCuJYKOQfrIXSBYsc,2975
182
+ zaber_motion/dto/requests/channel_on.py,sha256=pmpCwcu6lxDJyHNQcT0hJUG53Mvbqd2SWqPZIQ5J7CI,3567
183
183
  zaber_motion/dto/requests/channel_set_intensity.py,sha256=Ndrp7mdGK9Myz-6x8g0irp50VsQ9RTuZWbncQMWaAQ4,3472
184
184
  zaber_motion/dto/requests/check_version_request.py,sha256=We9hlCDdiQVd6L5-EHzGyHZppSYWxsaNytVX87MYouw,1876
185
185
  zaber_motion/dto/requests/custom_interface_close_request.py,sha256=nXLojkpYSauIP_I-n3mjFnqi4CLFG_5qn0HZ4yuEifQ,2362
@@ -480,17 +480,17 @@ zaber_motion/microscopy/__init__.py,sha256=B1nfWsalhZC2iZZR65YCu-v1gzI0_A0mpebME
480
480
  zaber_motion/microscopy/autofocus.py,sha256=XhorXFrXT_Sikp0UhTIQc9xDCpGbhmq9V9B3odPDIwo,24389
481
481
  zaber_motion/microscopy/camera_trigger.py,sha256=WqKqdaIhF68BnvYE6C4ygY3f5uoCGTGq1bM3LXH0--k,3583
482
482
  zaber_motion/microscopy/filter_changer.py,sha256=8nTMWfF89IoEy5sueZA-v6sHEc-xhLuL6cl6k-G2RTQ,4826
483
- zaber_motion/microscopy/illuminator.py,sha256=hh-4_p7DlPfMFBqGd8jn0QSB11bcsGEH5xEQeyrV7p4,4308
484
- zaber_motion/microscopy/illuminator_channel.py,sha256=d7T1nppREWStueDASnj6_RUJqu3-YfHPY3J4KH6KRx0,21130
483
+ zaber_motion/microscopy/illuminator.py,sha256=C9sog9vqh6ikTCJ-cwmjV5k5vt8nr3jpKNyLT2HEFn0,4982
484
+ zaber_motion/microscopy/illuminator_channel.py,sha256=tq1BzM0G5RfaOyOnLi7hzPSFAFhmeUKF3cu2UTTfZ1c,21661
485
485
  zaber_motion/microscopy/microscope.py,sha256=2f02iWTypslE9xjnrIIYfty-XmBVOLQVuxoSqrLDsG0,10096
486
486
  zaber_motion/microscopy/objective_changer.py,sha256=YdIUczXXijOpiOWKmj1OIcbTZvuls24AqoRju3Z8kT0,13960
487
487
  zaber_motion/microscopy/wdi_autofocus_provider.py,sha256=QwYC7ITnjSjUOjWkCxNPVViiK5874S5sM_6Xniiq0kI,16350
488
488
  zaber_motion/product/__init__.py,sha256=ZGZzfMmsd1ZWwLk0SZ3Ac1Une88SZQHuuzEFGgd6ork,538
489
489
  zaber_motion/product/process.py,sha256=o5GoKjC7eTVwTrfeugqvfTmg-UARhyTTbDDmoGCQ8Q8,28345
490
490
  zaber_motion/product/process_controller.py,sha256=GVYMALlFWEcvLipPk1GF-M7LcoKfCf5_YqFMeFseCpg,4327
491
- zaber_motion_bindings/zaber-motion-core-windows-386.dll,sha256=BMtH9MsYBYQaudsdp1V8T1Wf8qS0NCDD7hr_SYkOg1U,15060480
492
- zaber_motion-7.14.0.dist-info/LICENSE.txt,sha256=H7YIgjgmcE_L-pfvZTWUoLrk7p0LiiKQh5_oeIWux-k,111363
493
- zaber_motion-7.14.0.dist-info/METADATA,sha256=Nw648wzlGtySTuAYNR9Ow2SBrqM1DeQKXC2jUArHBi0,129816
494
- zaber_motion-7.14.0.dist-info/WHEEL,sha256=IvMpNSrdjsF1-j47TwHzkg3me4kdrqF21OaDAsKYs1k,93
495
- zaber_motion-7.14.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
496
- zaber_motion-7.14.0.dist-info/RECORD,,
491
+ zaber_motion_bindings/zaber-motion-core-windows-386.dll,sha256=Ofk1XuaKQkEWGYmvCRUBevWF9MVtOfxjeDykrICqx_A,15073792
492
+ zaber_motion-7.15.0.dist-info/LICENSE.txt,sha256=H7YIgjgmcE_L-pfvZTWUoLrk7p0LiiKQh5_oeIWux-k,111363
493
+ zaber_motion-7.15.0.dist-info/METADATA,sha256=XqIsLGR70KUj1udf9paLKgV8TwQ6FJBHzhnXAOKrqp8,129816
494
+ zaber_motion-7.15.0.dist-info/WHEEL,sha256=IvMpNSrdjsF1-j47TwHzkg3me4kdrqF21OaDAsKYs1k,93
495
+ zaber_motion-7.15.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
496
+ zaber_motion-7.15.0.dist-info/RECORD,,