zaber-motion 7.12.0__py3-none-win32.whl → 7.14.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.
Files changed (492) hide show
  1. zaber_motion/__init__.py +103 -103
  2. zaber_motion/ascii/__init__.py +73 -73
  3. zaber_motion/ascii/all_axes.py +352 -352
  4. zaber_motion/ascii/axis.py +1673 -1666
  5. zaber_motion/ascii/axis_group.py +391 -391
  6. zaber_motion/ascii/axis_settings.py +752 -752
  7. zaber_motion/ascii/connection.py +1174 -1174
  8. zaber_motion/ascii/device.py +908 -908
  9. zaber_motion/ascii/device_io.py +1170 -1170
  10. zaber_motion/ascii/device_settings.py +735 -735
  11. zaber_motion/ascii/lockstep.py +1184 -1184
  12. zaber_motion/ascii/oscilloscope.py +635 -635
  13. zaber_motion/ascii/oscilloscope_data.py +240 -240
  14. zaber_motion/ascii/pvt.py +105 -105
  15. zaber_motion/ascii/pvt_buffer.py +146 -146
  16. zaber_motion/ascii/pvt_io.py +630 -630
  17. zaber_motion/ascii/pvt_sequence.py +1530 -1530
  18. zaber_motion/ascii/servo_tuner.py +637 -637
  19. zaber_motion/ascii/setting_constants.py +1755 -1755
  20. zaber_motion/ascii/storage.py +905 -905
  21. zaber_motion/ascii/stream.py +2182 -2182
  22. zaber_motion/ascii/stream_buffer.py +101 -101
  23. zaber_motion/ascii/stream_io.py +700 -700
  24. zaber_motion/ascii/streams.py +105 -105
  25. zaber_motion/ascii/transport.py +202 -202
  26. zaber_motion/ascii/trigger.py +886 -886
  27. zaber_motion/ascii/triggers.py +241 -241
  28. zaber_motion/ascii/warning_flags.py +178 -178
  29. zaber_motion/ascii/warnings.py +152 -152
  30. zaber_motion/async_utils.py +46 -46
  31. zaber_motion/binary/__init__.py +14 -14
  32. zaber_motion/binary/connection.py +648 -648
  33. zaber_motion/binary/device.py +924 -924
  34. zaber_motion/binary/device_settings.py +121 -121
  35. zaber_motion/bindings.py +50 -50
  36. zaber_motion/call.py +198 -198
  37. zaber_motion/convert_exception.py +138 -138
  38. zaber_motion/dto/__init__.py +11 -11
  39. zaber_motion/dto/ascii/__init__.py +46 -46
  40. zaber_motion/dto/ascii/alert_event.py +110 -110
  41. zaber_motion/dto/ascii/axis_identity.py +134 -117
  42. zaber_motion/dto/ascii/axis_type.py +14 -14
  43. zaber_motion/dto/ascii/can_set_state_axis_response.py +69 -69
  44. zaber_motion/dto/ascii/can_set_state_device_response.py +75 -75
  45. zaber_motion/dto/ascii/conversion_factor.py +81 -81
  46. zaber_motion/dto/ascii/device_identity.py +136 -136
  47. zaber_motion/dto/ascii/device_io_info.py +108 -108
  48. zaber_motion/dto/ascii/digital_output_action.py +13 -13
  49. zaber_motion/dto/ascii/get_axis_setting.py +64 -64
  50. zaber_motion/dto/ascii/get_axis_setting_result.py +81 -81
  51. zaber_motion/dto/ascii/get_setting.py +88 -88
  52. zaber_motion/dto/ascii/get_setting_result.py +87 -87
  53. zaber_motion/dto/ascii/io_port_label.py +84 -84
  54. zaber_motion/dto/ascii/io_port_type.py +14 -14
  55. zaber_motion/dto/ascii/lockstep_axes.py +108 -108
  56. zaber_motion/dto/ascii/measurement_sequence.py +73 -73
  57. zaber_motion/dto/ascii/message_type.py +14 -14
  58. zaber_motion/dto/ascii/optional_measurement_sequence.py +71 -71
  59. zaber_motion/dto/ascii/oscilloscope_capture_properties.py +116 -116
  60. zaber_motion/dto/ascii/oscilloscope_data_source.py +11 -11
  61. zaber_motion/dto/ascii/paramset_info.py +92 -92
  62. zaber_motion/dto/ascii/pid_tuning.py +125 -125
  63. zaber_motion/dto/ascii/pvt_axis_definition.py +70 -70
  64. zaber_motion/dto/ascii/pvt_axis_type.py +11 -11
  65. zaber_motion/dto/ascii/pvt_csv_data.py +75 -75
  66. zaber_motion/dto/ascii/pvt_mode.py +12 -12
  67. zaber_motion/dto/ascii/pvt_sequence_data.py +99 -99
  68. zaber_motion/dto/ascii/response.py +137 -137
  69. zaber_motion/dto/ascii/servo_tuning_param.py +66 -66
  70. zaber_motion/dto/ascii/servo_tuning_paramset.py +21 -21
  71. zaber_motion/dto/ascii/set_state_axis_response.py +75 -75
  72. zaber_motion/dto/ascii/set_state_device_response.py +80 -80
  73. zaber_motion/dto/ascii/simple_tuning.py +118 -118
  74. zaber_motion/dto/ascii/simple_tuning_param_definition.py +100 -100
  75. zaber_motion/dto/ascii/stream_axis_definition.py +70 -70
  76. zaber_motion/dto/ascii/stream_axis_type.py +11 -11
  77. zaber_motion/dto/ascii/stream_mode.py +13 -13
  78. zaber_motion/dto/ascii/trigger_action.py +12 -12
  79. zaber_motion/dto/ascii/trigger_condition.py +15 -15
  80. zaber_motion/dto/ascii/trigger_enabled_state.py +68 -68
  81. zaber_motion/dto/ascii/trigger_operation.py +12 -12
  82. zaber_motion/dto/ascii/trigger_state.py +114 -114
  83. zaber_motion/dto/ascii/unknown_response_event.py +137 -137
  84. zaber_motion/dto/axis_address.py +74 -74
  85. zaber_motion/dto/binary/__init__.py +11 -11
  86. zaber_motion/dto/binary/binary_settings.py +74 -74
  87. zaber_motion/dto/binary/command_code.py +106 -106
  88. zaber_motion/dto/binary/device_identity.py +156 -156
  89. zaber_motion/dto/binary/device_type.py +12 -12
  90. zaber_motion/dto/binary/error_code.py +101 -101
  91. zaber_motion/dto/binary/message.py +91 -91
  92. zaber_motion/dto/binary/reply_code.py +16 -16
  93. zaber_motion/dto/binary/reply_only_event.py +91 -91
  94. zaber_motion/dto/binary/unknown_response_event.py +91 -91
  95. zaber_motion/dto/channel_address.py +74 -74
  96. zaber_motion/dto/device_db_source.py +66 -66
  97. zaber_motion/dto/device_db_source_type.py +11 -11
  98. zaber_motion/dto/exceptions/__init__.py +24 -24
  99. zaber_motion/dto/exceptions/binary_command_failed_exception_data.py +57 -57
  100. zaber_motion/dto/exceptions/command_failed_exception_data.py +151 -151
  101. zaber_motion/dto/exceptions/command_too_long_exception_data.py +98 -98
  102. zaber_motion/dto/exceptions/device_address_conflict_exception_data.py +63 -63
  103. zaber_motion/dto/exceptions/device_db_failed_exception_data.py +74 -74
  104. zaber_motion/dto/exceptions/device_db_inner_error.py +85 -85
  105. zaber_motion/dto/exceptions/g_code_execution_exception_data.py +75 -75
  106. zaber_motion/dto/exceptions/g_code_syntax_exception_data.py +75 -75
  107. zaber_motion/dto/exceptions/invalid_packet_exception_data.py +63 -63
  108. zaber_motion/dto/exceptions/invalid_pvt_point.py +69 -69
  109. zaber_motion/dto/exceptions/invalid_response_exception_data.py +51 -51
  110. zaber_motion/dto/exceptions/movement_failed_exception_data.py +104 -104
  111. zaber_motion/dto/exceptions/movement_interrupted_exception_data.py +104 -104
  112. zaber_motion/dto/exceptions/operation_failed_exception_data.py +104 -104
  113. zaber_motion/dto/exceptions/pvt_execution_exception_data.py +86 -86
  114. zaber_motion/dto/exceptions/pvt_movement_failed_exception_data.py +69 -69
  115. zaber_motion/dto/exceptions/pvt_movement_interrupted_exception_data.py +69 -69
  116. zaber_motion/dto/exceptions/set_device_state_exception_data.py +176 -176
  117. zaber_motion/dto/exceptions/set_peripheral_state_exception_data.py +121 -121
  118. zaber_motion/dto/exceptions/stream_execution_exception_data.py +63 -63
  119. zaber_motion/dto/exceptions/stream_movement_failed_exception_data.py +69 -69
  120. zaber_motion/dto/exceptions/stream_movement_interrupted_exception_data.py +69 -69
  121. zaber_motion/dto/firmware_version.py +91 -91
  122. zaber_motion/dto/gcode/__init__.py +9 -9
  123. zaber_motion/dto/gcode/axis_definition.py +74 -74
  124. zaber_motion/dto/gcode/axis_mapping.py +69 -69
  125. zaber_motion/dto/gcode/axis_transformation.py +79 -79
  126. zaber_motion/dto/gcode/device_definition.py +99 -99
  127. zaber_motion/dto/gcode/translate_message.py +87 -87
  128. zaber_motion/dto/gcode/translate_result.py +79 -79
  129. zaber_motion/dto/gcode/translator_config.py +84 -84
  130. zaber_motion/dto/log_output_mode.py +13 -13
  131. zaber_motion/dto/measurement.py +67 -67
  132. zaber_motion/dto/microscopy/__init__.py +6 -6
  133. zaber_motion/dto/microscopy/autofocus_status.py +57 -57
  134. zaber_motion/dto/microscopy/microscope_config.py +159 -159
  135. zaber_motion/dto/microscopy/third_party_components.py +55 -55
  136. zaber_motion/dto/microscopy/wdi_autofocus_provider_status.py +57 -57
  137. zaber_motion/dto/named_parameter.py +64 -64
  138. zaber_motion/dto/product/__init__.py +5 -5
  139. zaber_motion/dto/product/process_controller_mode.py +13 -13
  140. zaber_motion/dto/product/process_controller_source.py +72 -72
  141. zaber_motion/dto/product/process_controller_source_sensor.py +11 -11
  142. zaber_motion/dto/requests/__init__.py +256 -254
  143. zaber_motion/dto/requests/alert_event_wrapper.py +82 -82
  144. zaber_motion/dto/requests/autofocus_focus_request.py +131 -131
  145. zaber_motion/dto/requests/autofocus_get_objective_params_request.py +121 -121
  146. zaber_motion/dto/requests/autofocus_get_objective_params_response.py +56 -56
  147. zaber_motion/dto/requests/autofocus_get_status_response.py +50 -50
  148. zaber_motion/dto/requests/autofocus_set_objective_params_request.py +141 -141
  149. zaber_motion/dto/requests/axes_empty_request.py +95 -95
  150. zaber_motion/dto/requests/axes_get_setting_request.py +121 -121
  151. zaber_motion/dto/requests/axes_move_request.py +114 -114
  152. zaber_motion/dto/requests/axis_empty_request.py +79 -79
  153. zaber_motion/dto/requests/axis_move_type.py +12 -12
  154. zaber_motion/dto/requests/axis_to_string_request.py +88 -88
  155. zaber_motion/dto/requests/binary_device_detect_request.py +56 -56
  156. zaber_motion/dto/requests/binary_device_detect_response.py +57 -57
  157. zaber_motion/dto/requests/binary_device_get_setting_request.py +89 -89
  158. zaber_motion/dto/requests/binary_device_home_request.py +88 -88
  159. zaber_motion/dto/requests/binary_device_move_request.py +111 -111
  160. zaber_motion/dto/requests/binary_device_set_setting_request.py +100 -100
  161. zaber_motion/dto/requests/binary_device_stop_request.py +88 -88
  162. zaber_motion/dto/requests/binary_generic_with_units_request.py +122 -122
  163. zaber_motion/dto/requests/binary_message_collection.py +56 -56
  164. zaber_motion/dto/requests/binary_reply_only_event_wrapper.py +82 -82
  165. zaber_motion/dto/requests/bool_response.py +43 -43
  166. zaber_motion/dto/requests/can_set_state_axis_response.py +60 -60
  167. zaber_motion/dto/requests/can_set_state_request.py +100 -100
  168. zaber_motion/dto/requests/channel_on.py +84 -84
  169. zaber_motion/dto/requests/channel_set_intensity.py +90 -90
  170. zaber_motion/dto/requests/check_version_request.py +54 -54
  171. zaber_motion/dto/requests/custom_interface_close_request.py +60 -60
  172. zaber_motion/dto/requests/custom_interface_open_response.py +51 -51
  173. zaber_motion/dto/requests/custom_interface_read_request.py +51 -51
  174. zaber_motion/dto/requests/custom_interface_write_request.py +60 -60
  175. zaber_motion/dto/requests/device_cancel_all_outputs_schedule_request.py +80 -80
  176. zaber_motion/dto/requests/device_cancel_output_schedule_request.py +84 -84
  177. zaber_motion/dto/requests/device_convert_setting_request.py +116 -116
  178. zaber_motion/dto/requests/device_detect_request.py +68 -68
  179. zaber_motion/dto/requests/device_detect_response.py +57 -57
  180. zaber_motion/dto/requests/device_empty_request.py +65 -65
  181. zaber_motion/dto/requests/device_get_all_analog_io_request.py +74 -74
  182. zaber_motion/dto/requests/device_get_all_analog_io_response.py +54 -54
  183. zaber_motion/dto/requests/device_get_all_digital_io_request.py +74 -74
  184. zaber_motion/dto/requests/device_get_all_digital_io_response.py +46 -46
  185. zaber_motion/dto/requests/device_get_analog_io_request.py +88 -88
  186. zaber_motion/dto/requests/device_get_digital_io_request.py +88 -88
  187. zaber_motion/dto/requests/device_get_setting_request.py +100 -100
  188. zaber_motion/dto/requests/device_get_storage_request.py +93 -93
  189. zaber_motion/dto/requests/device_get_warnings_request.py +84 -84
  190. zaber_motion/dto/requests/device_get_warnings_response.py +51 -51
  191. zaber_motion/dto/requests/device_home_request.py +84 -84
  192. zaber_motion/dto/requests/device_identify_request.py +77 -77
  193. zaber_motion/dto/requests/device_move_request.py +177 -177
  194. zaber_motion/dto/requests/device_move_sin_request.py +140 -140
  195. zaber_motion/dto/requests/device_multi_get_setting_request.py +118 -118
  196. zaber_motion/dto/requests/device_on_all_request.py +56 -56
  197. zaber_motion/dto/requests/device_on_all_response.py +57 -57
  198. zaber_motion/dto/requests/device_restore_request.py +84 -84
  199. zaber_motion/dto/requests/device_set_all_analog_outputs_request.py +82 -82
  200. zaber_motion/dto/requests/device_set_all_analog_outputs_schedule_request.py +121 -121
  201. zaber_motion/dto/requests/device_set_all_digital_outputs_request.py +83 -83
  202. zaber_motion/dto/requests/device_set_all_digital_outputs_schedule_request.py +122 -122
  203. zaber_motion/dto/requests/device_set_analog_output_request.py +90 -90
  204. zaber_motion/dto/requests/device_set_analog_output_schedule_request.py +124 -124
  205. zaber_motion/dto/requests/device_set_digital_output_request.py +91 -91
  206. zaber_motion/dto/requests/device_set_digital_output_schedule_request.py +125 -125
  207. zaber_motion/dto/requests/device_set_lowpass_filter_request.py +102 -102
  208. zaber_motion/dto/requests/device_set_setting_bool_request.py +93 -93
  209. zaber_motion/dto/requests/device_set_setting_int_request.py +102 -102
  210. zaber_motion/dto/requests/device_set_setting_request.py +111 -111
  211. zaber_motion/dto/requests/device_set_setting_str_request.py +97 -97
  212. zaber_motion/dto/requests/device_set_storage_bool_request.py +93 -93
  213. zaber_motion/dto/requests/device_set_storage_number_request.py +99 -99
  214. zaber_motion/dto/requests/device_set_storage_request.py +102 -102
  215. zaber_motion/dto/requests/device_set_unit_conversions_request.py +108 -108
  216. zaber_motion/dto/requests/device_stop_request.py +84 -84
  217. zaber_motion/dto/requests/device_storage_list_keys_request.py +88 -88
  218. zaber_motion/dto/requests/device_storage_request.py +88 -88
  219. zaber_motion/dto/requests/device_type.py +8 -8
  220. zaber_motion/dto/requests/device_wait_until_idle_request.py +84 -84
  221. zaber_motion/dto/requests/disconnected_event.py +101 -101
  222. zaber_motion/dto/requests/double_array_response.py +54 -54
  223. zaber_motion/dto/requests/double_response.py +48 -48
  224. zaber_motion/dto/requests/driver_enable_request.py +90 -90
  225. zaber_motion/dto/requests/empty_autofocus_request.py +107 -107
  226. zaber_motion/dto/requests/empty_request.py +38 -38
  227. zaber_motion/dto/requests/errors.py +68 -68
  228. zaber_motion/dto/requests/find_device_request.py +65 -65
  229. zaber_motion/dto/requests/find_device_response.py +51 -51
  230. zaber_motion/dto/requests/forget_devices_request.py +71 -71
  231. zaber_motion/dto/requests/gateway_event.py +45 -45
  232. zaber_motion/dto/requests/gateway_request.py +45 -45
  233. zaber_motion/dto/requests/gateway_response.py +69 -69
  234. zaber_motion/dto/requests/generic_binary_request.py +107 -107
  235. zaber_motion/dto/requests/generic_command_request.py +107 -107
  236. zaber_motion/dto/requests/generic_command_response_collection.py +56 -56
  237. zaber_motion/dto/requests/get_all_io_port_labels_response.py +56 -56
  238. zaber_motion/dto/requests/get_axis_setting_results.py +56 -56
  239. zaber_motion/dto/requests/get_io_port_label_request.py +91 -91
  240. zaber_motion/dto/requests/get_setting_results.py +56 -56
  241. zaber_motion/dto/requests/get_simple_tuning_param_definition_response.py +56 -56
  242. zaber_motion/dto/requests/int_64_response.py +51 -51
  243. zaber_motion/dto/requests/int_array_response.py +57 -57
  244. zaber_motion/dto/requests/int_request.py +51 -51
  245. zaber_motion/dto/requests/int_response.py +51 -51
  246. zaber_motion/dto/requests/interface_empty_request.py +51 -51
  247. zaber_motion/dto/requests/interface_type.py +11 -11
  248. zaber_motion/dto/requests/load_paramset.py +102 -102
  249. zaber_motion/dto/requests/lockstep_disable_request.py +84 -84
  250. zaber_motion/dto/requests/lockstep_empty_request.py +79 -79
  251. zaber_motion/dto/requests/lockstep_enable_request.py +99 -99
  252. zaber_motion/dto/requests/lockstep_get_axis_numbers_response.py +57 -57
  253. zaber_motion/dto/requests/lockstep_get_request.py +91 -91
  254. zaber_motion/dto/requests/lockstep_home_request.py +84 -84
  255. zaber_motion/dto/requests/lockstep_move_request.py +163 -163
  256. zaber_motion/dto/requests/lockstep_move_sin_request.py +140 -140
  257. zaber_motion/dto/requests/lockstep_set_request.py +116 -116
  258. zaber_motion/dto/requests/lockstep_stop_request.py +84 -84
  259. zaber_motion/dto/requests/lockstep_wait_until_idle_request.py +84 -84
  260. zaber_motion/dto/requests/microscope_config_response.py +50 -50
  261. zaber_motion/dto/requests/microscope_empty_request.py +65 -65
  262. zaber_motion/dto/requests/microscope_find_request.py +63 -63
  263. zaber_motion/dto/requests/microscope_init_request.py +70 -70
  264. zaber_motion/dto/requests/microscope_trigger_camera_request.py +107 -107
  265. zaber_motion/dto/requests/objective_changer_change_request.py +119 -119
  266. zaber_motion/dto/requests/objective_changer_create_response.py +79 -79
  267. zaber_motion/dto/requests/objective_changer_get_current_response.py +51 -51
  268. zaber_motion/dto/requests/objective_changer_request.py +93 -93
  269. zaber_motion/dto/requests/objective_changer_set_request.py +116 -116
  270. zaber_motion/dto/requests/open_binary_interface_request.py +100 -100
  271. zaber_motion/dto/requests/open_interface_request.py +159 -159
  272. zaber_motion/dto/requests/open_interface_response.py +51 -51
  273. zaber_motion/dto/requests/oscilloscope_add_io_channel_request.py +91 -91
  274. zaber_motion/dto/requests/oscilloscope_add_setting_channel_request.py +88 -88
  275. zaber_motion/dto/requests/oscilloscope_data_get_request.py +63 -63
  276. zaber_motion/dto/requests/oscilloscope_data_get_sample_time_request.py +77 -77
  277. zaber_motion/dto/requests/oscilloscope_data_get_samples_response.py +54 -54
  278. zaber_motion/dto/requests/oscilloscope_data_identifier.py +51 -51
  279. zaber_motion/dto/requests/oscilloscope_read_response.py +57 -57
  280. zaber_motion/dto/requests/oscilloscope_request.py +65 -65
  281. zaber_motion/dto/requests/oscilloscope_start_request.py +79 -79
  282. zaber_motion/dto/requests/prepare_command_request.py +108 -108
  283. zaber_motion/dto/requests/process_on.py +107 -107
  284. zaber_motion/dto/requests/pvt_buffer_get_sequence_data_request.py +79 -79
  285. zaber_motion/dto/requests/pvt_csv_request.py +59 -59
  286. zaber_motion/dto/requests/pvt_generate_positions_request.py +74 -74
  287. zaber_motion/dto/requests/pvt_generate_velocities_and_times_request.py +96 -96
  288. zaber_motion/dto/requests/pvt_generate_velocities_request.py +93 -93
  289. zaber_motion/dto/requests/pvt_load_csv_request.py +45 -45
  290. zaber_motion/dto/requests/pvt_point_request.py +145 -145
  291. zaber_motion/dto/requests/pvt_points_request.py +147 -147
  292. zaber_motion/dto/requests/pvt_save_csv_request.py +74 -74
  293. zaber_motion/dto/requests/pvt_submit_sequence_data_request.py +93 -93
  294. zaber_motion/dto/requests/renumber_request.py +79 -79
  295. zaber_motion/dto/requests/response_type.py +8 -8
  296. zaber_motion/dto/requests/servo_tuning_paramset_response.py +48 -48
  297. zaber_motion/dto/requests/servo_tuning_request.py +91 -91
  298. zaber_motion/dto/requests/set_device_db_layered_sources_request.py +56 -56
  299. zaber_motion/dto/requests/set_device_db_source_request.py +63 -63
  300. zaber_motion/dto/requests/set_interface_checksum_enabled_request.py +56 -56
  301. zaber_motion/dto/requests/set_interface_timeout_request.py +65 -65
  302. zaber_motion/dto/requests/set_internal_mode_request.py +43 -43
  303. zaber_motion/dto/requests/set_io_port_label_request.py +100 -100
  304. zaber_motion/dto/requests/set_log_output_request.py +57 -57
  305. zaber_motion/dto/requests/set_process_controller_source.py +93 -93
  306. zaber_motion/dto/requests/set_servo_tuning_pid_request.py +135 -135
  307. zaber_motion/dto/requests/set_servo_tuning_request.py +116 -116
  308. zaber_motion/dto/requests/set_simple_tuning.py +174 -174
  309. zaber_motion/dto/requests/set_state_request.py +93 -93
  310. zaber_motion/dto/requests/stream_arc_request.py +199 -199
  311. zaber_motion/dto/requests/stream_buffer_erase_request.py +84 -84
  312. zaber_motion/dto/requests/stream_buffer_get_content_request.py +84 -84
  313. zaber_motion/dto/requests/stream_buffer_get_content_response.py +51 -51
  314. zaber_motion/dto/requests/stream_buffer_list.py +70 -70
  315. zaber_motion/dto/requests/stream_call_request.py +112 -112
  316. zaber_motion/dto/requests/stream_cancel_all_outputs_schedule_request.py +99 -99
  317. zaber_motion/dto/requests/stream_cancel_output_schedule_request.py +103 -103
  318. zaber_motion/dto/requests/stream_circle_request.py +155 -155
  319. zaber_motion/dto/requests/stream_empty_request.py +84 -84
  320. zaber_motion/dto/requests/stream_generic_command_batch_request.py +99 -99
  321. zaber_motion/dto/requests/stream_generic_command_request.py +93 -93
  322. zaber_motion/dto/requests/stream_get_axes_response.py +75 -75
  323. zaber_motion/dto/requests/stream_get_max_centripetal_acceleration_request.py +96 -96
  324. zaber_motion/dto/requests/stream_get_max_speed_request.py +96 -96
  325. zaber_motion/dto/requests/stream_get_max_tangential_acceleration_request.py +96 -96
  326. zaber_motion/dto/requests/stream_line_request.py +135 -135
  327. zaber_motion/dto/requests/stream_mode_response.py +60 -60
  328. zaber_motion/dto/requests/stream_segment_type.py +8 -8
  329. zaber_motion/dto/requests/stream_set_all_analog_outputs_request.py +101 -101
  330. zaber_motion/dto/requests/stream_set_all_analog_outputs_schedule_request.py +140 -140
  331. zaber_motion/dto/requests/stream_set_all_digital_outputs_request.py +102 -102
  332. zaber_motion/dto/requests/stream_set_all_digital_outputs_schedule_request.py +141 -141
  333. zaber_motion/dto/requests/stream_set_analog_output_request.py +109 -109
  334. zaber_motion/dto/requests/stream_set_analog_output_schedule_request.py +143 -143
  335. zaber_motion/dto/requests/stream_set_digital_output_request.py +110 -110
  336. zaber_motion/dto/requests/stream_set_digital_output_schedule_request.py +144 -144
  337. zaber_motion/dto/requests/stream_set_hold_request.py +89 -89
  338. zaber_motion/dto/requests/stream_set_max_centripetal_acceleration_request.py +107 -107
  339. zaber_motion/dto/requests/stream_set_max_speed_request.py +107 -107
  340. zaber_motion/dto/requests/stream_set_max_tangential_acceleration_request.py +107 -107
  341. zaber_motion/dto/requests/stream_setup_live_composite_request.py +123 -123
  342. zaber_motion/dto/requests/stream_setup_live_request.py +104 -104
  343. zaber_motion/dto/requests/stream_setup_store_arbitrary_axes_request.py +126 -126
  344. zaber_motion/dto/requests/stream_setup_store_composite_request.py +151 -151
  345. zaber_motion/dto/requests/stream_setup_store_request.py +132 -132
  346. zaber_motion/dto/requests/stream_wait_analog_input_request.py +118 -118
  347. zaber_motion/dto/requests/stream_wait_digital_input_request.py +103 -103
  348. zaber_motion/dto/requests/stream_wait_request.py +107 -107
  349. zaber_motion/dto/requests/stream_wait_until_idle_request.py +89 -89
  350. zaber_motion/dto/requests/string_array_response.py +51 -51
  351. zaber_motion/dto/requests/string_response.py +45 -45
  352. zaber_motion/dto/requests/test_event.py +45 -45
  353. zaber_motion/dto/requests/test_request.py +55 -55
  354. zaber_motion/dto/requests/test_request_complex.py +57 -0
  355. zaber_motion/dto/requests/test_response.py +45 -45
  356. zaber_motion/dto/requests/test_response_long.py +51 -51
  357. zaber_motion/dto/requests/toggle_device_db_store_request.py +50 -50
  358. zaber_motion/dto/requests/tools_list_serial_ports_response.py +51 -51
  359. zaber_motion/dto/requests/translator_create_from_device_request.py +97 -97
  360. zaber_motion/dto/requests/translator_create_live_request.py +91 -91
  361. zaber_motion/dto/requests/translator_create_request.py +62 -62
  362. zaber_motion/dto/requests/translator_create_response.py +51 -51
  363. zaber_motion/dto/requests/translator_empty_request.py +51 -51
  364. zaber_motion/dto/requests/translator_flush_live_request.py +56 -56
  365. zaber_motion/dto/requests/translator_flush_response.py +51 -51
  366. zaber_motion/dto/requests/translator_get_axis_offset_request.py +81 -81
  367. zaber_motion/dto/requests/translator_get_axis_position_request.py +72 -72
  368. zaber_motion/dto/requests/translator_set_axis_position_request.py +83 -83
  369. zaber_motion/dto/requests/translator_set_feed_rate_override_request.py +62 -62
  370. zaber_motion/dto/requests/translator_set_traverse_rate_request.py +74 -74
  371. zaber_motion/dto/requests/translator_translate_request.py +60 -60
  372. zaber_motion/dto/requests/trigger_clear_action_request.py +91 -91
  373. zaber_motion/dto/requests/trigger_empty_request.py +79 -79
  374. zaber_motion/dto/requests/trigger_enable_request.py +93 -93
  375. zaber_motion/dto/requests/trigger_enabled_states.py +56 -56
  376. zaber_motion/dto/requests/trigger_fire_at_interval_request.py +102 -102
  377. zaber_motion/dto/requests/trigger_fire_when_distance_travelled_request.py +116 -116
  378. zaber_motion/dto/requests/trigger_fire_when_io_request.py +128 -128
  379. zaber_motion/dto/requests/trigger_fire_when_request.py +88 -88
  380. zaber_motion/dto/requests/trigger_fire_when_setting_request.py +137 -137
  381. zaber_motion/dto/requests/trigger_on_fire_request.py +114 -114
  382. zaber_motion/dto/requests/trigger_on_fire_set_request.py +149 -149
  383. zaber_motion/dto/requests/trigger_on_fire_set_to_setting_request.py +149 -149
  384. zaber_motion/dto/requests/trigger_set_label_request.py +88 -88
  385. zaber_motion/dto/requests/trigger_states.py +56 -56
  386. zaber_motion/dto/requests/unit_convert_unit_request.py +71 -71
  387. zaber_motion/dto/requests/unit_get_enum_request.py +45 -45
  388. zaber_motion/dto/requests/unit_get_enum_response.py +48 -48
  389. zaber_motion/dto/requests/unit_get_symbol_request.py +48 -48
  390. zaber_motion/dto/requests/unit_get_symbol_response.py +45 -45
  391. zaber_motion/dto/requests/unknown_binary_response_event_wrapper.py +82 -82
  392. zaber_motion/dto/requests/unknown_response_event_wrapper.py +82 -82
  393. zaber_motion/dto/requests/wait_to_clear_warnings_request.py +105 -105
  394. zaber_motion/dto/requests/wait_to_respond_request.py +76 -76
  395. zaber_motion/dto/requests/wdi_generic_float_request.py +119 -0
  396. zaber_motion/dto/requests/wdi_generic_request.py +136 -136
  397. zaber_motion/dto/requests/wdi_get_status_response.py +50 -50
  398. zaber_motion/dto/rotation_direction.py +13 -13
  399. zaber_motion/dto_object.py +18 -18
  400. zaber_motion/events.py +112 -112
  401. zaber_motion/exceptions/__init__.py +87 -87
  402. zaber_motion/exceptions/bad_command_exception.py +10 -10
  403. zaber_motion/exceptions/bad_data_exception.py +10 -10
  404. zaber_motion/exceptions/binary_command_failed_exception.py +27 -27
  405. zaber_motion/exceptions/command_failed_exception.py +27 -27
  406. zaber_motion/exceptions/command_preempted_exception.py +10 -10
  407. zaber_motion/exceptions/command_too_long_exception.py +27 -27
  408. zaber_motion/exceptions/connection_closed_exception.py +10 -10
  409. zaber_motion/exceptions/connection_failed_exception.py +10 -10
  410. zaber_motion/exceptions/conversion_failed_exception.py +10 -10
  411. zaber_motion/exceptions/device_address_conflict_exception.py +27 -27
  412. zaber_motion/exceptions/device_busy_exception.py +10 -10
  413. zaber_motion/exceptions/device_db_failed_exception.py +27 -27
  414. zaber_motion/exceptions/device_detection_failed_exception.py +10 -10
  415. zaber_motion/exceptions/device_failed_exception.py +11 -11
  416. zaber_motion/exceptions/device_not_identified_exception.py +10 -10
  417. zaber_motion/exceptions/driver_disabled_exception.py +10 -10
  418. zaber_motion/exceptions/g_code_execution_exception.py +27 -27
  419. zaber_motion/exceptions/g_code_syntax_exception.py +27 -27
  420. zaber_motion/exceptions/incompatible_shared_library_exception.py +11 -11
  421. zaber_motion/exceptions/internal_error_exception.py +10 -10
  422. zaber_motion/exceptions/invalid_argument_exception.py +10 -10
  423. zaber_motion/exceptions/invalid_csv_data_exception.py +10 -10
  424. zaber_motion/exceptions/invalid_data_exception.py +10 -10
  425. zaber_motion/exceptions/invalid_operation_exception.py +10 -10
  426. zaber_motion/exceptions/invalid_packet_exception.py +27 -27
  427. zaber_motion/exceptions/invalid_park_state_exception.py +10 -10
  428. zaber_motion/exceptions/invalid_request_data_exception.py +11 -11
  429. zaber_motion/exceptions/invalid_response_exception.py +27 -27
  430. zaber_motion/exceptions/io_channel_out_of_range_exception.py +10 -10
  431. zaber_motion/exceptions/io_failed_exception.py +10 -10
  432. zaber_motion/exceptions/lockstep_enabled_exception.py +10 -10
  433. zaber_motion/exceptions/lockstep_not_enabled_exception.py +10 -10
  434. zaber_motion/exceptions/motion_lib_exception.py +18 -18
  435. zaber_motion/exceptions/movement_failed_exception.py +27 -27
  436. zaber_motion/exceptions/movement_interrupted_exception.py +27 -27
  437. zaber_motion/exceptions/no_device_found_exception.py +10 -10
  438. zaber_motion/exceptions/no_value_for_key_exception.py +10 -10
  439. zaber_motion/exceptions/not_supported_exception.py +10 -10
  440. zaber_motion/exceptions/operation_failed_exception.py +27 -27
  441. zaber_motion/exceptions/os_failed_exception.py +10 -10
  442. zaber_motion/exceptions/out_of_request_ids_exception.py +10 -10
  443. zaber_motion/exceptions/pvt_discontinuity_exception.py +10 -10
  444. zaber_motion/exceptions/pvt_execution_exception.py +27 -27
  445. zaber_motion/exceptions/pvt_mode_exception.py +10 -10
  446. zaber_motion/exceptions/pvt_movement_failed_exception.py +27 -27
  447. zaber_motion/exceptions/pvt_movement_interrupted_exception.py +27 -27
  448. zaber_motion/exceptions/pvt_sequence_generation_failed_exception.py +10 -10
  449. zaber_motion/exceptions/pvt_setup_failed_exception.py +10 -10
  450. zaber_motion/exceptions/remote_mode_exception.py +11 -11
  451. zaber_motion/exceptions/request_timeout_exception.py +10 -10
  452. zaber_motion/exceptions/serial_port_busy_exception.py +10 -10
  453. zaber_motion/exceptions/set_device_state_failed_exception.py +27 -27
  454. zaber_motion/exceptions/set_peripheral_state_failed_exception.py +27 -27
  455. zaber_motion/exceptions/setting_not_found_exception.py +10 -10
  456. zaber_motion/exceptions/stream_discontinuity_exception.py +10 -10
  457. zaber_motion/exceptions/stream_execution_exception.py +27 -27
  458. zaber_motion/exceptions/stream_mode_exception.py +10 -10
  459. zaber_motion/exceptions/stream_movement_failed_exception.py +27 -27
  460. zaber_motion/exceptions/stream_movement_interrupted_exception.py +27 -27
  461. zaber_motion/exceptions/stream_setup_failed_exception.py +10 -10
  462. zaber_motion/exceptions/timeout_exception.py +10 -10
  463. zaber_motion/exceptions/transport_already_used_exception.py +10 -10
  464. zaber_motion/exceptions/unknown_request_exception.py +10 -10
  465. zaber_motion/gcode/__init__.py +11 -11
  466. zaber_motion/gcode/offline_translator.py +401 -401
  467. zaber_motion/gcode/translator.py +424 -424
  468. zaber_motion/library.py +179 -179
  469. zaber_motion/microscopy/__init__.py +14 -14
  470. zaber_motion/microscopy/autofocus.py +645 -645
  471. zaber_motion/microscopy/camera_trigger.py +108 -108
  472. zaber_motion/microscopy/filter_changer.py +167 -167
  473. zaber_motion/microscopy/illuminator.py +139 -139
  474. zaber_motion/microscopy/illuminator_channel.py +616 -616
  475. zaber_motion/microscopy/microscope.py +315 -315
  476. zaber_motion/microscopy/objective_changer.py +403 -403
  477. zaber_motion/microscopy/wdi_autofocus_provider.py +536 -396
  478. zaber_motion/product/__init__.py +7 -7
  479. zaber_motion/product/process.py +818 -818
  480. zaber_motion/product/process_controller.py +134 -134
  481. zaber_motion/serialization.py +32 -32
  482. zaber_motion/tools.py +78 -78
  483. zaber_motion/unit_table.py +86 -86
  484. zaber_motion/units.py +206 -206
  485. zaber_motion/version.py +1 -1
  486. {zaber_motion-7.12.0.dist-info → zaber_motion-7.14.0.dist-info}/LICENSE.txt +2119 -2119
  487. {zaber_motion-7.12.0.dist-info → zaber_motion-7.14.0.dist-info}/METADATA +1 -1
  488. zaber_motion-7.14.0.dist-info/RECORD +496 -0
  489. zaber_motion_bindings/zaber-motion-core-windows-386.dll +0 -0
  490. zaber_motion-7.12.0.dist-info/RECORD +0 -494
  491. {zaber_motion-7.12.0.dist-info → zaber_motion-7.14.0.dist-info}/WHEEL +0 -0
  492. {zaber_motion-7.12.0.dist-info → zaber_motion-7.14.0.dist-info}/top_level.txt +0 -0
@@ -1,91 +1,91 @@
1
- # This file is generated. Do not modify by hand.
2
- # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
- from dataclasses import dataclass
4
- from typing import Any, Dict
5
- import decimal
6
- import zaber_bson
7
-
8
-
9
- @dataclass
10
- class FirmwareVersion:
11
- """
12
- Class representing version of firmware in the controller.
13
- """
14
-
15
- major: int
16
- """
17
- Major version number.
18
- """
19
-
20
- minor: int
21
- """
22
- Minor version number.
23
- """
24
-
25
- build: int
26
- """
27
- Build version number.
28
- """
29
-
30
- @staticmethod
31
- def zero_values() -> 'FirmwareVersion':
32
- return FirmwareVersion(
33
- major=0,
34
- minor=0,
35
- build=0,
36
- )
37
-
38
- @staticmethod
39
- def from_binary(data_bytes: bytes) -> 'FirmwareVersion':
40
- """" Deserialize a binary representation of this class. """
41
- data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
42
- return FirmwareVersion.from_dict(data)
43
-
44
- def to_binary(self) -> bytes:
45
- """" Serialize this class to a binary representation. """
46
- self.validate()
47
- return zaber_bson.dumps(self.to_dict()) # type: ignore
48
-
49
- def to_dict(self) -> Dict[str, Any]:
50
- return {
51
- 'major': int(self.major),
52
- 'minor': int(self.minor),
53
- 'build': int(self.build),
54
- }
55
-
56
- @staticmethod
57
- def from_dict(data: Dict[str, Any]) -> 'FirmwareVersion':
58
- return FirmwareVersion(
59
- major=data.get('major'), # type: ignore
60
- minor=data.get('minor'), # type: ignore
61
- build=data.get('build'), # type: ignore
62
- )
63
-
64
- def validate(self) -> None:
65
- """" Validates the properties of the instance. """
66
- if self.major is None:
67
- raise ValueError(f'Property "Major" of "FirmwareVersion" is None.')
68
-
69
- if not isinstance(self.major, (int, float, decimal.Decimal)):
70
- raise ValueError(f'Property "Major" of "FirmwareVersion" is not a number.')
71
-
72
- if int(self.major) != self.major:
73
- raise ValueError(f'Property "Major" of "FirmwareVersion" is not integer value.')
74
-
75
- if self.minor is None:
76
- raise ValueError(f'Property "Minor" of "FirmwareVersion" is None.')
77
-
78
- if not isinstance(self.minor, (int, float, decimal.Decimal)):
79
- raise ValueError(f'Property "Minor" of "FirmwareVersion" is not a number.')
80
-
81
- if int(self.minor) != self.minor:
82
- raise ValueError(f'Property "Minor" of "FirmwareVersion" is not integer value.')
83
-
84
- if self.build is None:
85
- raise ValueError(f'Property "Build" of "FirmwareVersion" is None.')
86
-
87
- if not isinstance(self.build, (int, float, decimal.Decimal)):
88
- raise ValueError(f'Property "Build" of "FirmwareVersion" is not a number.')
89
-
90
- if int(self.build) != self.build:
91
- raise ValueError(f'Property "Build" of "FirmwareVersion" is not integer value.')
1
+ # This file is generated. Do not modify by hand.
2
+ # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict
5
+ import decimal
6
+ import zaber_bson
7
+
8
+
9
+ @dataclass
10
+ class FirmwareVersion:
11
+ """
12
+ Class representing version of firmware in the controller.
13
+ """
14
+
15
+ major: int
16
+ """
17
+ Major version number.
18
+ """
19
+
20
+ minor: int
21
+ """
22
+ Minor version number.
23
+ """
24
+
25
+ build: int
26
+ """
27
+ Build version number.
28
+ """
29
+
30
+ @staticmethod
31
+ def zero_values() -> 'FirmwareVersion':
32
+ return FirmwareVersion(
33
+ major=0,
34
+ minor=0,
35
+ build=0,
36
+ )
37
+
38
+ @staticmethod
39
+ def from_binary(data_bytes: bytes) -> 'FirmwareVersion':
40
+ """" Deserialize a binary representation of this class. """
41
+ data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
42
+ return FirmwareVersion.from_dict(data)
43
+
44
+ def to_binary(self) -> bytes:
45
+ """" Serialize this class to a binary representation. """
46
+ self.validate()
47
+ return zaber_bson.dumps(self.to_dict()) # type: ignore
48
+
49
+ def to_dict(self) -> Dict[str, Any]:
50
+ return {
51
+ 'major': int(self.major),
52
+ 'minor': int(self.minor),
53
+ 'build': int(self.build),
54
+ }
55
+
56
+ @staticmethod
57
+ def from_dict(data: Dict[str, Any]) -> 'FirmwareVersion':
58
+ return FirmwareVersion(
59
+ major=data.get('major'), # type: ignore
60
+ minor=data.get('minor'), # type: ignore
61
+ build=data.get('build'), # type: ignore
62
+ )
63
+
64
+ def validate(self) -> None:
65
+ """" Validates the properties of the instance. """
66
+ if self.major is None:
67
+ raise ValueError(f'Property "Major" of "FirmwareVersion" is None.')
68
+
69
+ if not isinstance(self.major, (int, float, decimal.Decimal)):
70
+ raise ValueError(f'Property "Major" of "FirmwareVersion" is not a number.')
71
+
72
+ if int(self.major) != self.major:
73
+ raise ValueError(f'Property "Major" of "FirmwareVersion" is not integer value.')
74
+
75
+ if self.minor is None:
76
+ raise ValueError(f'Property "Minor" of "FirmwareVersion" is None.')
77
+
78
+ if not isinstance(self.minor, (int, float, decimal.Decimal)):
79
+ raise ValueError(f'Property "Minor" of "FirmwareVersion" is not a number.')
80
+
81
+ if int(self.minor) != self.minor:
82
+ raise ValueError(f'Property "Minor" of "FirmwareVersion" is not integer value.')
83
+
84
+ if self.build is None:
85
+ raise ValueError(f'Property "Build" of "FirmwareVersion" is None.')
86
+
87
+ if not isinstance(self.build, (int, float, decimal.Decimal)):
88
+ raise ValueError(f'Property "Build" of "FirmwareVersion" is not a number.')
89
+
90
+ if int(self.build) != self.build:
91
+ raise ValueError(f'Property "Build" of "FirmwareVersion" is not integer value.')
@@ -1,9 +1,9 @@
1
- # This file is generated. Do not modify by hand.
2
- # pylint: disable=line-too-long
3
- from .axis_definition import AxisDefinition as AxisDefinition
4
- from .axis_mapping import AxisMapping as AxisMapping
5
- from .axis_transformation import AxisTransformation as AxisTransformation
6
- from .device_definition import DeviceDefinition as DeviceDefinition
7
- from .translate_message import TranslateMessage as TranslateMessage
8
- from .translate_result import TranslateResult as TranslateResult
9
- from .translator_config import TranslatorConfig as TranslatorConfig
1
+ # This file is generated. Do not modify by hand.
2
+ # pylint: disable=line-too-long
3
+ from .axis_definition import AxisDefinition as AxisDefinition
4
+ from .axis_mapping import AxisMapping as AxisMapping
5
+ from .axis_transformation import AxisTransformation as AxisTransformation
6
+ from .device_definition import DeviceDefinition as DeviceDefinition
7
+ from .translate_message import TranslateMessage as TranslateMessage
8
+ from .translate_result import TranslateResult as TranslateResult
9
+ from .translator_config import TranslatorConfig as TranslatorConfig
@@ -1,74 +1,74 @@
1
- # This file is generated. Do not modify by hand.
2
- # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
- from dataclasses import dataclass
4
- from typing import Any, Dict, Optional
5
- import decimal
6
- import zaber_bson
7
-
8
-
9
- @dataclass
10
- class AxisDefinition:
11
- """
12
- Defines an axis of the translator.
13
- """
14
-
15
- peripheral_id: int
16
- """
17
- ID of the peripheral.
18
- """
19
-
20
- microstep_resolution: Optional[int] = None
21
- """
22
- Microstep resolution of the axis.
23
- Can be obtained by reading the resolution setting.
24
- Leave empty if the axis does not have the setting.
25
- """
26
-
27
- @staticmethod
28
- def zero_values() -> 'AxisDefinition':
29
- return AxisDefinition(
30
- peripheral_id=0,
31
- microstep_resolution=None,
32
- )
33
-
34
- @staticmethod
35
- def from_binary(data_bytes: bytes) -> 'AxisDefinition':
36
- """" Deserialize a binary representation of this class. """
37
- data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
38
- return AxisDefinition.from_dict(data)
39
-
40
- def to_binary(self) -> bytes:
41
- """" Serialize this class to a binary representation. """
42
- self.validate()
43
- return zaber_bson.dumps(self.to_dict()) # type: ignore
44
-
45
- def to_dict(self) -> Dict[str, Any]:
46
- return {
47
- 'peripheralId': int(self.peripheral_id),
48
- 'microstepResolution': int(self.microstep_resolution) if self.microstep_resolution is not None else None,
49
- }
50
-
51
- @staticmethod
52
- def from_dict(data: Dict[str, Any]) -> 'AxisDefinition':
53
- return AxisDefinition(
54
- peripheral_id=data.get('peripheralId'), # type: ignore
55
- microstep_resolution=data.get('microstepResolution'), # type: ignore
56
- )
57
-
58
- def validate(self) -> None:
59
- """" Validates the properties of the instance. """
60
- if self.peripheral_id is None:
61
- raise ValueError(f'Property "PeripheralId" of "AxisDefinition" is None.')
62
-
63
- if not isinstance(self.peripheral_id, (int, float, decimal.Decimal)):
64
- raise ValueError(f'Property "PeripheralId" of "AxisDefinition" is not a number.')
65
-
66
- if int(self.peripheral_id) != self.peripheral_id:
67
- raise ValueError(f'Property "PeripheralId" of "AxisDefinition" is not integer value.')
68
-
69
- if self.microstep_resolution is not None:
70
- if not isinstance(self.microstep_resolution, (int, float, decimal.Decimal)):
71
- raise ValueError(f'Property "MicrostepResolution" of "AxisDefinition" is not a number.')
72
-
73
- if int(self.microstep_resolution) != self.microstep_resolution:
74
- raise ValueError(f'Property "MicrostepResolution" of "AxisDefinition" is not integer value.')
1
+ # This file is generated. Do not modify by hand.
2
+ # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict, Optional
5
+ import decimal
6
+ import zaber_bson
7
+
8
+
9
+ @dataclass
10
+ class AxisDefinition:
11
+ """
12
+ Defines an axis of the translator.
13
+ """
14
+
15
+ peripheral_id: int
16
+ """
17
+ ID of the peripheral.
18
+ """
19
+
20
+ microstep_resolution: Optional[int] = None
21
+ """
22
+ Microstep resolution of the axis.
23
+ Can be obtained by reading the resolution setting.
24
+ Leave empty if the axis does not have the setting.
25
+ """
26
+
27
+ @staticmethod
28
+ def zero_values() -> 'AxisDefinition':
29
+ return AxisDefinition(
30
+ peripheral_id=0,
31
+ microstep_resolution=None,
32
+ )
33
+
34
+ @staticmethod
35
+ def from_binary(data_bytes: bytes) -> 'AxisDefinition':
36
+ """" Deserialize a binary representation of this class. """
37
+ data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
38
+ return AxisDefinition.from_dict(data)
39
+
40
+ def to_binary(self) -> bytes:
41
+ """" Serialize this class to a binary representation. """
42
+ self.validate()
43
+ return zaber_bson.dumps(self.to_dict()) # type: ignore
44
+
45
+ def to_dict(self) -> Dict[str, Any]:
46
+ return {
47
+ 'peripheralId': int(self.peripheral_id),
48
+ 'microstepResolution': int(self.microstep_resolution) if self.microstep_resolution is not None else None,
49
+ }
50
+
51
+ @staticmethod
52
+ def from_dict(data: Dict[str, Any]) -> 'AxisDefinition':
53
+ return AxisDefinition(
54
+ peripheral_id=data.get('peripheralId'), # type: ignore
55
+ microstep_resolution=data.get('microstepResolution'), # type: ignore
56
+ )
57
+
58
+ def validate(self) -> None:
59
+ """" Validates the properties of the instance. """
60
+ if self.peripheral_id is None:
61
+ raise ValueError(f'Property "PeripheralId" of "AxisDefinition" is None.')
62
+
63
+ if not isinstance(self.peripheral_id, (int, float, decimal.Decimal)):
64
+ raise ValueError(f'Property "PeripheralId" of "AxisDefinition" is not a number.')
65
+
66
+ if int(self.peripheral_id) != self.peripheral_id:
67
+ raise ValueError(f'Property "PeripheralId" of "AxisDefinition" is not integer value.')
68
+
69
+ if self.microstep_resolution is not None:
70
+ if not isinstance(self.microstep_resolution, (int, float, decimal.Decimal)):
71
+ raise ValueError(f'Property "MicrostepResolution" of "AxisDefinition" is not a number.')
72
+
73
+ if int(self.microstep_resolution) != self.microstep_resolution:
74
+ raise ValueError(f'Property "MicrostepResolution" of "AxisDefinition" is not integer value.')
@@ -1,69 +1,69 @@
1
- # This file is generated. Do not modify by hand.
2
- # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
- from dataclasses import dataclass
4
- from typing import Any, Dict
5
- import decimal
6
- import zaber_bson
7
-
8
-
9
- @dataclass
10
- class AxisMapping:
11
- """
12
- Maps a translator axis to a Zaber stream axis.
13
- """
14
-
15
- axis_letter: str
16
- """
17
- Letter of the translator axis (X,Y,Z,A,B,C,E).
18
- """
19
-
20
- axis_index: int
21
- """
22
- Index of the stream axis.
23
- """
24
-
25
- @staticmethod
26
- def zero_values() -> 'AxisMapping':
27
- return AxisMapping(
28
- axis_letter="",
29
- axis_index=0,
30
- )
31
-
32
- @staticmethod
33
- def from_binary(data_bytes: bytes) -> 'AxisMapping':
34
- """" Deserialize a binary representation of this class. """
35
- data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
36
- return AxisMapping.from_dict(data)
37
-
38
- def to_binary(self) -> bytes:
39
- """" Serialize this class to a binary representation. """
40
- self.validate()
41
- return zaber_bson.dumps(self.to_dict()) # type: ignore
42
-
43
- def to_dict(self) -> Dict[str, Any]:
44
- return {
45
- 'axisLetter': str(self.axis_letter or ''),
46
- 'axisIndex': int(self.axis_index),
47
- }
48
-
49
- @staticmethod
50
- def from_dict(data: Dict[str, Any]) -> 'AxisMapping':
51
- return AxisMapping(
52
- axis_letter=data.get('axisLetter'), # type: ignore
53
- axis_index=data.get('axisIndex'), # type: ignore
54
- )
55
-
56
- def validate(self) -> None:
57
- """" Validates the properties of the instance. """
58
- if self.axis_letter is not None:
59
- if not isinstance(self.axis_letter, str):
60
- raise ValueError(f'Property "AxisLetter" of "AxisMapping" is not a string.')
61
-
62
- if self.axis_index is None:
63
- raise ValueError(f'Property "AxisIndex" of "AxisMapping" is None.')
64
-
65
- if not isinstance(self.axis_index, (int, float, decimal.Decimal)):
66
- raise ValueError(f'Property "AxisIndex" of "AxisMapping" is not a number.')
67
-
68
- if int(self.axis_index) != self.axis_index:
69
- raise ValueError(f'Property "AxisIndex" of "AxisMapping" is not integer value.')
1
+ # This file is generated. Do not modify by hand.
2
+ # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict
5
+ import decimal
6
+ import zaber_bson
7
+
8
+
9
+ @dataclass
10
+ class AxisMapping:
11
+ """
12
+ Maps a translator axis to a Zaber stream axis.
13
+ """
14
+
15
+ axis_letter: str
16
+ """
17
+ Letter of the translator axis (X,Y,Z,A,B,C,E).
18
+ """
19
+
20
+ axis_index: int
21
+ """
22
+ Index of the stream axis.
23
+ """
24
+
25
+ @staticmethod
26
+ def zero_values() -> 'AxisMapping':
27
+ return AxisMapping(
28
+ axis_letter="",
29
+ axis_index=0,
30
+ )
31
+
32
+ @staticmethod
33
+ def from_binary(data_bytes: bytes) -> 'AxisMapping':
34
+ """" Deserialize a binary representation of this class. """
35
+ data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
36
+ return AxisMapping.from_dict(data)
37
+
38
+ def to_binary(self) -> bytes:
39
+ """" Serialize this class to a binary representation. """
40
+ self.validate()
41
+ return zaber_bson.dumps(self.to_dict()) # type: ignore
42
+
43
+ def to_dict(self) -> Dict[str, Any]:
44
+ return {
45
+ 'axisLetter': str(self.axis_letter or ''),
46
+ 'axisIndex': int(self.axis_index),
47
+ }
48
+
49
+ @staticmethod
50
+ def from_dict(data: Dict[str, Any]) -> 'AxisMapping':
51
+ return AxisMapping(
52
+ axis_letter=data.get('axisLetter'), # type: ignore
53
+ axis_index=data.get('axisIndex'), # type: ignore
54
+ )
55
+
56
+ def validate(self) -> None:
57
+ """" Validates the properties of the instance. """
58
+ if self.axis_letter is not None:
59
+ if not isinstance(self.axis_letter, str):
60
+ raise ValueError(f'Property "AxisLetter" of "AxisMapping" is not a string.')
61
+
62
+ if self.axis_index is None:
63
+ raise ValueError(f'Property "AxisIndex" of "AxisMapping" is None.')
64
+
65
+ if not isinstance(self.axis_index, (int, float, decimal.Decimal)):
66
+ raise ValueError(f'Property "AxisIndex" of "AxisMapping" is not a number.')
67
+
68
+ if int(self.axis_index) != self.axis_index:
69
+ raise ValueError(f'Property "AxisIndex" of "AxisMapping" is not integer value.')
@@ -1,79 +1,79 @@
1
- # This file is generated. Do not modify by hand.
2
- # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
- from dataclasses import dataclass
4
- from typing import Any, Dict, Optional
5
- import decimal
6
- import zaber_bson
7
- from ..measurement import Measurement
8
-
9
-
10
- @dataclass
11
- class AxisTransformation:
12
- """
13
- Represents a transformation of a translator axis.
14
- """
15
-
16
- axis_letter: str
17
- """
18
- Letter of the translator axis (X,Y,Z,A,B,C,E).
19
- """
20
-
21
- scaling: Optional[float] = None
22
- """
23
- Scaling factor.
24
- """
25
-
26
- translation: Optional[Measurement] = None
27
- """
28
- Translation distance.
29
- """
30
-
31
- @staticmethod
32
- def zero_values() -> 'AxisTransformation':
33
- return AxisTransformation(
34
- axis_letter="",
35
- scaling=None,
36
- translation=None,
37
- )
38
-
39
- @staticmethod
40
- def from_binary(data_bytes: bytes) -> 'AxisTransformation':
41
- """" Deserialize a binary representation of this class. """
42
- data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
43
- return AxisTransformation.from_dict(data)
44
-
45
- def to_binary(self) -> bytes:
46
- """" Serialize this class to a binary representation. """
47
- self.validate()
48
- return zaber_bson.dumps(self.to_dict()) # type: ignore
49
-
50
- def to_dict(self) -> Dict[str, Any]:
51
- return {
52
- 'axisLetter': str(self.axis_letter or ''),
53
- 'scaling': float(self.scaling) if self.scaling is not None else None,
54
- 'translation': self.translation.to_dict() if self.translation is not None else None,
55
- }
56
-
57
- @staticmethod
58
- def from_dict(data: Dict[str, Any]) -> 'AxisTransformation':
59
- return AxisTransformation(
60
- axis_letter=data.get('axisLetter'), # type: ignore
61
- scaling=data.get('scaling'), # type: ignore
62
- translation=Measurement.from_dict(data.get('translation')) if data.get('translation') is not None else None, # type: ignore
63
- )
64
-
65
- def validate(self) -> None:
66
- """" Validates the properties of the instance. """
67
- if self.axis_letter is not None:
68
- if not isinstance(self.axis_letter, str):
69
- raise ValueError(f'Property "AxisLetter" of "AxisTransformation" is not a string.')
70
-
71
- if self.scaling is not None:
72
- if not isinstance(self.scaling, (int, float, decimal.Decimal)):
73
- raise ValueError(f'Property "Scaling" of "AxisTransformation" is not a number.')
74
-
75
- if self.translation is not None:
76
- if not isinstance(self.translation, Measurement):
77
- raise ValueError(f'Property "Translation" of "AxisTransformation" is not an instance of "Measurement".')
78
-
79
- self.translation.validate()
1
+ # This file is generated. Do not modify by hand.
2
+ # pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
3
+ from dataclasses import dataclass
4
+ from typing import Any, Dict, Optional
5
+ import decimal
6
+ import zaber_bson
7
+ from ..measurement import Measurement
8
+
9
+
10
+ @dataclass
11
+ class AxisTransformation:
12
+ """
13
+ Represents a transformation of a translator axis.
14
+ """
15
+
16
+ axis_letter: str
17
+ """
18
+ Letter of the translator axis (X,Y,Z,A,B,C,E).
19
+ """
20
+
21
+ scaling: Optional[float] = None
22
+ """
23
+ Scaling factor.
24
+ """
25
+
26
+ translation: Optional[Measurement] = None
27
+ """
28
+ Translation distance.
29
+ """
30
+
31
+ @staticmethod
32
+ def zero_values() -> 'AxisTransformation':
33
+ return AxisTransformation(
34
+ axis_letter="",
35
+ scaling=None,
36
+ translation=None,
37
+ )
38
+
39
+ @staticmethod
40
+ def from_binary(data_bytes: bytes) -> 'AxisTransformation':
41
+ """" Deserialize a binary representation of this class. """
42
+ data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
43
+ return AxisTransformation.from_dict(data)
44
+
45
+ def to_binary(self) -> bytes:
46
+ """" Serialize this class to a binary representation. """
47
+ self.validate()
48
+ return zaber_bson.dumps(self.to_dict()) # type: ignore
49
+
50
+ def to_dict(self) -> Dict[str, Any]:
51
+ return {
52
+ 'axisLetter': str(self.axis_letter or ''),
53
+ 'scaling': float(self.scaling) if self.scaling is not None else None,
54
+ 'translation': self.translation.to_dict() if self.translation is not None else None,
55
+ }
56
+
57
+ @staticmethod
58
+ def from_dict(data: Dict[str, Any]) -> 'AxisTransformation':
59
+ return AxisTransformation(
60
+ axis_letter=data.get('axisLetter'), # type: ignore
61
+ scaling=data.get('scaling'), # type: ignore
62
+ translation=Measurement.from_dict(data.get('translation')) if data.get('translation') is not None else None, # type: ignore
63
+ )
64
+
65
+ def validate(self) -> None:
66
+ """" Validates the properties of the instance. """
67
+ if self.axis_letter is not None:
68
+ if not isinstance(self.axis_letter, str):
69
+ raise ValueError(f'Property "AxisLetter" of "AxisTransformation" is not a string.')
70
+
71
+ if self.scaling is not None:
72
+ if not isinstance(self.scaling, (int, float, decimal.Decimal)):
73
+ raise ValueError(f'Property "Scaling" of "AxisTransformation" is not a number.')
74
+
75
+ if self.translation is not None:
76
+ if not isinstance(self.translation, Measurement):
77
+ raise ValueError(f'Property "Translation" of "AxisTransformation" is not an instance of "Measurement".')
78
+
79
+ self.translation.validate()