zaber-motion 7.8.4__py3-none-win_arm64.whl → 7.9.0__py3-none-win_arm64.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.
@@ -114,9 +114,17 @@ class Connection:
114
114
  """
115
115
  self.__change_checksum_enabled(value)
116
116
 
117
+ @property
118
+ def is_open(self) -> bool:
119
+ """
120
+ Returns whether the connection is open.
121
+ Does not guarantee that subsequent requests will succeed.
122
+ """
123
+ return self.__retrieve_is_open()
124
+
117
125
  def __init__(self, interface_id: int):
118
126
  self._interface_id = interface_id
119
- self.__setup_events()
127
+ self.__setup_events(0)
120
128
 
121
129
  @staticmethod
122
130
  def open_serial_port(
@@ -402,6 +410,40 @@ class Connection:
402
410
  )
403
411
  return AsyncConnectionOpener(request)
404
412
 
413
+ def reopen(
414
+ self
415
+ ) -> None:
416
+ """
417
+ Reopens the connection.
418
+ To continue using events on the connection, you must resubscribe to event observables.
419
+ Throws an exception if the connection is already open.
420
+ """
421
+ request = dto.InterfaceEmptyRequest(
422
+ interface_id=self.interface_id,
423
+ )
424
+ response = call(
425
+ "interface/reopen",
426
+ request,
427
+ dto.IntResponse.from_binary)
428
+ self.__setup_events(response.value)
429
+
430
+ async def reopen_async(
431
+ self
432
+ ) -> None:
433
+ """
434
+ Reopens the connection.
435
+ To continue using events on the connection, you must resubscribe to event observables.
436
+ Throws an exception if the connection is already open.
437
+ """
438
+ request = dto.InterfaceEmptyRequest(
439
+ interface_id=self.interface_id,
440
+ )
441
+ response = await call_async(
442
+ "interface/reopen",
443
+ request,
444
+ dto.IntResponse.from_binary)
445
+ self.__setup_events(response.value)
446
+
405
447
  def generic_command(
406
448
  self,
407
449
  command: str,
@@ -1007,6 +1049,24 @@ class Connection:
1007
1049
  )
1008
1050
  call_sync("interface/set_checksum_enabled", request)
1009
1051
 
1052
+ def __retrieve_is_open(
1053
+ self
1054
+ ) -> bool:
1055
+ """
1056
+ Returns is open.
1057
+
1058
+ Returns:
1059
+ Is open.
1060
+ """
1061
+ request = dto.InterfaceEmptyRequest(
1062
+ interface_id=self.interface_id,
1063
+ )
1064
+ response = call_sync(
1065
+ "interface/get_is_open",
1066
+ request,
1067
+ dto.BoolResponse.from_binary)
1068
+ return response.value
1069
+
1010
1070
  @staticmethod
1011
1071
  def __free(
1012
1072
  interface_id: int
@@ -1030,11 +1090,11 @@ class Connection:
1030
1090
  """ __exit__ """
1031
1091
  self.close()
1032
1092
 
1033
- def __setup_events(self) -> None:
1093
+ def __setup_events(self, session_id: int) -> None:
1034
1094
  def filter_connection_event(
1035
1095
  data: TConnectionEvents,
1036
1096
  ) -> bool:
1037
- return data.interface_id == self._interface_id
1097
+ return data.interface_id == self._interface_id and data.session_id == session_id
1038
1098
 
1039
1099
  self._disconnected = ReplaySubject[MotionLibException]() # terminates all the events
1040
1100
 
@@ -66,6 +66,14 @@ class Connection:
66
66
  """
67
67
  return self._interface_id
68
68
 
69
+ @property
70
+ def is_open(self) -> bool:
71
+ """
72
+ Returns whether the connection is open.
73
+ Does not guarantee that the subsequent requests will succeed.
74
+ """
75
+ return self.__retrieve_is_open()
76
+
69
77
  def __init__(self, interface_id: int):
70
78
  self._interface_id = interface_id
71
79
  self.__setup_events()
@@ -497,6 +505,24 @@ class Connection:
497
505
 
498
506
  return Device(self, device_address)
499
507
 
508
+ def __retrieve_is_open(
509
+ self
510
+ ) -> bool:
511
+ """
512
+ Returns is open.
513
+
514
+ Returns:
515
+ Is open.
516
+ """
517
+ request = dto.InterfaceEmptyRequest(
518
+ interface_id=self.interface_id,
519
+ )
520
+ response = call_sync(
521
+ "interface/get_is_open",
522
+ request,
523
+ dto.BoolResponse.from_binary)
524
+ return response.value
525
+
500
526
  def __repr__(
501
527
  self
502
528
  ) -> str:
@@ -12,12 +12,18 @@ class AlertEventWrapper:
12
12
 
13
13
  interface_id: int = 0
14
14
 
15
+ session_id: int = 0
16
+ """
17
+ The id of the connection session.
18
+ """
19
+
15
20
  alert: AlertEvent = field(default_factory=AlertEvent.zero_values)
16
21
 
17
22
  @staticmethod
18
23
  def zero_values() -> 'AlertEventWrapper':
19
24
  return AlertEventWrapper(
20
25
  interface_id=0,
26
+ session_id=0,
21
27
  alert=AlertEvent.zero_values(),
22
28
  )
23
29
 
@@ -35,6 +41,7 @@ class AlertEventWrapper:
35
41
  def to_dict(self) -> Dict[str, Any]:
36
42
  return {
37
43
  'interfaceId': int(self.interface_id),
44
+ 'sessionId': int(self.session_id),
38
45
  'alert': self.alert.to_dict(),
39
46
  }
40
47
 
@@ -42,6 +49,7 @@ class AlertEventWrapper:
42
49
  def from_dict(data: Dict[str, Any]) -> 'AlertEventWrapper':
43
50
  return AlertEventWrapper(
44
51
  interface_id=data.get('interfaceId'), # type: ignore
52
+ session_id=data.get('sessionId'), # type: ignore
45
53
  alert=AlertEvent.from_dict(data.get('alert')), # type: ignore
46
54
  )
47
55
 
@@ -56,6 +64,15 @@ class AlertEventWrapper:
56
64
  if int(self.interface_id) != self.interface_id:
57
65
  raise ValueError(f'Property "InterfaceId" of "AlertEventWrapper" is not integer value.')
58
66
 
67
+ if self.session_id is None:
68
+ raise ValueError(f'Property "SessionId" of "AlertEventWrapper" is None.')
69
+
70
+ if not isinstance(self.session_id, (int, float, decimal.Decimal)):
71
+ raise ValueError(f'Property "SessionId" of "AlertEventWrapper" is not a number.')
72
+
73
+ if int(self.session_id) != self.session_id:
74
+ raise ValueError(f'Property "SessionId" of "AlertEventWrapper" is not integer value.')
75
+
59
76
  if self.alert is None:
60
77
  raise ValueError(f'Property "Alert" of "AlertEventWrapper" is None.')
61
78
 
@@ -12,12 +12,18 @@ class BinaryReplyOnlyEventWrapper:
12
12
 
13
13
  interface_id: int = 0
14
14
 
15
+ session_id: int = 0
16
+ """
17
+ The id of the connection session.
18
+ """
19
+
15
20
  reply: ReplyOnlyEvent = field(default_factory=ReplyOnlyEvent.zero_values)
16
21
 
17
22
  @staticmethod
18
23
  def zero_values() -> 'BinaryReplyOnlyEventWrapper':
19
24
  return BinaryReplyOnlyEventWrapper(
20
25
  interface_id=0,
26
+ session_id=0,
21
27
  reply=ReplyOnlyEvent.zero_values(),
22
28
  )
23
29
 
@@ -35,6 +41,7 @@ class BinaryReplyOnlyEventWrapper:
35
41
  def to_dict(self) -> Dict[str, Any]:
36
42
  return {
37
43
  'interfaceId': int(self.interface_id),
44
+ 'sessionId': int(self.session_id),
38
45
  'reply': self.reply.to_dict(),
39
46
  }
40
47
 
@@ -42,6 +49,7 @@ class BinaryReplyOnlyEventWrapper:
42
49
  def from_dict(data: Dict[str, Any]) -> 'BinaryReplyOnlyEventWrapper':
43
50
  return BinaryReplyOnlyEventWrapper(
44
51
  interface_id=data.get('interfaceId'), # type: ignore
52
+ session_id=data.get('sessionId'), # type: ignore
45
53
  reply=ReplyOnlyEvent.from_dict(data.get('reply')), # type: ignore
46
54
  )
47
55
 
@@ -56,6 +64,15 @@ class BinaryReplyOnlyEventWrapper:
56
64
  if int(self.interface_id) != self.interface_id:
57
65
  raise ValueError(f'Property "InterfaceId" of "BinaryReplyOnlyEventWrapper" is not integer value.')
58
66
 
67
+ if self.session_id is None:
68
+ raise ValueError(f'Property "SessionId" of "BinaryReplyOnlyEventWrapper" is None.')
69
+
70
+ if not isinstance(self.session_id, (int, float, decimal.Decimal)):
71
+ raise ValueError(f'Property "SessionId" of "BinaryReplyOnlyEventWrapper" is not a number.')
72
+
73
+ if int(self.session_id) != self.session_id:
74
+ raise ValueError(f'Property "SessionId" of "BinaryReplyOnlyEventWrapper" is not integer value.')
75
+
59
76
  if self.reply is None:
60
77
  raise ValueError(f'Property "Reply" of "BinaryReplyOnlyEventWrapper" is None.')
61
78
 
@@ -18,6 +18,11 @@ class DisconnectedEvent:
18
18
  The id of the interface that was disconnected.
19
19
  """
20
20
 
21
+ session_id: int = 0
22
+ """
23
+ The id of the connection session.
24
+ """
25
+
21
26
  error_type: Errors = next(first for first in Errors)
22
27
  """
23
28
  The type of error that caused the disconnection.
@@ -32,6 +37,7 @@ class DisconnectedEvent:
32
37
  def zero_values() -> 'DisconnectedEvent':
33
38
  return DisconnectedEvent(
34
39
  interface_id=0,
40
+ session_id=0,
35
41
  error_type=next(first for first in Errors),
36
42
  error_message="",
37
43
  )
@@ -50,6 +56,7 @@ class DisconnectedEvent:
50
56
  def to_dict(self) -> Dict[str, Any]:
51
57
  return {
52
58
  'interfaceId': int(self.interface_id),
59
+ 'sessionId': int(self.session_id),
53
60
  'errorType': self.error_type.value,
54
61
  'errorMessage': str(self.error_message or ''),
55
62
  }
@@ -58,6 +65,7 @@ class DisconnectedEvent:
58
65
  def from_dict(data: Dict[str, Any]) -> 'DisconnectedEvent':
59
66
  return DisconnectedEvent(
60
67
  interface_id=data.get('interfaceId'), # type: ignore
68
+ session_id=data.get('sessionId'), # type: ignore
61
69
  error_type=Errors(data.get('errorType')), # type: ignore
62
70
  error_message=data.get('errorMessage'), # type: ignore
63
71
  )
@@ -73,6 +81,15 @@ class DisconnectedEvent:
73
81
  if int(self.interface_id) != self.interface_id:
74
82
  raise ValueError(f'Property "InterfaceId" of "DisconnectedEvent" is not integer value.')
75
83
 
84
+ if self.session_id is None:
85
+ raise ValueError(f'Property "SessionId" of "DisconnectedEvent" is None.')
86
+
87
+ if not isinstance(self.session_id, (int, float, decimal.Decimal)):
88
+ raise ValueError(f'Property "SessionId" of "DisconnectedEvent" is not a number.')
89
+
90
+ if int(self.session_id) != self.session_id:
91
+ raise ValueError(f'Property "SessionId" of "DisconnectedEvent" is not integer value.')
92
+
76
93
  if self.error_type is None:
77
94
  raise ValueError(f'Property "ErrorType" of "DisconnectedEvent" is None.')
78
95
 
@@ -12,12 +12,18 @@ class UnknownBinaryResponseEventWrapper:
12
12
 
13
13
  interface_id: int = 0
14
14
 
15
+ session_id: int = 0
16
+ """
17
+ The id of the connection session.
18
+ """
19
+
15
20
  unknown_response: UnknownResponseEvent = field(default_factory=UnknownResponseEvent.zero_values)
16
21
 
17
22
  @staticmethod
18
23
  def zero_values() -> 'UnknownBinaryResponseEventWrapper':
19
24
  return UnknownBinaryResponseEventWrapper(
20
25
  interface_id=0,
26
+ session_id=0,
21
27
  unknown_response=UnknownResponseEvent.zero_values(),
22
28
  )
23
29
 
@@ -35,6 +41,7 @@ class UnknownBinaryResponseEventWrapper:
35
41
  def to_dict(self) -> Dict[str, Any]:
36
42
  return {
37
43
  'interfaceId': int(self.interface_id),
44
+ 'sessionId': int(self.session_id),
38
45
  'unknownResponse': self.unknown_response.to_dict(),
39
46
  }
40
47
 
@@ -42,6 +49,7 @@ class UnknownBinaryResponseEventWrapper:
42
49
  def from_dict(data: Dict[str, Any]) -> 'UnknownBinaryResponseEventWrapper':
43
50
  return UnknownBinaryResponseEventWrapper(
44
51
  interface_id=data.get('interfaceId'), # type: ignore
52
+ session_id=data.get('sessionId'), # type: ignore
45
53
  unknown_response=UnknownResponseEvent.from_dict(data.get('unknownResponse')), # type: ignore
46
54
  )
47
55
 
@@ -56,6 +64,15 @@ class UnknownBinaryResponseEventWrapper:
56
64
  if int(self.interface_id) != self.interface_id:
57
65
  raise ValueError(f'Property "InterfaceId" of "UnknownBinaryResponseEventWrapper" is not integer value.')
58
66
 
67
+ if self.session_id is None:
68
+ raise ValueError(f'Property "SessionId" of "UnknownBinaryResponseEventWrapper" is None.')
69
+
70
+ if not isinstance(self.session_id, (int, float, decimal.Decimal)):
71
+ raise ValueError(f'Property "SessionId" of "UnknownBinaryResponseEventWrapper" is not a number.')
72
+
73
+ if int(self.session_id) != self.session_id:
74
+ raise ValueError(f'Property "SessionId" of "UnknownBinaryResponseEventWrapper" is not integer value.')
75
+
59
76
  if self.unknown_response is None:
60
77
  raise ValueError(f'Property "UnknownResponse" of "UnknownBinaryResponseEventWrapper" is None.')
61
78
 
@@ -12,12 +12,18 @@ class UnknownResponseEventWrapper:
12
12
 
13
13
  interface_id: int = 0
14
14
 
15
+ session_id: int = 0
16
+ """
17
+ The id of the connection session.
18
+ """
19
+
15
20
  unknown_response: UnknownResponseEvent = field(default_factory=UnknownResponseEvent.zero_values)
16
21
 
17
22
  @staticmethod
18
23
  def zero_values() -> 'UnknownResponseEventWrapper':
19
24
  return UnknownResponseEventWrapper(
20
25
  interface_id=0,
26
+ session_id=0,
21
27
  unknown_response=UnknownResponseEvent.zero_values(),
22
28
  )
23
29
 
@@ -35,6 +41,7 @@ class UnknownResponseEventWrapper:
35
41
  def to_dict(self) -> Dict[str, Any]:
36
42
  return {
37
43
  'interfaceId': int(self.interface_id),
44
+ 'sessionId': int(self.session_id),
38
45
  'unknownResponse': self.unknown_response.to_dict(),
39
46
  }
40
47
 
@@ -42,6 +49,7 @@ class UnknownResponseEventWrapper:
42
49
  def from_dict(data: Dict[str, Any]) -> 'UnknownResponseEventWrapper':
43
50
  return UnknownResponseEventWrapper(
44
51
  interface_id=data.get('interfaceId'), # type: ignore
52
+ session_id=data.get('sessionId'), # type: ignore
45
53
  unknown_response=UnknownResponseEvent.from_dict(data.get('unknownResponse')), # type: ignore
46
54
  )
47
55
 
@@ -56,6 +64,15 @@ class UnknownResponseEventWrapper:
56
64
  if int(self.interface_id) != self.interface_id:
57
65
  raise ValueError(f'Property "InterfaceId" of "UnknownResponseEventWrapper" is not integer value.')
58
66
 
67
+ if self.session_id is None:
68
+ raise ValueError(f'Property "SessionId" of "UnknownResponseEventWrapper" is None.')
69
+
70
+ if not isinstance(self.session_id, (int, float, decimal.Decimal)):
71
+ raise ValueError(f'Property "SessionId" of "UnknownResponseEventWrapper" is not a number.')
72
+
73
+ if int(self.session_id) != self.session_id:
74
+ raise ValueError(f'Property "SessionId" of "UnknownResponseEventWrapper" is not integer value.')
75
+
59
76
  if self.unknown_response is None:
60
77
  raise ValueError(f'Property "UnknownResponse" of "UnknownResponseEventWrapper" is None.')
61
78
 
zaber_motion/library.py CHANGED
@@ -154,7 +154,7 @@ class Library:
154
154
  """
155
155
  request = dto.CheckVersionRequest(
156
156
  host="py",
157
- version="7.8.4",
157
+ version="7.9.0",
158
158
  )
159
159
  call_sync("library/check_version", request)
160
160
 
zaber_motion/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "7.8.4"
1
+ __version__ = "7.9.0"
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: zaber_motion
3
- Version: 7.8.4
3
+ Version: 7.9.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,19 +9,19 @@ 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=2rfHaqA0Ozo7shmAYPcI3ZIIaHJlYS0Uzr4kvFfG8cI,5096
12
+ zaber_motion/library.py,sha256=m-0rcr-7sbfE_cknlqIdM4UBv9zFgUsU9pKA1dFzE3U,5096
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=GTvsxN0HplKv06lLoAKfohFj3XawSa1LCUQOcb0T5fo,23
18
+ zaber_motion/version.py,sha256=SIMn_YcqAb5gJ_kvG_taqXT6s_2sKqeBMghlfl5xdMI,23
19
19
  zaber_motion/ascii/__init__.py,sha256=9RFjxHOckdwD6DlAvmVfpWhR1U9-lWyU1t3EE0C2Glc,4921
20
20
  zaber_motion/ascii/all_axes.py,sha256=KEynCocZ6wPUur7xgA7KUyyLWgsCqrsx7zDoMfVYeRM,11135
21
21
  zaber_motion/ascii/axis.py,sha256=O5nZ0xIG_vRYMLZcEB_yV7UWi0XHtn4NmfBlh0QFtkQ,59284
22
22
  zaber_motion/ascii/axis_group.py,sha256=kdivqIJr5wx7_Puom7xYeGIXdKfcSoCXZpRgj1l6rCM,13318
23
23
  zaber_motion/ascii/axis_settings.py,sha256=NFuINbA0wJ5duls9lrWb1u8i_vTBLQO7OcfktGPNSn8,24225
24
- zaber_motion/ascii/connection.py,sha256=poR_nJpVAgcleGGFQ74X1eKCIxNjSSR_wGi3ElAxBU8,37847
24
+ zaber_motion/ascii/connection.py,sha256=21tr8ITin3R8_N5Dp2cW6UUdRciaRmYD716n0BzbhT4,39666
25
25
  zaber_motion/ascii/device.py,sha256=6gbYty4uYXw2lPXbERXTi3mIxIf3SMXWOzEBE8fJswY,30531
26
26
  zaber_motion/ascii/device_io.py,sha256=RSbxHGL3u-hoJVb6cSmFCA_Qw_hSlWEHMluTDvgXFpg,40548
27
27
  zaber_motion/ascii/device_settings.py,sha256=ToAclvhdR7Wx9lb_mDdQfTX68NURbtUR0fUr35vyjnA,22747
@@ -45,7 +45,7 @@ zaber_motion/ascii/triggers.py,sha256=IMiYZWdZJSzi54vHOPzfXeq6kB6X0T_ORDGGXFBNFs
45
45
  zaber_motion/ascii/warning_flags.py,sha256=YEzRXo46V_NngK4eFLzqqhhtEf-1DxpKVNFA4tVh788,3033
46
46
  zaber_motion/ascii/warnings.py,sha256=CDWfWEfi3XiolGfJvba95rHYntlETwFw12HOdYofNVw,5213
47
47
  zaber_motion/binary/__init__.py,sha256=P_lUxnbFHS5OfvCSK3835lEU0mpwK19MbLzGUfQ9MnI,873
48
- zaber_motion/binary/connection.py,sha256=qaeZcrRzzo_hlesyHs6ihKQsrtSOmxUGbA2CIczl80o,21385
48
+ zaber_motion/binary/connection.py,sha256=cJJDc67z-VnZUugjXfTVsTTVsSRKzbbEt9i3GKpmUk0,22048
49
49
  zaber_motion/binary/device.py,sha256=NdHfnue6vrW8uJUqufVMiod4VudujraltIOl7AMobWg,30162
50
50
  zaber_motion/binary/device_settings.py,sha256=Va3etDqmUNJGmdK5m2FQCsdpwp-oq7mhcez-HTNiedg,3470
51
51
  zaber_motion/dto/__init__.py,sha256=UYCid3DCX6RAhFestXg_g84-G12zOXEsJLj5m8FS2Eo,592
@@ -152,7 +152,7 @@ zaber_motion/dto/product/process_controller_mode.py,sha256=CCiUqQHSuxui8Bn_qDFDg
152
152
  zaber_motion/dto/product/process_controller_source.py,sha256=nW-vvxjqEaSVnhZrgIFNxq0Gvn5qmJsdpe2dY_fOEAY,2649
153
153
  zaber_motion/dto/product/process_controller_source_sensor.py,sha256=2LvWeTrbG7OqTS26OZRGQtOUyBAjy6LaB9k9hoVEMSM,228
154
154
  zaber_motion/dto/requests/__init__.py,sha256=cTnq6FgE2sKeE4aXy5CG3xsU3j6SaW7YUWBFKtkzIn0,23510
155
- zaber_motion/dto/requests/alert_event_wrapper.py,sha256=fZRu8FQ4Wmj2xD4fyQBscwG8FkRO87uowecc6MyVCxk,2459
155
+ zaber_motion/dto/requests/alert_event_wrapper.py,sha256=5py6PY1Ao_lkD3K_FvDHyW6pTDmOFl30Jh5lIwljB9E,3135
156
156
  zaber_motion/dto/requests/autofocus_focus_request.py,sha256=9IGsIMqwoBryeo5onGrqWMcD5WFR7dEtnfU_DWHL4A8,5403
157
157
  zaber_motion/dto/requests/autofocus_get_objective_params_request.py,sha256=2p79lpPqgJzOqglYym7qU4JT1IQ7jmkRn-bZhReQSiw,5472
158
158
  zaber_motion/dto/requests/autofocus_get_objective_params_response.py,sha256=d6dP5ht4GfVw2yowCDsbduiV-TsGvQfk8ZI9bev17Uc,2470
@@ -173,7 +173,7 @@ zaber_motion/dto/requests/binary_device_set_setting_request.py,sha256=vzH8WQV9Ur
173
173
  zaber_motion/dto/requests/binary_device_stop_request.py,sha256=R2HMYtBQIYaOv4xLFrz4ssONb9LxvA0S8IE6qsuTGgo,3491
174
174
  zaber_motion/dto/requests/binary_generic_with_units_request.py,sha256=VpSUvX5kwjYxOIkxGfVb1wjdlhVcxb0UsqVC8_3-CQA,5180
175
175
  zaber_motion/dto/requests/binary_message_collection.py,sha256=SEoTPzwY2UnTbGijV_7723lFAD9_D8KB3sPbt3VqUrg,2280
176
- zaber_motion/dto/requests/binary_reply_only_event_wrapper.py,sha256=rBje9Cu3emRhOwUvoOds7lwYA5Yvwyh7OOIjhZw9rFw,2613
176
+ zaber_motion/dto/requests/binary_reply_only_event_wrapper.py,sha256=Tkt1raNQhf42YNvw5bfnkZLNbNZb_S0HkGZomj6hwJY,3319
177
177
  zaber_motion/dto/requests/bool_response.py,sha256=lY_F_J8Hvdw0QnK-PH2gzdpW1jYU9sIMBQ74m2Y0J6I,1323
178
178
  zaber_motion/dto/requests/can_set_state_axis_response.py,sha256=6LYjFfbWYU51P7vuhzPalPiM_l9BWCkQ1-msf86C9Uk,2290
179
179
  zaber_motion/dto/requests/can_set_state_request.py,sha256=LINLynW6PGX-f8scpvcvuu9leSL-nQOk9RgoEreSn94,4036
@@ -230,7 +230,7 @@ zaber_motion/dto/requests/device_storage_list_keys_request.py,sha256=qOT9lIKYvrj
230
230
  zaber_motion/dto/requests/device_storage_request.py,sha256=phzOLGwuo7PkKdWxa5VUxHCuOC5yF4r0Bx1vSD7Hu4M,3334
231
231
  zaber_motion/dto/requests/device_type.py,sha256=6oM8NfmL49SfispTWRaiq0ZcbND8s-MjDPO_7qj6Z90,145
232
232
  zaber_motion/dto/requests/device_wait_until_idle_request.py,sha256=l3rJ2BCksxIfgy9nwiuULChU-DsNH7O7_GfxSUw2B_Q,3349
233
- zaber_motion/dto/requests/disconnected_event.py,sha256=jwacKWuHSi99zLGyJDntqpiPLeONHsj6_w0iVNOuzEo,3076
233
+ zaber_motion/dto/requests/disconnected_event.py,sha256=6kzMGi8i9hIcfbFUlRY9Q6g9OYVPKM4y9WnKO1YTEvs,3752
234
234
  zaber_motion/dto/requests/double_array_response.py,sha256=bhc7avLgalD4fISenDoaMtLJaMPnzQ_nPtcay5OzK_w,2105
235
235
  zaber_motion/dto/requests/double_response.py,sha256=f6Wka8YOaJuiB8hYQhWdiB2TwW8cvrlv1C9KU_yfGaM,1606
236
236
  zaber_motion/dto/requests/driver_enable_request.py,sha256=0LUyXJ8A53QyhXZJhgX4wacq4yV7QK7L4zofm9udVAk,3452
@@ -395,8 +395,8 @@ zaber_motion/dto/requests/unit_get_enum_request.py,sha256=o6ZWBkBlXgxVyBv0c_0ugf
395
395
  zaber_motion/dto/requests/unit_get_enum_response.py,sha256=V5wDP8KZZ9821XIFyct6k-JzYLqB-oz1jig7kjNLAJM,1732
396
396
  zaber_motion/dto/requests/unit_get_symbol_request.py,sha256=K2-eMZ8DerHVGhe9QpeuECnBx8fm8cr1kAf7GDSk9rk,1741
397
397
  zaber_motion/dto/requests/unit_get_symbol_response.py,sha256=wGIrRolehHI3nmzgDutKoDQk9_XInvL8fQLx__LXhVs,1563
398
- zaber_motion/dto/requests/unknown_binary_response_event_wrapper.py,sha256=LWxAdpDiNqRW40c4Q4p48gdBGg4YTKyuBllNC11w-N0,2850
399
- zaber_motion/dto/requests/unknown_response_event_wrapper.py,sha256=C7DidOlNdgRDAZ2Gm77inC-g9KLuiionoA7Lg1sqzRQ,2777
398
+ zaber_motion/dto/requests/unknown_binary_response_event_wrapper.py,sha256=RXAKQVuGduFdvTvxdN1hRn28po-fr9u799R11ok_ZEA,3574
399
+ zaber_motion/dto/requests/unknown_response_event_wrapper.py,sha256=vMqTqjC1K6GX447q424no1-OQBgyIE1O7B8_9bdKWIw,3483
400
400
  zaber_motion/dto/requests/wait_to_clear_warnings_request.py,sha256=85I8HjG1CPLU1-WdbRsjW1m6sEZTtMTxEv2p0fUTGKo,4453
401
401
  zaber_motion/dto/requests/wait_to_respond_request.py,sha256=NK4W7r0D1-YV2hY-fgDPP3RDZVf4nhTKa5cLmu-SfDc,2915
402
402
  zaber_motion/dto/requests/wdi_generic_request.py,sha256=0gy5YxJzvLfx-2je4Jeqe60davRISvvPEUd_19JpTD0,5565
@@ -480,9 +480,9 @@ zaber_motion/microscopy/wdi_autofocus_provider.py,sha256=bg5MaP1cvvPGX8kFMqfXROv
480
480
  zaber_motion/product/__init__.py,sha256=ZGZzfMmsd1ZWwLk0SZ3Ac1Une88SZQHuuzEFGgd6ork,538
481
481
  zaber_motion/product/process.py,sha256=IRHDUcQZItJSGIhW20KTiG4KoHxgzheqLUYSn-rwNnQ,28276
482
482
  zaber_motion/product/process_controller.py,sha256=89s_7EQ5RWPjXZ1krDbOt7oc87wSB-2SRHDoiVCE-L0,4319
483
- zaber_motion-7.8.4.dist-info/licenses/LICENSE.txt,sha256=H7YIgjgmcE_L-pfvZTWUoLrk7p0LiiKQh5_oeIWux-k,111363
484
- zaber_motion_bindings/zaber-motion-core-windows-arm64.dll,sha256=bjiwmfL_AP_-QNNU6WRHFQnWm34bTIMnrOZ8ajIt7IQ,14165504
485
- zaber_motion-7.8.4.dist-info/METADATA,sha256=wpRmhbfrq7JYbCcNhOUvPXIwWygJiRG83mF_FmMsgf4,129838
486
- zaber_motion-7.8.4.dist-info/WHEEL,sha256=PtZ7_1TP6Cu1E5x_voSGj5l6q0pu2rBD8e6tfv65a50,97
487
- zaber_motion-7.8.4.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
488
- zaber_motion-7.8.4.dist-info/RECORD,,
483
+ zaber_motion-7.9.0.dist-info/licenses/LICENSE.txt,sha256=H7YIgjgmcE_L-pfvZTWUoLrk7p0LiiKQh5_oeIWux-k,111363
484
+ zaber_motion_bindings/zaber-motion-core-windows-arm64.dll,sha256=uk4RY3XBRio9Md0_yEl1eWz_OdFNHvdf5SV2asTpWOg,14191104
485
+ zaber_motion-7.9.0.dist-info/METADATA,sha256=MbkC3OXh0HvowS0Rxd2yuO7fpBkpE2FY2RwPn2k4thw,129838
486
+ zaber_motion-7.9.0.dist-info/WHEEL,sha256=PtZ7_1TP6Cu1E5x_voSGj5l6q0pu2rBD8e6tfv65a50,97
487
+ zaber_motion-7.9.0.dist-info/top_level.txt,sha256=ypgkPvPad6Oge50CT6unnvxCEliKUB6olL6CUUER1SA,51
488
+ zaber_motion-7.9.0.dist-info/RECORD,,