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,735 +1,735 @@
1
- # ===== THIS FILE IS GENERATED FROM A TEMPLATE ===== #
2
- # ============== DO NOT EDIT DIRECTLY ============== #
3
-
4
- from typing import TYPE_CHECKING, List
5
- from ..call import call, call_async, call_sync
6
-
7
- from ..dto import requests as dto
8
- from ..units import UnitsAndLiterals, Units
9
-
10
- from ..dto.ascii.get_setting import GetSetting
11
- from ..dto.ascii.get_setting_result import GetSettingResult
12
-
13
- if TYPE_CHECKING:
14
- from .device import Device
15
-
16
-
17
- class DeviceSettings:
18
- """
19
- Class providing access to various device settings and properties.
20
- """
21
-
22
- def __init__(self, device: 'Device'):
23
- self._device: 'Device' = device
24
-
25
- def get(
26
- self,
27
- setting: str,
28
- unit: UnitsAndLiterals = Units.NATIVE
29
- ) -> float:
30
- """
31
- Returns any device setting or property.
32
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
33
-
34
- Args:
35
- setting: Name of the setting.
36
- unit: Units of setting.
37
-
38
- Returns:
39
- Setting value.
40
- """
41
- request = dto.DeviceGetSettingRequest(
42
- interface_id=self._device.connection.interface_id,
43
- device=self._device.device_address,
44
- setting=setting,
45
- unit=unit,
46
- )
47
- response = call(
48
- "device/get_setting",
49
- request,
50
- dto.DoubleResponse.from_binary)
51
- return response.value
52
-
53
- async def get_async(
54
- self,
55
- setting: str,
56
- unit: UnitsAndLiterals = Units.NATIVE
57
- ) -> float:
58
- """
59
- Returns any device setting or property.
60
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
61
-
62
- Args:
63
- setting: Name of the setting.
64
- unit: Units of setting.
65
-
66
- Returns:
67
- Setting value.
68
- """
69
- request = dto.DeviceGetSettingRequest(
70
- interface_id=self._device.connection.interface_id,
71
- device=self._device.device_address,
72
- setting=setting,
73
- unit=unit,
74
- )
75
- response = await call_async(
76
- "device/get_setting",
77
- request,
78
- dto.DoubleResponse.from_binary)
79
- return response.value
80
-
81
- def set(
82
- self,
83
- setting: str,
84
- value: float,
85
- unit: UnitsAndLiterals = Units.NATIVE
86
- ) -> None:
87
- """
88
- Sets any device setting.
89
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
90
-
91
- Args:
92
- setting: Name of the setting.
93
- value: Value of the setting.
94
- unit: Units of setting.
95
- """
96
- request = dto.DeviceSetSettingRequest(
97
- interface_id=self._device.connection.interface_id,
98
- device=self._device.device_address,
99
- setting=setting,
100
- value=value,
101
- unit=unit,
102
- )
103
- call("device/set_setting", request)
104
-
105
- async def set_async(
106
- self,
107
- setting: str,
108
- value: float,
109
- unit: UnitsAndLiterals = Units.NATIVE
110
- ) -> None:
111
- """
112
- Sets any device setting.
113
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
114
-
115
- Args:
116
- setting: Name of the setting.
117
- value: Value of the setting.
118
- unit: Units of setting.
119
- """
120
- request = dto.DeviceSetSettingRequest(
121
- interface_id=self._device.connection.interface_id,
122
- device=self._device.device_address,
123
- setting=setting,
124
- value=value,
125
- unit=unit,
126
- )
127
- await call_async("device/set_setting", request)
128
-
129
- def get_string(
130
- self,
131
- setting: str
132
- ) -> str:
133
- """
134
- Returns any device setting or property as a string.
135
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
136
-
137
- Args:
138
- setting: Name of the setting.
139
-
140
- Returns:
141
- Setting value.
142
- """
143
- request = dto.DeviceGetSettingRequest(
144
- interface_id=self._device.connection.interface_id,
145
- device=self._device.device_address,
146
- setting=setting,
147
- )
148
- response = call(
149
- "device/get_setting_str",
150
- request,
151
- dto.StringResponse.from_binary)
152
- return response.value
153
-
154
- async def get_string_async(
155
- self,
156
- setting: str
157
- ) -> str:
158
- """
159
- Returns any device setting or property as a string.
160
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
161
-
162
- Args:
163
- setting: Name of the setting.
164
-
165
- Returns:
166
- Setting value.
167
- """
168
- request = dto.DeviceGetSettingRequest(
169
- interface_id=self._device.connection.interface_id,
170
- device=self._device.device_address,
171
- setting=setting,
172
- )
173
- response = await call_async(
174
- "device/get_setting_str",
175
- request,
176
- dto.StringResponse.from_binary)
177
- return response.value
178
-
179
- def set_string(
180
- self,
181
- setting: str,
182
- value: str
183
- ) -> None:
184
- """
185
- Sets any device setting as a string.
186
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
187
-
188
- Args:
189
- setting: Name of the setting.
190
- value: Value of the setting.
191
- """
192
- request = dto.DeviceSetSettingStrRequest(
193
- interface_id=self._device.connection.interface_id,
194
- device=self._device.device_address,
195
- setting=setting,
196
- value=value,
197
- )
198
- call("device/set_setting_str", request)
199
-
200
- async def set_string_async(
201
- self,
202
- setting: str,
203
- value: str
204
- ) -> None:
205
- """
206
- Sets any device setting as a string.
207
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
208
-
209
- Args:
210
- setting: Name of the setting.
211
- value: Value of the setting.
212
- """
213
- request = dto.DeviceSetSettingStrRequest(
214
- interface_id=self._device.connection.interface_id,
215
- device=self._device.device_address,
216
- setting=setting,
217
- value=value,
218
- )
219
- await call_async("device/set_setting_str", request)
220
-
221
- def get_int(
222
- self,
223
- setting: str
224
- ) -> int:
225
- """
226
- Returns any device setting or property as an integer.
227
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
228
-
229
- Args:
230
- setting: Name of the setting.
231
-
232
- Returns:
233
- Setting value.
234
- """
235
- request = dto.DeviceGetSettingRequest(
236
- interface_id=self._device.connection.interface_id,
237
- device=self._device.device_address,
238
- setting=setting,
239
- )
240
- response = call(
241
- "device/get_setting_int",
242
- request,
243
- dto.Int64Response.from_binary)
244
- return response.value
245
-
246
- async def get_int_async(
247
- self,
248
- setting: str
249
- ) -> int:
250
- """
251
- Returns any device setting or property as an integer.
252
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
253
-
254
- Args:
255
- setting: Name of the setting.
256
-
257
- Returns:
258
- Setting value.
259
- """
260
- request = dto.DeviceGetSettingRequest(
261
- interface_id=self._device.connection.interface_id,
262
- device=self._device.device_address,
263
- setting=setting,
264
- )
265
- response = await call_async(
266
- "device/get_setting_int",
267
- request,
268
- dto.Int64Response.from_binary)
269
- return response.value
270
-
271
- def set_int(
272
- self,
273
- setting: str,
274
- value: int
275
- ) -> None:
276
- """
277
- Sets any device setting or property as an integer.
278
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
279
-
280
- Args:
281
- setting: Name of the setting.
282
- value: Value of the setting.
283
- """
284
- request = dto.DeviceSetSettingIntRequest(
285
- interface_id=self._device.connection.interface_id,
286
- device=self._device.device_address,
287
- setting=setting,
288
- value=value,
289
- )
290
- call("device/set_setting_int", request)
291
-
292
- async def set_int_async(
293
- self,
294
- setting: str,
295
- value: int
296
- ) -> None:
297
- """
298
- Sets any device setting or property as an integer.
299
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
300
-
301
- Args:
302
- setting: Name of the setting.
303
- value: Value of the setting.
304
- """
305
- request = dto.DeviceSetSettingIntRequest(
306
- interface_id=self._device.connection.interface_id,
307
- device=self._device.device_address,
308
- setting=setting,
309
- value=value,
310
- )
311
- await call_async("device/set_setting_int", request)
312
-
313
- def get_bool(
314
- self,
315
- setting: str
316
- ) -> bool:
317
- """
318
- Returns any device setting or property as a boolean.
319
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
320
-
321
- Args:
322
- setting: Name of the setting.
323
-
324
- Returns:
325
- Setting value.
326
- """
327
- request = dto.DeviceGetSettingRequest(
328
- interface_id=self._device.connection.interface_id,
329
- device=self._device.device_address,
330
- setting=setting,
331
- )
332
- response = call(
333
- "device/get_setting_bool",
334
- request,
335
- dto.BoolResponse.from_binary)
336
- return response.value
337
-
338
- async def get_bool_async(
339
- self,
340
- setting: str
341
- ) -> bool:
342
- """
343
- Returns any device setting or property as a boolean.
344
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
345
-
346
- Args:
347
- setting: Name of the setting.
348
-
349
- Returns:
350
- Setting value.
351
- """
352
- request = dto.DeviceGetSettingRequest(
353
- interface_id=self._device.connection.interface_id,
354
- device=self._device.device_address,
355
- setting=setting,
356
- )
357
- response = await call_async(
358
- "device/get_setting_bool",
359
- request,
360
- dto.BoolResponse.from_binary)
361
- return response.value
362
-
363
- def set_bool(
364
- self,
365
- setting: str,
366
- value: bool
367
- ) -> None:
368
- """
369
- Sets any device setting as a boolean.
370
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
371
-
372
- Args:
373
- setting: Name of the setting.
374
- value: Value of the setting.
375
- """
376
- request = dto.DeviceSetSettingBoolRequest(
377
- interface_id=self._device.connection.interface_id,
378
- device=self._device.device_address,
379
- setting=setting,
380
- value=value,
381
- )
382
- call("device/set_setting_bool", request)
383
-
384
- async def set_bool_async(
385
- self,
386
- setting: str,
387
- value: bool
388
- ) -> None:
389
- """
390
- Sets any device setting as a boolean.
391
- For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
392
-
393
- Args:
394
- setting: Name of the setting.
395
- value: Value of the setting.
396
- """
397
- request = dto.DeviceSetSettingBoolRequest(
398
- interface_id=self._device.connection.interface_id,
399
- device=self._device.device_address,
400
- setting=setting,
401
- value=value,
402
- )
403
- await call_async("device/set_setting_bool", request)
404
-
405
- def convert_to_native_units(
406
- self,
407
- setting: str,
408
- value: float,
409
- unit: UnitsAndLiterals
410
- ) -> float:
411
- """
412
- Convert arbitrary setting value to Zaber native units.
413
-
414
- Args:
415
- setting: Name of the setting.
416
- value: Value of the setting in units specified by following argument.
417
- unit: Units of the value.
418
-
419
- Returns:
420
- Setting value.
421
- """
422
- request = dto.DeviceConvertSettingRequest(
423
- interface_id=self._device.connection.interface_id,
424
- device=self._device.device_address,
425
- setting=setting,
426
- value=value,
427
- unit=unit,
428
- )
429
- response = call_sync(
430
- "device/convert_setting",
431
- request,
432
- dto.DoubleResponse.from_binary)
433
- return response.value
434
-
435
- def convert_from_native_units(
436
- self,
437
- setting: str,
438
- value: float,
439
- unit: UnitsAndLiterals
440
- ) -> float:
441
- """
442
- Convert arbitrary setting value from Zaber native units.
443
-
444
- Args:
445
- setting: Name of the setting.
446
- value: Value of the setting in Zaber native units.
447
- unit: Units to convert value to.
448
-
449
- Returns:
450
- Setting value.
451
- """
452
- request = dto.DeviceConvertSettingRequest(
453
- interface_id=self._device.connection.interface_id,
454
- device=self._device.device_address,
455
- from_native=True,
456
- setting=setting,
457
- value=value,
458
- unit=unit,
459
- )
460
- response = call_sync(
461
- "device/convert_setting",
462
- request,
463
- dto.DoubleResponse.from_binary)
464
- return response.value
465
-
466
- def get_default(
467
- self,
468
- setting: str,
469
- unit: UnitsAndLiterals = Units.NATIVE
470
- ) -> float:
471
- """
472
- Returns the default value of a setting.
473
-
474
- Args:
475
- setting: Name of the setting.
476
- unit: Units of setting.
477
-
478
- Returns:
479
- Default setting value.
480
- """
481
- request = dto.DeviceGetSettingRequest(
482
- interface_id=self._device.connection.interface_id,
483
- device=self._device.device_address,
484
- setting=setting,
485
- unit=unit,
486
- )
487
- response = call_sync(
488
- "device/get_setting_default",
489
- request,
490
- dto.DoubleResponse.from_binary)
491
- return response.value
492
-
493
- def get_default_string(
494
- self,
495
- setting: str
496
- ) -> str:
497
- """
498
- Returns the default value of a setting as a string.
499
-
500
- Args:
501
- setting: Name of the setting.
502
-
503
- Returns:
504
- Default setting value.
505
- """
506
- request = dto.DeviceGetSettingRequest(
507
- interface_id=self._device.connection.interface_id,
508
- device=self._device.device_address,
509
- setting=setting,
510
- )
511
- response = call_sync(
512
- "device/get_setting_default_str",
513
- request,
514
- dto.StringResponse.from_binary)
515
- return response.value
516
-
517
- def get_default_int(
518
- self,
519
- setting: str
520
- ) -> int:
521
- """
522
- Returns the default value of a setting as an integer.
523
-
524
- Args:
525
- setting: Name of the setting.
526
-
527
- Returns:
528
- Default setting value.
529
- """
530
- request = dto.DeviceGetSettingRequest(
531
- interface_id=self._device.connection.interface_id,
532
- device=self._device.device_address,
533
- setting=setting,
534
- )
535
- response = call_sync(
536
- "device/get_setting_default_int",
537
- request,
538
- dto.Int64Response.from_binary)
539
- return response.value
540
-
541
- def get_default_bool(
542
- self,
543
- setting: str
544
- ) -> bool:
545
- """
546
- Returns the default value of a setting as a boolean.
547
-
548
- Args:
549
- setting: Name of the setting.
550
-
551
- Returns:
552
- Default setting value.
553
- """
554
- request = dto.DeviceGetSettingRequest(
555
- interface_id=self._device.connection.interface_id,
556
- device=self._device.device_address,
557
- setting=setting,
558
- )
559
- response = call_sync(
560
- "device/get_setting_default_bool",
561
- request,
562
- dto.BoolResponse.from_binary)
563
- return response.value
564
-
565
- def can_convert_native_units(
566
- self,
567
- setting: str
568
- ) -> bool:
569
- """
570
- Indicates if given setting can be converted from and to native units.
571
-
572
- Args:
573
- setting: Name of the setting.
574
-
575
- Returns:
576
- True if unit conversion can be performed.
577
- """
578
- request = dto.DeviceGetSettingRequest(
579
- interface_id=self._device.connection.interface_id,
580
- device=self._device.device_address,
581
- setting=setting,
582
- )
583
- response = call_sync(
584
- "device/can_convert_setting",
585
- request,
586
- dto.BoolResponse.from_binary)
587
- return response.value
588
-
589
- def get_from_all_axes(
590
- self,
591
- setting: str
592
- ) -> List[float]:
593
- """
594
- Gets the value of an axis scope setting for each axis on the device.
595
- Values may be NaN where the setting is not applicable.
596
-
597
- Args:
598
- setting: Name of the setting.
599
-
600
- Returns:
601
- The setting values on each axis.
602
- """
603
- request = dto.DeviceGetSettingRequest(
604
- interface_id=self._device.connection.interface_id,
605
- device=self._device.device_address,
606
- setting=setting,
607
- )
608
- response = call(
609
- "device/get_setting_from_all_axes",
610
- request,
611
- dto.DoubleArrayResponse.from_binary)
612
- return response.values
613
-
614
- async def get_from_all_axes_async(
615
- self,
616
- setting: str
617
- ) -> List[float]:
618
- """
619
- Gets the value of an axis scope setting for each axis on the device.
620
- Values may be NaN where the setting is not applicable.
621
-
622
- Args:
623
- setting: Name of the setting.
624
-
625
- Returns:
626
- The setting values on each axis.
627
- """
628
- request = dto.DeviceGetSettingRequest(
629
- interface_id=self._device.connection.interface_id,
630
- device=self._device.device_address,
631
- setting=setting,
632
- )
633
- response = await call_async(
634
- "device/get_setting_from_all_axes",
635
- request,
636
- dto.DoubleArrayResponse.from_binary)
637
- return response.values
638
-
639
- def get_many(
640
- self,
641
- *settings: GetSetting
642
- ) -> List[GetSettingResult]:
643
- """
644
- Gets many setting values in as few device requests as possible.
645
-
646
- Args:
647
- settings: The settings to read.
648
-
649
- Returns:
650
- The setting values read.
651
- """
652
- request = dto.DeviceMultiGetSettingRequest(
653
- interface_id=self._device.connection.interface_id,
654
- device=self._device.device_address,
655
- settings=list(settings),
656
- )
657
- response = call(
658
- "device/get_many_settings",
659
- request,
660
- dto.GetSettingResults.from_binary)
661
- return response.results
662
-
663
- async def get_many_async(
664
- self,
665
- *settings: GetSetting
666
- ) -> List[GetSettingResult]:
667
- """
668
- Gets many setting values in as few device requests as possible.
669
-
670
- Args:
671
- settings: The settings to read.
672
-
673
- Returns:
674
- The setting values read.
675
- """
676
- request = dto.DeviceMultiGetSettingRequest(
677
- interface_id=self._device.connection.interface_id,
678
- device=self._device.device_address,
679
- settings=list(settings),
680
- )
681
- response = await call_async(
682
- "device/get_many_settings",
683
- request,
684
- dto.GetSettingResults.from_binary)
685
- return response.results
686
-
687
- def get_synchronized(
688
- self,
689
- *settings: GetSetting
690
- ) -> List[GetSettingResult]:
691
- """
692
- Gets many setting values in the same tick, ensuring their values are synchronized.
693
- Requires at least Firmware 7.35.
694
-
695
- Args:
696
- settings: The settings to read.
697
-
698
- Returns:
699
- The setting values read.
700
- """
701
- request = dto.DeviceMultiGetSettingRequest(
702
- interface_id=self._device.connection.interface_id,
703
- device=self._device.device_address,
704
- settings=list(settings),
705
- )
706
- response = call(
707
- "device/get_sync_settings",
708
- request,
709
- dto.GetSettingResults.from_binary)
710
- return response.results
711
-
712
- async def get_synchronized_async(
713
- self,
714
- *settings: GetSetting
715
- ) -> List[GetSettingResult]:
716
- """
717
- Gets many setting values in the same tick, ensuring their values are synchronized.
718
- Requires at least Firmware 7.35.
719
-
720
- Args:
721
- settings: The settings to read.
722
-
723
- Returns:
724
- The setting values read.
725
- """
726
- request = dto.DeviceMultiGetSettingRequest(
727
- interface_id=self._device.connection.interface_id,
728
- device=self._device.device_address,
729
- settings=list(settings),
730
- )
731
- response = await call_async(
732
- "device/get_sync_settings",
733
- request,
734
- dto.GetSettingResults.from_binary)
735
- return response.results
1
+ # ===== THIS FILE IS GENERATED FROM A TEMPLATE ===== #
2
+ # ============== DO NOT EDIT DIRECTLY ============== #
3
+
4
+ from typing import TYPE_CHECKING, List
5
+ from ..call import call, call_async, call_sync
6
+
7
+ from ..dto import requests as dto
8
+ from ..units import UnitsAndLiterals, Units
9
+
10
+ from ..dto.ascii.get_setting import GetSetting
11
+ from ..dto.ascii.get_setting_result import GetSettingResult
12
+
13
+ if TYPE_CHECKING:
14
+ from .device import Device
15
+
16
+
17
+ class DeviceSettings:
18
+ """
19
+ Class providing access to various device settings and properties.
20
+ """
21
+
22
+ def __init__(self, device: 'Device'):
23
+ self._device: 'Device' = device
24
+
25
+ def get(
26
+ self,
27
+ setting: str,
28
+ unit: UnitsAndLiterals = Units.NATIVE
29
+ ) -> float:
30
+ """
31
+ Returns any device setting or property.
32
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
33
+
34
+ Args:
35
+ setting: Name of the setting.
36
+ unit: Units of setting.
37
+
38
+ Returns:
39
+ Setting value.
40
+ """
41
+ request = dto.DeviceGetSettingRequest(
42
+ interface_id=self._device.connection.interface_id,
43
+ device=self._device.device_address,
44
+ setting=setting,
45
+ unit=unit,
46
+ )
47
+ response = call(
48
+ "device/get_setting",
49
+ request,
50
+ dto.DoubleResponse.from_binary)
51
+ return response.value
52
+
53
+ async def get_async(
54
+ self,
55
+ setting: str,
56
+ unit: UnitsAndLiterals = Units.NATIVE
57
+ ) -> float:
58
+ """
59
+ Returns any device setting or property.
60
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
61
+
62
+ Args:
63
+ setting: Name of the setting.
64
+ unit: Units of setting.
65
+
66
+ Returns:
67
+ Setting value.
68
+ """
69
+ request = dto.DeviceGetSettingRequest(
70
+ interface_id=self._device.connection.interface_id,
71
+ device=self._device.device_address,
72
+ setting=setting,
73
+ unit=unit,
74
+ )
75
+ response = await call_async(
76
+ "device/get_setting",
77
+ request,
78
+ dto.DoubleResponse.from_binary)
79
+ return response.value
80
+
81
+ def set(
82
+ self,
83
+ setting: str,
84
+ value: float,
85
+ unit: UnitsAndLiterals = Units.NATIVE
86
+ ) -> None:
87
+ """
88
+ Sets any device setting.
89
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
90
+
91
+ Args:
92
+ setting: Name of the setting.
93
+ value: Value of the setting.
94
+ unit: Units of setting.
95
+ """
96
+ request = dto.DeviceSetSettingRequest(
97
+ interface_id=self._device.connection.interface_id,
98
+ device=self._device.device_address,
99
+ setting=setting,
100
+ value=value,
101
+ unit=unit,
102
+ )
103
+ call("device/set_setting", request)
104
+
105
+ async def set_async(
106
+ self,
107
+ setting: str,
108
+ value: float,
109
+ unit: UnitsAndLiterals = Units.NATIVE
110
+ ) -> None:
111
+ """
112
+ Sets any device setting.
113
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
114
+
115
+ Args:
116
+ setting: Name of the setting.
117
+ value: Value of the setting.
118
+ unit: Units of setting.
119
+ """
120
+ request = dto.DeviceSetSettingRequest(
121
+ interface_id=self._device.connection.interface_id,
122
+ device=self._device.device_address,
123
+ setting=setting,
124
+ value=value,
125
+ unit=unit,
126
+ )
127
+ await call_async("device/set_setting", request)
128
+
129
+ def get_string(
130
+ self,
131
+ setting: str
132
+ ) -> str:
133
+ """
134
+ Returns any device setting or property as a string.
135
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
136
+
137
+ Args:
138
+ setting: Name of the setting.
139
+
140
+ Returns:
141
+ Setting value.
142
+ """
143
+ request = dto.DeviceGetSettingRequest(
144
+ interface_id=self._device.connection.interface_id,
145
+ device=self._device.device_address,
146
+ setting=setting,
147
+ )
148
+ response = call(
149
+ "device/get_setting_str",
150
+ request,
151
+ dto.StringResponse.from_binary)
152
+ return response.value
153
+
154
+ async def get_string_async(
155
+ self,
156
+ setting: str
157
+ ) -> str:
158
+ """
159
+ Returns any device setting or property as a string.
160
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
161
+
162
+ Args:
163
+ setting: Name of the setting.
164
+
165
+ Returns:
166
+ Setting value.
167
+ """
168
+ request = dto.DeviceGetSettingRequest(
169
+ interface_id=self._device.connection.interface_id,
170
+ device=self._device.device_address,
171
+ setting=setting,
172
+ )
173
+ response = await call_async(
174
+ "device/get_setting_str",
175
+ request,
176
+ dto.StringResponse.from_binary)
177
+ return response.value
178
+
179
+ def set_string(
180
+ self,
181
+ setting: str,
182
+ value: str
183
+ ) -> None:
184
+ """
185
+ Sets any device setting as a string.
186
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
187
+
188
+ Args:
189
+ setting: Name of the setting.
190
+ value: Value of the setting.
191
+ """
192
+ request = dto.DeviceSetSettingStrRequest(
193
+ interface_id=self._device.connection.interface_id,
194
+ device=self._device.device_address,
195
+ setting=setting,
196
+ value=value,
197
+ )
198
+ call("device/set_setting_str", request)
199
+
200
+ async def set_string_async(
201
+ self,
202
+ setting: str,
203
+ value: str
204
+ ) -> None:
205
+ """
206
+ Sets any device setting as a string.
207
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
208
+
209
+ Args:
210
+ setting: Name of the setting.
211
+ value: Value of the setting.
212
+ """
213
+ request = dto.DeviceSetSettingStrRequest(
214
+ interface_id=self._device.connection.interface_id,
215
+ device=self._device.device_address,
216
+ setting=setting,
217
+ value=value,
218
+ )
219
+ await call_async("device/set_setting_str", request)
220
+
221
+ def get_int(
222
+ self,
223
+ setting: str
224
+ ) -> int:
225
+ """
226
+ Returns any device setting or property as an integer.
227
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
228
+
229
+ Args:
230
+ setting: Name of the setting.
231
+
232
+ Returns:
233
+ Setting value.
234
+ """
235
+ request = dto.DeviceGetSettingRequest(
236
+ interface_id=self._device.connection.interface_id,
237
+ device=self._device.device_address,
238
+ setting=setting,
239
+ )
240
+ response = call(
241
+ "device/get_setting_int",
242
+ request,
243
+ dto.Int64Response.from_binary)
244
+ return response.value
245
+
246
+ async def get_int_async(
247
+ self,
248
+ setting: str
249
+ ) -> int:
250
+ """
251
+ Returns any device setting or property as an integer.
252
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
253
+
254
+ Args:
255
+ setting: Name of the setting.
256
+
257
+ Returns:
258
+ Setting value.
259
+ """
260
+ request = dto.DeviceGetSettingRequest(
261
+ interface_id=self._device.connection.interface_id,
262
+ device=self._device.device_address,
263
+ setting=setting,
264
+ )
265
+ response = await call_async(
266
+ "device/get_setting_int",
267
+ request,
268
+ dto.Int64Response.from_binary)
269
+ return response.value
270
+
271
+ def set_int(
272
+ self,
273
+ setting: str,
274
+ value: int
275
+ ) -> None:
276
+ """
277
+ Sets any device setting or property as an integer.
278
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
279
+
280
+ Args:
281
+ setting: Name of the setting.
282
+ value: Value of the setting.
283
+ """
284
+ request = dto.DeviceSetSettingIntRequest(
285
+ interface_id=self._device.connection.interface_id,
286
+ device=self._device.device_address,
287
+ setting=setting,
288
+ value=value,
289
+ )
290
+ call("device/set_setting_int", request)
291
+
292
+ async def set_int_async(
293
+ self,
294
+ setting: str,
295
+ value: int
296
+ ) -> None:
297
+ """
298
+ Sets any device setting or property as an integer.
299
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
300
+
301
+ Args:
302
+ setting: Name of the setting.
303
+ value: Value of the setting.
304
+ """
305
+ request = dto.DeviceSetSettingIntRequest(
306
+ interface_id=self._device.connection.interface_id,
307
+ device=self._device.device_address,
308
+ setting=setting,
309
+ value=value,
310
+ )
311
+ await call_async("device/set_setting_int", request)
312
+
313
+ def get_bool(
314
+ self,
315
+ setting: str
316
+ ) -> bool:
317
+ """
318
+ Returns any device setting or property as a boolean.
319
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
320
+
321
+ Args:
322
+ setting: Name of the setting.
323
+
324
+ Returns:
325
+ Setting value.
326
+ """
327
+ request = dto.DeviceGetSettingRequest(
328
+ interface_id=self._device.connection.interface_id,
329
+ device=self._device.device_address,
330
+ setting=setting,
331
+ )
332
+ response = call(
333
+ "device/get_setting_bool",
334
+ request,
335
+ dto.BoolResponse.from_binary)
336
+ return response.value
337
+
338
+ async def get_bool_async(
339
+ self,
340
+ setting: str
341
+ ) -> bool:
342
+ """
343
+ Returns any device setting or property as a boolean.
344
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
345
+
346
+ Args:
347
+ setting: Name of the setting.
348
+
349
+ Returns:
350
+ Setting value.
351
+ """
352
+ request = dto.DeviceGetSettingRequest(
353
+ interface_id=self._device.connection.interface_id,
354
+ device=self._device.device_address,
355
+ setting=setting,
356
+ )
357
+ response = await call_async(
358
+ "device/get_setting_bool",
359
+ request,
360
+ dto.BoolResponse.from_binary)
361
+ return response.value
362
+
363
+ def set_bool(
364
+ self,
365
+ setting: str,
366
+ value: bool
367
+ ) -> None:
368
+ """
369
+ Sets any device setting as a boolean.
370
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
371
+
372
+ Args:
373
+ setting: Name of the setting.
374
+ value: Value of the setting.
375
+ """
376
+ request = dto.DeviceSetSettingBoolRequest(
377
+ interface_id=self._device.connection.interface_id,
378
+ device=self._device.device_address,
379
+ setting=setting,
380
+ value=value,
381
+ )
382
+ call("device/set_setting_bool", request)
383
+
384
+ async def set_bool_async(
385
+ self,
386
+ setting: str,
387
+ value: bool
388
+ ) -> None:
389
+ """
390
+ Sets any device setting as a boolean.
391
+ For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
392
+
393
+ Args:
394
+ setting: Name of the setting.
395
+ value: Value of the setting.
396
+ """
397
+ request = dto.DeviceSetSettingBoolRequest(
398
+ interface_id=self._device.connection.interface_id,
399
+ device=self._device.device_address,
400
+ setting=setting,
401
+ value=value,
402
+ )
403
+ await call_async("device/set_setting_bool", request)
404
+
405
+ def convert_to_native_units(
406
+ self,
407
+ setting: str,
408
+ value: float,
409
+ unit: UnitsAndLiterals
410
+ ) -> float:
411
+ """
412
+ Convert arbitrary setting value to Zaber native units.
413
+
414
+ Args:
415
+ setting: Name of the setting.
416
+ value: Value of the setting in units specified by following argument.
417
+ unit: Units of the value.
418
+
419
+ Returns:
420
+ Setting value.
421
+ """
422
+ request = dto.DeviceConvertSettingRequest(
423
+ interface_id=self._device.connection.interface_id,
424
+ device=self._device.device_address,
425
+ setting=setting,
426
+ value=value,
427
+ unit=unit,
428
+ )
429
+ response = call_sync(
430
+ "device/convert_setting",
431
+ request,
432
+ dto.DoubleResponse.from_binary)
433
+ return response.value
434
+
435
+ def convert_from_native_units(
436
+ self,
437
+ setting: str,
438
+ value: float,
439
+ unit: UnitsAndLiterals
440
+ ) -> float:
441
+ """
442
+ Convert arbitrary setting value from Zaber native units.
443
+
444
+ Args:
445
+ setting: Name of the setting.
446
+ value: Value of the setting in Zaber native units.
447
+ unit: Units to convert value to.
448
+
449
+ Returns:
450
+ Setting value.
451
+ """
452
+ request = dto.DeviceConvertSettingRequest(
453
+ interface_id=self._device.connection.interface_id,
454
+ device=self._device.device_address,
455
+ from_native=True,
456
+ setting=setting,
457
+ value=value,
458
+ unit=unit,
459
+ )
460
+ response = call_sync(
461
+ "device/convert_setting",
462
+ request,
463
+ dto.DoubleResponse.from_binary)
464
+ return response.value
465
+
466
+ def get_default(
467
+ self,
468
+ setting: str,
469
+ unit: UnitsAndLiterals = Units.NATIVE
470
+ ) -> float:
471
+ """
472
+ Returns the default value of a setting.
473
+
474
+ Args:
475
+ setting: Name of the setting.
476
+ unit: Units of setting.
477
+
478
+ Returns:
479
+ Default setting value.
480
+ """
481
+ request = dto.DeviceGetSettingRequest(
482
+ interface_id=self._device.connection.interface_id,
483
+ device=self._device.device_address,
484
+ setting=setting,
485
+ unit=unit,
486
+ )
487
+ response = call_sync(
488
+ "device/get_setting_default",
489
+ request,
490
+ dto.DoubleResponse.from_binary)
491
+ return response.value
492
+
493
+ def get_default_string(
494
+ self,
495
+ setting: str
496
+ ) -> str:
497
+ """
498
+ Returns the default value of a setting as a string.
499
+
500
+ Args:
501
+ setting: Name of the setting.
502
+
503
+ Returns:
504
+ Default setting value.
505
+ """
506
+ request = dto.DeviceGetSettingRequest(
507
+ interface_id=self._device.connection.interface_id,
508
+ device=self._device.device_address,
509
+ setting=setting,
510
+ )
511
+ response = call_sync(
512
+ "device/get_setting_default_str",
513
+ request,
514
+ dto.StringResponse.from_binary)
515
+ return response.value
516
+
517
+ def get_default_int(
518
+ self,
519
+ setting: str
520
+ ) -> int:
521
+ """
522
+ Returns the default value of a setting as an integer.
523
+
524
+ Args:
525
+ setting: Name of the setting.
526
+
527
+ Returns:
528
+ Default setting value.
529
+ """
530
+ request = dto.DeviceGetSettingRequest(
531
+ interface_id=self._device.connection.interface_id,
532
+ device=self._device.device_address,
533
+ setting=setting,
534
+ )
535
+ response = call_sync(
536
+ "device/get_setting_default_int",
537
+ request,
538
+ dto.Int64Response.from_binary)
539
+ return response.value
540
+
541
+ def get_default_bool(
542
+ self,
543
+ setting: str
544
+ ) -> bool:
545
+ """
546
+ Returns the default value of a setting as a boolean.
547
+
548
+ Args:
549
+ setting: Name of the setting.
550
+
551
+ Returns:
552
+ Default setting value.
553
+ """
554
+ request = dto.DeviceGetSettingRequest(
555
+ interface_id=self._device.connection.interface_id,
556
+ device=self._device.device_address,
557
+ setting=setting,
558
+ )
559
+ response = call_sync(
560
+ "device/get_setting_default_bool",
561
+ request,
562
+ dto.BoolResponse.from_binary)
563
+ return response.value
564
+
565
+ def can_convert_native_units(
566
+ self,
567
+ setting: str
568
+ ) -> bool:
569
+ """
570
+ Indicates if given setting can be converted from and to native units.
571
+
572
+ Args:
573
+ setting: Name of the setting.
574
+
575
+ Returns:
576
+ True if unit conversion can be performed.
577
+ """
578
+ request = dto.DeviceGetSettingRequest(
579
+ interface_id=self._device.connection.interface_id,
580
+ device=self._device.device_address,
581
+ setting=setting,
582
+ )
583
+ response = call_sync(
584
+ "device/can_convert_setting",
585
+ request,
586
+ dto.BoolResponse.from_binary)
587
+ return response.value
588
+
589
+ def get_from_all_axes(
590
+ self,
591
+ setting: str
592
+ ) -> List[float]:
593
+ """
594
+ Gets the value of an axis scope setting for each axis on the device.
595
+ Values may be NaN where the setting is not applicable.
596
+
597
+ Args:
598
+ setting: Name of the setting.
599
+
600
+ Returns:
601
+ The setting values on each axis.
602
+ """
603
+ request = dto.DeviceGetSettingRequest(
604
+ interface_id=self._device.connection.interface_id,
605
+ device=self._device.device_address,
606
+ setting=setting,
607
+ )
608
+ response = call(
609
+ "device/get_setting_from_all_axes",
610
+ request,
611
+ dto.DoubleArrayResponse.from_binary)
612
+ return response.values
613
+
614
+ async def get_from_all_axes_async(
615
+ self,
616
+ setting: str
617
+ ) -> List[float]:
618
+ """
619
+ Gets the value of an axis scope setting for each axis on the device.
620
+ Values may be NaN where the setting is not applicable.
621
+
622
+ Args:
623
+ setting: Name of the setting.
624
+
625
+ Returns:
626
+ The setting values on each axis.
627
+ """
628
+ request = dto.DeviceGetSettingRequest(
629
+ interface_id=self._device.connection.interface_id,
630
+ device=self._device.device_address,
631
+ setting=setting,
632
+ )
633
+ response = await call_async(
634
+ "device/get_setting_from_all_axes",
635
+ request,
636
+ dto.DoubleArrayResponse.from_binary)
637
+ return response.values
638
+
639
+ def get_many(
640
+ self,
641
+ *settings: GetSetting
642
+ ) -> List[GetSettingResult]:
643
+ """
644
+ Gets many setting values in as few device requests as possible.
645
+
646
+ Args:
647
+ settings: The settings to read.
648
+
649
+ Returns:
650
+ The setting values read.
651
+ """
652
+ request = dto.DeviceMultiGetSettingRequest(
653
+ interface_id=self._device.connection.interface_id,
654
+ device=self._device.device_address,
655
+ settings=list(settings),
656
+ )
657
+ response = call(
658
+ "device/get_many_settings",
659
+ request,
660
+ dto.GetSettingResults.from_binary)
661
+ return response.results
662
+
663
+ async def get_many_async(
664
+ self,
665
+ *settings: GetSetting
666
+ ) -> List[GetSettingResult]:
667
+ """
668
+ Gets many setting values in as few device requests as possible.
669
+
670
+ Args:
671
+ settings: The settings to read.
672
+
673
+ Returns:
674
+ The setting values read.
675
+ """
676
+ request = dto.DeviceMultiGetSettingRequest(
677
+ interface_id=self._device.connection.interface_id,
678
+ device=self._device.device_address,
679
+ settings=list(settings),
680
+ )
681
+ response = await call_async(
682
+ "device/get_many_settings",
683
+ request,
684
+ dto.GetSettingResults.from_binary)
685
+ return response.results
686
+
687
+ def get_synchronized(
688
+ self,
689
+ *settings: GetSetting
690
+ ) -> List[GetSettingResult]:
691
+ """
692
+ Gets many setting values in the same tick, ensuring their values are synchronized.
693
+ Requires at least Firmware 7.35.
694
+
695
+ Args:
696
+ settings: The settings to read.
697
+
698
+ Returns:
699
+ The setting values read.
700
+ """
701
+ request = dto.DeviceMultiGetSettingRequest(
702
+ interface_id=self._device.connection.interface_id,
703
+ device=self._device.device_address,
704
+ settings=list(settings),
705
+ )
706
+ response = call(
707
+ "device/get_sync_settings",
708
+ request,
709
+ dto.GetSettingResults.from_binary)
710
+ return response.results
711
+
712
+ async def get_synchronized_async(
713
+ self,
714
+ *settings: GetSetting
715
+ ) -> List[GetSettingResult]:
716
+ """
717
+ Gets many setting values in the same tick, ensuring their values are synchronized.
718
+ Requires at least Firmware 7.35.
719
+
720
+ Args:
721
+ settings: The settings to read.
722
+
723
+ Returns:
724
+ The setting values read.
725
+ """
726
+ request = dto.DeviceMultiGetSettingRequest(
727
+ interface_id=self._device.connection.interface_id,
728
+ device=self._device.device_address,
729
+ settings=list(settings),
730
+ )
731
+ response = await call_async(
732
+ "device/get_sync_settings",
733
+ request,
734
+ dto.GetSettingResults.from_binary)
735
+ return response.results