zaber-motion 7.13.0__py3-none-win_amd64.whl → 7.14.0__py3-none-win_amd64.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.
- zaber_motion/__init__.py +103 -103
- zaber_motion/ascii/__init__.py +73 -73
- zaber_motion/ascii/all_axes.py +352 -352
- zaber_motion/ascii/axis.py +1673 -1673
- zaber_motion/ascii/axis_group.py +391 -391
- zaber_motion/ascii/axis_settings.py +752 -752
- zaber_motion/ascii/connection.py +1174 -1174
- zaber_motion/ascii/device.py +908 -908
- zaber_motion/ascii/device_io.py +1170 -1170
- zaber_motion/ascii/device_settings.py +735 -735
- zaber_motion/ascii/lockstep.py +1184 -1184
- zaber_motion/ascii/oscilloscope.py +635 -635
- zaber_motion/ascii/oscilloscope_data.py +240 -240
- zaber_motion/ascii/pvt.py +105 -105
- zaber_motion/ascii/pvt_buffer.py +146 -146
- zaber_motion/ascii/pvt_io.py +630 -630
- zaber_motion/ascii/pvt_sequence.py +1530 -1530
- zaber_motion/ascii/servo_tuner.py +637 -637
- zaber_motion/ascii/setting_constants.py +1755 -1755
- zaber_motion/ascii/storage.py +905 -905
- zaber_motion/ascii/stream.py +2182 -2182
- zaber_motion/ascii/stream_buffer.py +101 -101
- zaber_motion/ascii/stream_io.py +700 -700
- zaber_motion/ascii/streams.py +105 -105
- zaber_motion/ascii/transport.py +202 -202
- zaber_motion/ascii/trigger.py +886 -886
- zaber_motion/ascii/triggers.py +241 -241
- zaber_motion/ascii/warning_flags.py +178 -178
- zaber_motion/ascii/warnings.py +152 -152
- zaber_motion/async_utils.py +46 -46
- zaber_motion/binary/__init__.py +14 -14
- zaber_motion/binary/connection.py +648 -648
- zaber_motion/binary/device.py +924 -924
- zaber_motion/binary/device_settings.py +121 -121
- zaber_motion/bindings.py +50 -50
- zaber_motion/call.py +198 -198
- zaber_motion/convert_exception.py +138 -138
- zaber_motion/dto/__init__.py +11 -11
- zaber_motion/dto/ascii/__init__.py +46 -46
- zaber_motion/dto/ascii/alert_event.py +110 -110
- zaber_motion/dto/ascii/axis_identity.py +134 -134
- zaber_motion/dto/ascii/axis_type.py +14 -14
- zaber_motion/dto/ascii/can_set_state_axis_response.py +69 -69
- zaber_motion/dto/ascii/can_set_state_device_response.py +75 -75
- zaber_motion/dto/ascii/conversion_factor.py +81 -81
- zaber_motion/dto/ascii/device_identity.py +136 -136
- zaber_motion/dto/ascii/device_io_info.py +108 -108
- zaber_motion/dto/ascii/digital_output_action.py +13 -13
- zaber_motion/dto/ascii/get_axis_setting.py +64 -64
- zaber_motion/dto/ascii/get_axis_setting_result.py +81 -81
- zaber_motion/dto/ascii/get_setting.py +88 -88
- zaber_motion/dto/ascii/get_setting_result.py +87 -87
- zaber_motion/dto/ascii/io_port_label.py +84 -84
- zaber_motion/dto/ascii/io_port_type.py +14 -14
- zaber_motion/dto/ascii/lockstep_axes.py +108 -108
- zaber_motion/dto/ascii/measurement_sequence.py +73 -73
- zaber_motion/dto/ascii/message_type.py +14 -14
- zaber_motion/dto/ascii/optional_measurement_sequence.py +71 -71
- zaber_motion/dto/ascii/oscilloscope_capture_properties.py +116 -116
- zaber_motion/dto/ascii/oscilloscope_data_source.py +11 -11
- zaber_motion/dto/ascii/paramset_info.py +92 -92
- zaber_motion/dto/ascii/pid_tuning.py +125 -125
- zaber_motion/dto/ascii/pvt_axis_definition.py +70 -70
- zaber_motion/dto/ascii/pvt_axis_type.py +11 -11
- zaber_motion/dto/ascii/pvt_csv_data.py +75 -75
- zaber_motion/dto/ascii/pvt_mode.py +12 -12
- zaber_motion/dto/ascii/pvt_sequence_data.py +99 -99
- zaber_motion/dto/ascii/response.py +137 -137
- zaber_motion/dto/ascii/servo_tuning_param.py +66 -66
- zaber_motion/dto/ascii/servo_tuning_paramset.py +21 -21
- zaber_motion/dto/ascii/set_state_axis_response.py +75 -75
- zaber_motion/dto/ascii/set_state_device_response.py +80 -80
- zaber_motion/dto/ascii/simple_tuning.py +118 -118
- zaber_motion/dto/ascii/simple_tuning_param_definition.py +100 -100
- zaber_motion/dto/ascii/stream_axis_definition.py +70 -70
- zaber_motion/dto/ascii/stream_axis_type.py +11 -11
- zaber_motion/dto/ascii/stream_mode.py +13 -13
- zaber_motion/dto/ascii/trigger_action.py +12 -12
- zaber_motion/dto/ascii/trigger_condition.py +15 -15
- zaber_motion/dto/ascii/trigger_enabled_state.py +68 -68
- zaber_motion/dto/ascii/trigger_operation.py +12 -12
- zaber_motion/dto/ascii/trigger_state.py +114 -114
- zaber_motion/dto/ascii/unknown_response_event.py +137 -137
- zaber_motion/dto/axis_address.py +74 -74
- zaber_motion/dto/binary/__init__.py +11 -11
- zaber_motion/dto/binary/binary_settings.py +74 -74
- zaber_motion/dto/binary/command_code.py +106 -106
- zaber_motion/dto/binary/device_identity.py +156 -156
- zaber_motion/dto/binary/device_type.py +12 -12
- zaber_motion/dto/binary/error_code.py +101 -101
- zaber_motion/dto/binary/message.py +91 -91
- zaber_motion/dto/binary/reply_code.py +16 -16
- zaber_motion/dto/binary/reply_only_event.py +91 -91
- zaber_motion/dto/binary/unknown_response_event.py +91 -91
- zaber_motion/dto/channel_address.py +74 -74
- zaber_motion/dto/device_db_source.py +66 -66
- zaber_motion/dto/device_db_source_type.py +11 -11
- zaber_motion/dto/exceptions/__init__.py +24 -24
- zaber_motion/dto/exceptions/binary_command_failed_exception_data.py +57 -57
- zaber_motion/dto/exceptions/command_failed_exception_data.py +151 -151
- zaber_motion/dto/exceptions/command_too_long_exception_data.py +98 -98
- zaber_motion/dto/exceptions/device_address_conflict_exception_data.py +63 -63
- zaber_motion/dto/exceptions/device_db_failed_exception_data.py +74 -74
- zaber_motion/dto/exceptions/device_db_inner_error.py +85 -85
- zaber_motion/dto/exceptions/g_code_execution_exception_data.py +75 -75
- zaber_motion/dto/exceptions/g_code_syntax_exception_data.py +75 -75
- zaber_motion/dto/exceptions/invalid_packet_exception_data.py +63 -63
- zaber_motion/dto/exceptions/invalid_pvt_point.py +69 -69
- zaber_motion/dto/exceptions/invalid_response_exception_data.py +51 -51
- zaber_motion/dto/exceptions/movement_failed_exception_data.py +104 -104
- zaber_motion/dto/exceptions/movement_interrupted_exception_data.py +104 -104
- zaber_motion/dto/exceptions/operation_failed_exception_data.py +104 -104
- zaber_motion/dto/exceptions/pvt_execution_exception_data.py +86 -86
- zaber_motion/dto/exceptions/pvt_movement_failed_exception_data.py +69 -69
- zaber_motion/dto/exceptions/pvt_movement_interrupted_exception_data.py +69 -69
- zaber_motion/dto/exceptions/set_device_state_exception_data.py +176 -176
- zaber_motion/dto/exceptions/set_peripheral_state_exception_data.py +121 -121
- zaber_motion/dto/exceptions/stream_execution_exception_data.py +63 -63
- zaber_motion/dto/exceptions/stream_movement_failed_exception_data.py +69 -69
- zaber_motion/dto/exceptions/stream_movement_interrupted_exception_data.py +69 -69
- zaber_motion/dto/firmware_version.py +91 -91
- zaber_motion/dto/gcode/__init__.py +9 -9
- zaber_motion/dto/gcode/axis_definition.py +74 -74
- zaber_motion/dto/gcode/axis_mapping.py +69 -69
- zaber_motion/dto/gcode/axis_transformation.py +79 -79
- zaber_motion/dto/gcode/device_definition.py +99 -99
- zaber_motion/dto/gcode/translate_message.py +87 -87
- zaber_motion/dto/gcode/translate_result.py +79 -79
- zaber_motion/dto/gcode/translator_config.py +84 -84
- zaber_motion/dto/log_output_mode.py +13 -13
- zaber_motion/dto/measurement.py +67 -67
- zaber_motion/dto/microscopy/__init__.py +6 -6
- zaber_motion/dto/microscopy/autofocus_status.py +57 -57
- zaber_motion/dto/microscopy/microscope_config.py +159 -159
- zaber_motion/dto/microscopy/third_party_components.py +55 -55
- zaber_motion/dto/microscopy/wdi_autofocus_provider_status.py +57 -57
- zaber_motion/dto/named_parameter.py +64 -64
- zaber_motion/dto/product/__init__.py +5 -5
- zaber_motion/dto/product/process_controller_mode.py +13 -13
- zaber_motion/dto/product/process_controller_source.py +72 -72
- zaber_motion/dto/product/process_controller_source_sensor.py +11 -11
- zaber_motion/dto/requests/__init__.py +256 -254
- zaber_motion/dto/requests/alert_event_wrapper.py +82 -82
- zaber_motion/dto/requests/autofocus_focus_request.py +131 -131
- zaber_motion/dto/requests/autofocus_get_objective_params_request.py +121 -121
- zaber_motion/dto/requests/autofocus_get_objective_params_response.py +56 -56
- zaber_motion/dto/requests/autofocus_get_status_response.py +50 -50
- zaber_motion/dto/requests/autofocus_set_objective_params_request.py +141 -141
- zaber_motion/dto/requests/axes_empty_request.py +95 -95
- zaber_motion/dto/requests/axes_get_setting_request.py +121 -121
- zaber_motion/dto/requests/axes_move_request.py +114 -114
- zaber_motion/dto/requests/axis_empty_request.py +79 -79
- zaber_motion/dto/requests/axis_move_type.py +12 -12
- zaber_motion/dto/requests/axis_to_string_request.py +88 -88
- zaber_motion/dto/requests/binary_device_detect_request.py +56 -56
- zaber_motion/dto/requests/binary_device_detect_response.py +57 -57
- zaber_motion/dto/requests/binary_device_get_setting_request.py +89 -89
- zaber_motion/dto/requests/binary_device_home_request.py +88 -88
- zaber_motion/dto/requests/binary_device_move_request.py +111 -111
- zaber_motion/dto/requests/binary_device_set_setting_request.py +100 -100
- zaber_motion/dto/requests/binary_device_stop_request.py +88 -88
- zaber_motion/dto/requests/binary_generic_with_units_request.py +122 -122
- zaber_motion/dto/requests/binary_message_collection.py +56 -56
- zaber_motion/dto/requests/binary_reply_only_event_wrapper.py +82 -82
- zaber_motion/dto/requests/bool_response.py +43 -43
- zaber_motion/dto/requests/can_set_state_axis_response.py +60 -60
- zaber_motion/dto/requests/can_set_state_request.py +100 -100
- zaber_motion/dto/requests/channel_on.py +84 -84
- zaber_motion/dto/requests/channel_set_intensity.py +90 -90
- zaber_motion/dto/requests/check_version_request.py +54 -54
- zaber_motion/dto/requests/custom_interface_close_request.py +60 -60
- zaber_motion/dto/requests/custom_interface_open_response.py +51 -51
- zaber_motion/dto/requests/custom_interface_read_request.py +51 -51
- zaber_motion/dto/requests/custom_interface_write_request.py +60 -60
- zaber_motion/dto/requests/device_cancel_all_outputs_schedule_request.py +80 -80
- zaber_motion/dto/requests/device_cancel_output_schedule_request.py +84 -84
- zaber_motion/dto/requests/device_convert_setting_request.py +116 -116
- zaber_motion/dto/requests/device_detect_request.py +68 -68
- zaber_motion/dto/requests/device_detect_response.py +57 -57
- zaber_motion/dto/requests/device_empty_request.py +65 -65
- zaber_motion/dto/requests/device_get_all_analog_io_request.py +74 -74
- zaber_motion/dto/requests/device_get_all_analog_io_response.py +54 -54
- zaber_motion/dto/requests/device_get_all_digital_io_request.py +74 -74
- zaber_motion/dto/requests/device_get_all_digital_io_response.py +46 -46
- zaber_motion/dto/requests/device_get_analog_io_request.py +88 -88
- zaber_motion/dto/requests/device_get_digital_io_request.py +88 -88
- zaber_motion/dto/requests/device_get_setting_request.py +100 -100
- zaber_motion/dto/requests/device_get_storage_request.py +93 -93
- zaber_motion/dto/requests/device_get_warnings_request.py +84 -84
- zaber_motion/dto/requests/device_get_warnings_response.py +51 -51
- zaber_motion/dto/requests/device_home_request.py +84 -84
- zaber_motion/dto/requests/device_identify_request.py +77 -77
- zaber_motion/dto/requests/device_move_request.py +177 -177
- zaber_motion/dto/requests/device_move_sin_request.py +140 -140
- zaber_motion/dto/requests/device_multi_get_setting_request.py +118 -118
- zaber_motion/dto/requests/device_on_all_request.py +56 -56
- zaber_motion/dto/requests/device_on_all_response.py +57 -57
- zaber_motion/dto/requests/device_restore_request.py +84 -84
- zaber_motion/dto/requests/device_set_all_analog_outputs_request.py +82 -82
- zaber_motion/dto/requests/device_set_all_analog_outputs_schedule_request.py +121 -121
- zaber_motion/dto/requests/device_set_all_digital_outputs_request.py +83 -83
- zaber_motion/dto/requests/device_set_all_digital_outputs_schedule_request.py +122 -122
- zaber_motion/dto/requests/device_set_analog_output_request.py +90 -90
- zaber_motion/dto/requests/device_set_analog_output_schedule_request.py +124 -124
- zaber_motion/dto/requests/device_set_digital_output_request.py +91 -91
- zaber_motion/dto/requests/device_set_digital_output_schedule_request.py +125 -125
- zaber_motion/dto/requests/device_set_lowpass_filter_request.py +102 -102
- zaber_motion/dto/requests/device_set_setting_bool_request.py +93 -93
- zaber_motion/dto/requests/device_set_setting_int_request.py +102 -102
- zaber_motion/dto/requests/device_set_setting_request.py +111 -111
- zaber_motion/dto/requests/device_set_setting_str_request.py +97 -97
- zaber_motion/dto/requests/device_set_storage_bool_request.py +93 -93
- zaber_motion/dto/requests/device_set_storage_number_request.py +99 -99
- zaber_motion/dto/requests/device_set_storage_request.py +102 -102
- zaber_motion/dto/requests/device_set_unit_conversions_request.py +108 -108
- zaber_motion/dto/requests/device_stop_request.py +84 -84
- zaber_motion/dto/requests/device_storage_list_keys_request.py +88 -88
- zaber_motion/dto/requests/device_storage_request.py +88 -88
- zaber_motion/dto/requests/device_type.py +8 -8
- zaber_motion/dto/requests/device_wait_until_idle_request.py +84 -84
- zaber_motion/dto/requests/disconnected_event.py +101 -101
- zaber_motion/dto/requests/double_array_response.py +54 -54
- zaber_motion/dto/requests/double_response.py +48 -48
- zaber_motion/dto/requests/driver_enable_request.py +90 -90
- zaber_motion/dto/requests/empty_autofocus_request.py +107 -107
- zaber_motion/dto/requests/empty_request.py +38 -38
- zaber_motion/dto/requests/errors.py +68 -68
- zaber_motion/dto/requests/find_device_request.py +65 -65
- zaber_motion/dto/requests/find_device_response.py +51 -51
- zaber_motion/dto/requests/forget_devices_request.py +71 -71
- zaber_motion/dto/requests/gateway_event.py +45 -45
- zaber_motion/dto/requests/gateway_request.py +45 -45
- zaber_motion/dto/requests/gateway_response.py +69 -69
- zaber_motion/dto/requests/generic_binary_request.py +107 -107
- zaber_motion/dto/requests/generic_command_request.py +107 -107
- zaber_motion/dto/requests/generic_command_response_collection.py +56 -56
- zaber_motion/dto/requests/get_all_io_port_labels_response.py +56 -56
- zaber_motion/dto/requests/get_axis_setting_results.py +56 -56
- zaber_motion/dto/requests/get_io_port_label_request.py +91 -91
- zaber_motion/dto/requests/get_setting_results.py +56 -56
- zaber_motion/dto/requests/get_simple_tuning_param_definition_response.py +56 -56
- zaber_motion/dto/requests/int_64_response.py +51 -51
- zaber_motion/dto/requests/int_array_response.py +57 -57
- zaber_motion/dto/requests/int_request.py +51 -51
- zaber_motion/dto/requests/int_response.py +51 -51
- zaber_motion/dto/requests/interface_empty_request.py +51 -51
- zaber_motion/dto/requests/interface_type.py +11 -11
- zaber_motion/dto/requests/load_paramset.py +102 -102
- zaber_motion/dto/requests/lockstep_disable_request.py +84 -84
- zaber_motion/dto/requests/lockstep_empty_request.py +79 -79
- zaber_motion/dto/requests/lockstep_enable_request.py +99 -99
- zaber_motion/dto/requests/lockstep_get_axis_numbers_response.py +57 -57
- zaber_motion/dto/requests/lockstep_get_request.py +91 -91
- zaber_motion/dto/requests/lockstep_home_request.py +84 -84
- zaber_motion/dto/requests/lockstep_move_request.py +163 -163
- zaber_motion/dto/requests/lockstep_move_sin_request.py +140 -140
- zaber_motion/dto/requests/lockstep_set_request.py +116 -116
- zaber_motion/dto/requests/lockstep_stop_request.py +84 -84
- zaber_motion/dto/requests/lockstep_wait_until_idle_request.py +84 -84
- zaber_motion/dto/requests/microscope_config_response.py +50 -50
- zaber_motion/dto/requests/microscope_empty_request.py +65 -65
- zaber_motion/dto/requests/microscope_find_request.py +63 -63
- zaber_motion/dto/requests/microscope_init_request.py +70 -70
- zaber_motion/dto/requests/microscope_trigger_camera_request.py +107 -107
- zaber_motion/dto/requests/objective_changer_change_request.py +119 -119
- zaber_motion/dto/requests/objective_changer_create_response.py +79 -79
- zaber_motion/dto/requests/objective_changer_get_current_response.py +51 -51
- zaber_motion/dto/requests/objective_changer_request.py +93 -93
- zaber_motion/dto/requests/objective_changer_set_request.py +116 -116
- zaber_motion/dto/requests/open_binary_interface_request.py +100 -100
- zaber_motion/dto/requests/open_interface_request.py +159 -159
- zaber_motion/dto/requests/open_interface_response.py +51 -51
- zaber_motion/dto/requests/oscilloscope_add_io_channel_request.py +91 -91
- zaber_motion/dto/requests/oscilloscope_add_setting_channel_request.py +88 -88
- zaber_motion/dto/requests/oscilloscope_data_get_request.py +63 -63
- zaber_motion/dto/requests/oscilloscope_data_get_sample_time_request.py +77 -77
- zaber_motion/dto/requests/oscilloscope_data_get_samples_response.py +54 -54
- zaber_motion/dto/requests/oscilloscope_data_identifier.py +51 -51
- zaber_motion/dto/requests/oscilloscope_read_response.py +57 -57
- zaber_motion/dto/requests/oscilloscope_request.py +65 -65
- zaber_motion/dto/requests/oscilloscope_start_request.py +79 -79
- zaber_motion/dto/requests/prepare_command_request.py +108 -108
- zaber_motion/dto/requests/process_on.py +107 -107
- zaber_motion/dto/requests/pvt_buffer_get_sequence_data_request.py +79 -79
- zaber_motion/dto/requests/pvt_csv_request.py +59 -59
- zaber_motion/dto/requests/pvt_generate_positions_request.py +74 -74
- zaber_motion/dto/requests/pvt_generate_velocities_and_times_request.py +96 -96
- zaber_motion/dto/requests/pvt_generate_velocities_request.py +93 -93
- zaber_motion/dto/requests/pvt_load_csv_request.py +45 -45
- zaber_motion/dto/requests/pvt_point_request.py +145 -145
- zaber_motion/dto/requests/pvt_points_request.py +147 -147
- zaber_motion/dto/requests/pvt_save_csv_request.py +74 -74
- zaber_motion/dto/requests/pvt_submit_sequence_data_request.py +93 -93
- zaber_motion/dto/requests/renumber_request.py +79 -79
- zaber_motion/dto/requests/response_type.py +8 -8
- zaber_motion/dto/requests/servo_tuning_paramset_response.py +48 -48
- zaber_motion/dto/requests/servo_tuning_request.py +91 -91
- zaber_motion/dto/requests/set_device_db_layered_sources_request.py +56 -56
- zaber_motion/dto/requests/set_device_db_source_request.py +63 -63
- zaber_motion/dto/requests/set_interface_checksum_enabled_request.py +56 -56
- zaber_motion/dto/requests/set_interface_timeout_request.py +65 -65
- zaber_motion/dto/requests/set_internal_mode_request.py +43 -43
- zaber_motion/dto/requests/set_io_port_label_request.py +100 -100
- zaber_motion/dto/requests/set_log_output_request.py +57 -57
- zaber_motion/dto/requests/set_process_controller_source.py +93 -93
- zaber_motion/dto/requests/set_servo_tuning_pid_request.py +135 -135
- zaber_motion/dto/requests/set_servo_tuning_request.py +116 -116
- zaber_motion/dto/requests/set_simple_tuning.py +174 -174
- zaber_motion/dto/requests/set_state_request.py +93 -93
- zaber_motion/dto/requests/stream_arc_request.py +199 -199
- zaber_motion/dto/requests/stream_buffer_erase_request.py +84 -84
- zaber_motion/dto/requests/stream_buffer_get_content_request.py +84 -84
- zaber_motion/dto/requests/stream_buffer_get_content_response.py +51 -51
- zaber_motion/dto/requests/stream_buffer_list.py +70 -70
- zaber_motion/dto/requests/stream_call_request.py +112 -112
- zaber_motion/dto/requests/stream_cancel_all_outputs_schedule_request.py +99 -99
- zaber_motion/dto/requests/stream_cancel_output_schedule_request.py +103 -103
- zaber_motion/dto/requests/stream_circle_request.py +155 -155
- zaber_motion/dto/requests/stream_empty_request.py +84 -84
- zaber_motion/dto/requests/stream_generic_command_batch_request.py +99 -99
- zaber_motion/dto/requests/stream_generic_command_request.py +93 -93
- zaber_motion/dto/requests/stream_get_axes_response.py +75 -75
- zaber_motion/dto/requests/stream_get_max_centripetal_acceleration_request.py +96 -96
- zaber_motion/dto/requests/stream_get_max_speed_request.py +96 -96
- zaber_motion/dto/requests/stream_get_max_tangential_acceleration_request.py +96 -96
- zaber_motion/dto/requests/stream_line_request.py +135 -135
- zaber_motion/dto/requests/stream_mode_response.py +60 -60
- zaber_motion/dto/requests/stream_segment_type.py +8 -8
- zaber_motion/dto/requests/stream_set_all_analog_outputs_request.py +101 -101
- zaber_motion/dto/requests/stream_set_all_analog_outputs_schedule_request.py +140 -140
- zaber_motion/dto/requests/stream_set_all_digital_outputs_request.py +102 -102
- zaber_motion/dto/requests/stream_set_all_digital_outputs_schedule_request.py +141 -141
- zaber_motion/dto/requests/stream_set_analog_output_request.py +109 -109
- zaber_motion/dto/requests/stream_set_analog_output_schedule_request.py +143 -143
- zaber_motion/dto/requests/stream_set_digital_output_request.py +110 -110
- zaber_motion/dto/requests/stream_set_digital_output_schedule_request.py +144 -144
- zaber_motion/dto/requests/stream_set_hold_request.py +89 -89
- zaber_motion/dto/requests/stream_set_max_centripetal_acceleration_request.py +107 -107
- zaber_motion/dto/requests/stream_set_max_speed_request.py +107 -107
- zaber_motion/dto/requests/stream_set_max_tangential_acceleration_request.py +107 -107
- zaber_motion/dto/requests/stream_setup_live_composite_request.py +123 -123
- zaber_motion/dto/requests/stream_setup_live_request.py +104 -104
- zaber_motion/dto/requests/stream_setup_store_arbitrary_axes_request.py +126 -126
- zaber_motion/dto/requests/stream_setup_store_composite_request.py +151 -151
- zaber_motion/dto/requests/stream_setup_store_request.py +132 -132
- zaber_motion/dto/requests/stream_wait_analog_input_request.py +118 -118
- zaber_motion/dto/requests/stream_wait_digital_input_request.py +103 -103
- zaber_motion/dto/requests/stream_wait_request.py +107 -107
- zaber_motion/dto/requests/stream_wait_until_idle_request.py +89 -89
- zaber_motion/dto/requests/string_array_response.py +51 -51
- zaber_motion/dto/requests/string_response.py +45 -45
- zaber_motion/dto/requests/test_event.py +45 -45
- zaber_motion/dto/requests/test_request.py +55 -55
- zaber_motion/dto/requests/test_request_complex.py +57 -0
- zaber_motion/dto/requests/test_response.py +45 -45
- zaber_motion/dto/requests/test_response_long.py +51 -51
- zaber_motion/dto/requests/toggle_device_db_store_request.py +50 -50
- zaber_motion/dto/requests/tools_list_serial_ports_response.py +51 -51
- zaber_motion/dto/requests/translator_create_from_device_request.py +97 -97
- zaber_motion/dto/requests/translator_create_live_request.py +91 -91
- zaber_motion/dto/requests/translator_create_request.py +62 -62
- zaber_motion/dto/requests/translator_create_response.py +51 -51
- zaber_motion/dto/requests/translator_empty_request.py +51 -51
- zaber_motion/dto/requests/translator_flush_live_request.py +56 -56
- zaber_motion/dto/requests/translator_flush_response.py +51 -51
- zaber_motion/dto/requests/translator_get_axis_offset_request.py +81 -81
- zaber_motion/dto/requests/translator_get_axis_position_request.py +72 -72
- zaber_motion/dto/requests/translator_set_axis_position_request.py +83 -83
- zaber_motion/dto/requests/translator_set_feed_rate_override_request.py +62 -62
- zaber_motion/dto/requests/translator_set_traverse_rate_request.py +74 -74
- zaber_motion/dto/requests/translator_translate_request.py +60 -60
- zaber_motion/dto/requests/trigger_clear_action_request.py +91 -91
- zaber_motion/dto/requests/trigger_empty_request.py +79 -79
- zaber_motion/dto/requests/trigger_enable_request.py +93 -93
- zaber_motion/dto/requests/trigger_enabled_states.py +56 -56
- zaber_motion/dto/requests/trigger_fire_at_interval_request.py +102 -102
- zaber_motion/dto/requests/trigger_fire_when_distance_travelled_request.py +116 -116
- zaber_motion/dto/requests/trigger_fire_when_io_request.py +128 -128
- zaber_motion/dto/requests/trigger_fire_when_request.py +88 -88
- zaber_motion/dto/requests/trigger_fire_when_setting_request.py +137 -137
- zaber_motion/dto/requests/trigger_on_fire_request.py +114 -114
- zaber_motion/dto/requests/trigger_on_fire_set_request.py +149 -149
- zaber_motion/dto/requests/trigger_on_fire_set_to_setting_request.py +149 -149
- zaber_motion/dto/requests/trigger_set_label_request.py +88 -88
- zaber_motion/dto/requests/trigger_states.py +56 -56
- zaber_motion/dto/requests/unit_convert_unit_request.py +71 -71
- zaber_motion/dto/requests/unit_get_enum_request.py +45 -45
- zaber_motion/dto/requests/unit_get_enum_response.py +48 -48
- zaber_motion/dto/requests/unit_get_symbol_request.py +48 -48
- zaber_motion/dto/requests/unit_get_symbol_response.py +45 -45
- zaber_motion/dto/requests/unknown_binary_response_event_wrapper.py +82 -82
- zaber_motion/dto/requests/unknown_response_event_wrapper.py +82 -82
- zaber_motion/dto/requests/wait_to_clear_warnings_request.py +105 -105
- zaber_motion/dto/requests/wait_to_respond_request.py +76 -76
- zaber_motion/dto/requests/wdi_generic_float_request.py +119 -0
- zaber_motion/dto/requests/wdi_generic_request.py +136 -136
- zaber_motion/dto/requests/wdi_get_status_response.py +50 -50
- zaber_motion/dto/rotation_direction.py +13 -13
- zaber_motion/dto_object.py +18 -18
- zaber_motion/events.py +112 -112
- zaber_motion/exceptions/__init__.py +87 -87
- zaber_motion/exceptions/bad_command_exception.py +10 -10
- zaber_motion/exceptions/bad_data_exception.py +10 -10
- zaber_motion/exceptions/binary_command_failed_exception.py +27 -27
- zaber_motion/exceptions/command_failed_exception.py +27 -27
- zaber_motion/exceptions/command_preempted_exception.py +10 -10
- zaber_motion/exceptions/command_too_long_exception.py +27 -27
- zaber_motion/exceptions/connection_closed_exception.py +10 -10
- zaber_motion/exceptions/connection_failed_exception.py +10 -10
- zaber_motion/exceptions/conversion_failed_exception.py +10 -10
- zaber_motion/exceptions/device_address_conflict_exception.py +27 -27
- zaber_motion/exceptions/device_busy_exception.py +10 -10
- zaber_motion/exceptions/device_db_failed_exception.py +27 -27
- zaber_motion/exceptions/device_detection_failed_exception.py +10 -10
- zaber_motion/exceptions/device_failed_exception.py +11 -11
- zaber_motion/exceptions/device_not_identified_exception.py +10 -10
- zaber_motion/exceptions/driver_disabled_exception.py +10 -10
- zaber_motion/exceptions/g_code_execution_exception.py +27 -27
- zaber_motion/exceptions/g_code_syntax_exception.py +27 -27
- zaber_motion/exceptions/incompatible_shared_library_exception.py +11 -11
- zaber_motion/exceptions/internal_error_exception.py +10 -10
- zaber_motion/exceptions/invalid_argument_exception.py +10 -10
- zaber_motion/exceptions/invalid_csv_data_exception.py +10 -10
- zaber_motion/exceptions/invalid_data_exception.py +10 -10
- zaber_motion/exceptions/invalid_operation_exception.py +10 -10
- zaber_motion/exceptions/invalid_packet_exception.py +27 -27
- zaber_motion/exceptions/invalid_park_state_exception.py +10 -10
- zaber_motion/exceptions/invalid_request_data_exception.py +11 -11
- zaber_motion/exceptions/invalid_response_exception.py +27 -27
- zaber_motion/exceptions/io_channel_out_of_range_exception.py +10 -10
- zaber_motion/exceptions/io_failed_exception.py +10 -10
- zaber_motion/exceptions/lockstep_enabled_exception.py +10 -10
- zaber_motion/exceptions/lockstep_not_enabled_exception.py +10 -10
- zaber_motion/exceptions/motion_lib_exception.py +18 -18
- zaber_motion/exceptions/movement_failed_exception.py +27 -27
- zaber_motion/exceptions/movement_interrupted_exception.py +27 -27
- zaber_motion/exceptions/no_device_found_exception.py +10 -10
- zaber_motion/exceptions/no_value_for_key_exception.py +10 -10
- zaber_motion/exceptions/not_supported_exception.py +10 -10
- zaber_motion/exceptions/operation_failed_exception.py +27 -27
- zaber_motion/exceptions/os_failed_exception.py +10 -10
- zaber_motion/exceptions/out_of_request_ids_exception.py +10 -10
- zaber_motion/exceptions/pvt_discontinuity_exception.py +10 -10
- zaber_motion/exceptions/pvt_execution_exception.py +27 -27
- zaber_motion/exceptions/pvt_mode_exception.py +10 -10
- zaber_motion/exceptions/pvt_movement_failed_exception.py +27 -27
- zaber_motion/exceptions/pvt_movement_interrupted_exception.py +27 -27
- zaber_motion/exceptions/pvt_sequence_generation_failed_exception.py +10 -10
- zaber_motion/exceptions/pvt_setup_failed_exception.py +10 -10
- zaber_motion/exceptions/remote_mode_exception.py +11 -11
- zaber_motion/exceptions/request_timeout_exception.py +10 -10
- zaber_motion/exceptions/serial_port_busy_exception.py +10 -10
- zaber_motion/exceptions/set_device_state_failed_exception.py +27 -27
- zaber_motion/exceptions/set_peripheral_state_failed_exception.py +27 -27
- zaber_motion/exceptions/setting_not_found_exception.py +10 -10
- zaber_motion/exceptions/stream_discontinuity_exception.py +10 -10
- zaber_motion/exceptions/stream_execution_exception.py +27 -27
- zaber_motion/exceptions/stream_mode_exception.py +10 -10
- zaber_motion/exceptions/stream_movement_failed_exception.py +27 -27
- zaber_motion/exceptions/stream_movement_interrupted_exception.py +27 -27
- zaber_motion/exceptions/stream_setup_failed_exception.py +10 -10
- zaber_motion/exceptions/timeout_exception.py +10 -10
- zaber_motion/exceptions/transport_already_used_exception.py +10 -10
- zaber_motion/exceptions/unknown_request_exception.py +10 -10
- zaber_motion/gcode/__init__.py +11 -11
- zaber_motion/gcode/offline_translator.py +401 -401
- zaber_motion/gcode/translator.py +424 -424
- zaber_motion/library.py +179 -179
- zaber_motion/microscopy/__init__.py +14 -14
- zaber_motion/microscopy/autofocus.py +645 -645
- zaber_motion/microscopy/camera_trigger.py +108 -108
- zaber_motion/microscopy/filter_changer.py +167 -167
- zaber_motion/microscopy/illuminator.py +139 -139
- zaber_motion/microscopy/illuminator_channel.py +616 -616
- zaber_motion/microscopy/microscope.py +315 -315
- zaber_motion/microscopy/objective_changer.py +403 -403
- zaber_motion/microscopy/wdi_autofocus_provider.py +536 -396
- zaber_motion/product/__init__.py +7 -7
- zaber_motion/product/process.py +818 -818
- zaber_motion/product/process_controller.py +134 -134
- zaber_motion/serialization.py +32 -32
- zaber_motion/tools.py +78 -78
- zaber_motion/unit_table.py +86 -86
- zaber_motion/units.py +206 -206
- zaber_motion/version.py +1 -1
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.14.0.dist-info}/LICENSE.txt +2119 -2119
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.14.0.dist-info}/METADATA +1 -1
- zaber_motion-7.14.0.dist-info/RECORD +496 -0
- zaber_motion_bindings/zaber-motion-core-windows-amd64.dll +0 -0
- zaber_motion-7.13.0.dist-info/RECORD +0 -494
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.14.0.dist-info}/WHEEL +0 -0
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.14.0.dist-info}/top_level.txt +0 -0
|
@@ -1,752 +1,752 @@
|
|
|
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
|
-
from ..dto.ascii.conversion_factor import ConversionFactor
|
|
10
|
-
from ..dto.ascii.get_axis_setting import GetAxisSetting
|
|
11
|
-
from ..dto.ascii.get_axis_setting_result import GetAxisSettingResult
|
|
12
|
-
|
|
13
|
-
if TYPE_CHECKING:
|
|
14
|
-
from .axis import Axis
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
class AxisSettings:
|
|
18
|
-
"""
|
|
19
|
-
Class providing access to various axis settings and properties.
|
|
20
|
-
"""
|
|
21
|
-
|
|
22
|
-
def __init__(self, axis: 'Axis'):
|
|
23
|
-
self._axis: 'Axis' = axis
|
|
24
|
-
|
|
25
|
-
def get(
|
|
26
|
-
self,
|
|
27
|
-
setting: str,
|
|
28
|
-
unit: UnitsAndLiterals = Units.NATIVE
|
|
29
|
-
) -> float:
|
|
30
|
-
"""
|
|
31
|
-
Returns any axis 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._axis.device.connection.interface_id,
|
|
43
|
-
device=self._axis.device.device_address,
|
|
44
|
-
axis=self._axis.axis_number,
|
|
45
|
-
setting=setting,
|
|
46
|
-
unit=unit,
|
|
47
|
-
)
|
|
48
|
-
response = call(
|
|
49
|
-
"device/get_setting",
|
|
50
|
-
request,
|
|
51
|
-
dto.DoubleResponse.from_binary)
|
|
52
|
-
return response.value
|
|
53
|
-
|
|
54
|
-
async def get_async(
|
|
55
|
-
self,
|
|
56
|
-
setting: str,
|
|
57
|
-
unit: UnitsAndLiterals = Units.NATIVE
|
|
58
|
-
) -> float:
|
|
59
|
-
"""
|
|
60
|
-
Returns any axis setting or property.
|
|
61
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
62
|
-
|
|
63
|
-
Args:
|
|
64
|
-
setting: Name of the setting.
|
|
65
|
-
unit: Units of setting.
|
|
66
|
-
|
|
67
|
-
Returns:
|
|
68
|
-
Setting value.
|
|
69
|
-
"""
|
|
70
|
-
request = dto.DeviceGetSettingRequest(
|
|
71
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
72
|
-
device=self._axis.device.device_address,
|
|
73
|
-
axis=self._axis.axis_number,
|
|
74
|
-
setting=setting,
|
|
75
|
-
unit=unit,
|
|
76
|
-
)
|
|
77
|
-
response = await call_async(
|
|
78
|
-
"device/get_setting",
|
|
79
|
-
request,
|
|
80
|
-
dto.DoubleResponse.from_binary)
|
|
81
|
-
return response.value
|
|
82
|
-
|
|
83
|
-
def set(
|
|
84
|
-
self,
|
|
85
|
-
setting: str,
|
|
86
|
-
value: float,
|
|
87
|
-
unit: UnitsAndLiterals = Units.NATIVE
|
|
88
|
-
) -> None:
|
|
89
|
-
"""
|
|
90
|
-
Sets any axis setting.
|
|
91
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
92
|
-
|
|
93
|
-
Args:
|
|
94
|
-
setting: Name of the setting.
|
|
95
|
-
value: Value of the setting.
|
|
96
|
-
unit: Units of setting.
|
|
97
|
-
"""
|
|
98
|
-
request = dto.DeviceSetSettingRequest(
|
|
99
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
100
|
-
device=self._axis.device.device_address,
|
|
101
|
-
axis=self._axis.axis_number,
|
|
102
|
-
setting=setting,
|
|
103
|
-
value=value,
|
|
104
|
-
unit=unit,
|
|
105
|
-
)
|
|
106
|
-
call("device/set_setting", request)
|
|
107
|
-
|
|
108
|
-
async def set_async(
|
|
109
|
-
self,
|
|
110
|
-
setting: str,
|
|
111
|
-
value: float,
|
|
112
|
-
unit: UnitsAndLiterals = Units.NATIVE
|
|
113
|
-
) -> None:
|
|
114
|
-
"""
|
|
115
|
-
Sets any axis setting.
|
|
116
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
117
|
-
|
|
118
|
-
Args:
|
|
119
|
-
setting: Name of the setting.
|
|
120
|
-
value: Value of the setting.
|
|
121
|
-
unit: Units of setting.
|
|
122
|
-
"""
|
|
123
|
-
request = dto.DeviceSetSettingRequest(
|
|
124
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
125
|
-
device=self._axis.device.device_address,
|
|
126
|
-
axis=self._axis.axis_number,
|
|
127
|
-
setting=setting,
|
|
128
|
-
value=value,
|
|
129
|
-
unit=unit,
|
|
130
|
-
)
|
|
131
|
-
await call_async("device/set_setting", request)
|
|
132
|
-
|
|
133
|
-
def get_string(
|
|
134
|
-
self,
|
|
135
|
-
setting: str
|
|
136
|
-
) -> str:
|
|
137
|
-
"""
|
|
138
|
-
Returns any axis setting or property as a string.
|
|
139
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
140
|
-
|
|
141
|
-
Args:
|
|
142
|
-
setting: Name of the setting.
|
|
143
|
-
|
|
144
|
-
Returns:
|
|
145
|
-
Setting value.
|
|
146
|
-
"""
|
|
147
|
-
request = dto.DeviceGetSettingRequest(
|
|
148
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
149
|
-
device=self._axis.device.device_address,
|
|
150
|
-
axis=self._axis.axis_number,
|
|
151
|
-
setting=setting,
|
|
152
|
-
)
|
|
153
|
-
response = call(
|
|
154
|
-
"device/get_setting_str",
|
|
155
|
-
request,
|
|
156
|
-
dto.StringResponse.from_binary)
|
|
157
|
-
return response.value
|
|
158
|
-
|
|
159
|
-
async def get_string_async(
|
|
160
|
-
self,
|
|
161
|
-
setting: str
|
|
162
|
-
) -> str:
|
|
163
|
-
"""
|
|
164
|
-
Returns any axis setting or property as a string.
|
|
165
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
166
|
-
|
|
167
|
-
Args:
|
|
168
|
-
setting: Name of the setting.
|
|
169
|
-
|
|
170
|
-
Returns:
|
|
171
|
-
Setting value.
|
|
172
|
-
"""
|
|
173
|
-
request = dto.DeviceGetSettingRequest(
|
|
174
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
175
|
-
device=self._axis.device.device_address,
|
|
176
|
-
axis=self._axis.axis_number,
|
|
177
|
-
setting=setting,
|
|
178
|
-
)
|
|
179
|
-
response = await call_async(
|
|
180
|
-
"device/get_setting_str",
|
|
181
|
-
request,
|
|
182
|
-
dto.StringResponse.from_binary)
|
|
183
|
-
return response.value
|
|
184
|
-
|
|
185
|
-
def set_string(
|
|
186
|
-
self,
|
|
187
|
-
setting: str,
|
|
188
|
-
value: str
|
|
189
|
-
) -> None:
|
|
190
|
-
"""
|
|
191
|
-
Sets any axis setting as a string.
|
|
192
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
193
|
-
|
|
194
|
-
Args:
|
|
195
|
-
setting: Name of the setting.
|
|
196
|
-
value: Value of the setting.
|
|
197
|
-
"""
|
|
198
|
-
request = dto.DeviceSetSettingStrRequest(
|
|
199
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
200
|
-
device=self._axis.device.device_address,
|
|
201
|
-
axis=self._axis.axis_number,
|
|
202
|
-
setting=setting,
|
|
203
|
-
value=value,
|
|
204
|
-
)
|
|
205
|
-
call("device/set_setting_str", request)
|
|
206
|
-
|
|
207
|
-
async def set_string_async(
|
|
208
|
-
self,
|
|
209
|
-
setting: str,
|
|
210
|
-
value: str
|
|
211
|
-
) -> None:
|
|
212
|
-
"""
|
|
213
|
-
Sets any axis setting as a string.
|
|
214
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
215
|
-
|
|
216
|
-
Args:
|
|
217
|
-
setting: Name of the setting.
|
|
218
|
-
value: Value of the setting.
|
|
219
|
-
"""
|
|
220
|
-
request = dto.DeviceSetSettingStrRequest(
|
|
221
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
222
|
-
device=self._axis.device.device_address,
|
|
223
|
-
axis=self._axis.axis_number,
|
|
224
|
-
setting=setting,
|
|
225
|
-
value=value,
|
|
226
|
-
)
|
|
227
|
-
await call_async("device/set_setting_str", request)
|
|
228
|
-
|
|
229
|
-
def get_int(
|
|
230
|
-
self,
|
|
231
|
-
setting: str
|
|
232
|
-
) -> int:
|
|
233
|
-
"""
|
|
234
|
-
Returns any axis setting or property as an integer.
|
|
235
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
236
|
-
|
|
237
|
-
Args:
|
|
238
|
-
setting: Name of the setting.
|
|
239
|
-
|
|
240
|
-
Returns:
|
|
241
|
-
Setting value.
|
|
242
|
-
"""
|
|
243
|
-
request = dto.DeviceGetSettingRequest(
|
|
244
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
245
|
-
device=self._axis.device.device_address,
|
|
246
|
-
axis=self._axis.axis_number,
|
|
247
|
-
setting=setting,
|
|
248
|
-
)
|
|
249
|
-
response = call(
|
|
250
|
-
"device/get_setting_int",
|
|
251
|
-
request,
|
|
252
|
-
dto.Int64Response.from_binary)
|
|
253
|
-
return response.value
|
|
254
|
-
|
|
255
|
-
async def get_int_async(
|
|
256
|
-
self,
|
|
257
|
-
setting: str
|
|
258
|
-
) -> int:
|
|
259
|
-
"""
|
|
260
|
-
Returns any axis setting or property as an integer.
|
|
261
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
262
|
-
|
|
263
|
-
Args:
|
|
264
|
-
setting: Name of the setting.
|
|
265
|
-
|
|
266
|
-
Returns:
|
|
267
|
-
Setting value.
|
|
268
|
-
"""
|
|
269
|
-
request = dto.DeviceGetSettingRequest(
|
|
270
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
271
|
-
device=self._axis.device.device_address,
|
|
272
|
-
axis=self._axis.axis_number,
|
|
273
|
-
setting=setting,
|
|
274
|
-
)
|
|
275
|
-
response = await call_async(
|
|
276
|
-
"device/get_setting_int",
|
|
277
|
-
request,
|
|
278
|
-
dto.Int64Response.from_binary)
|
|
279
|
-
return response.value
|
|
280
|
-
|
|
281
|
-
def set_int(
|
|
282
|
-
self,
|
|
283
|
-
setting: str,
|
|
284
|
-
value: int
|
|
285
|
-
) -> None:
|
|
286
|
-
"""
|
|
287
|
-
Sets any axis setting or property as an integer.
|
|
288
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
289
|
-
|
|
290
|
-
Args:
|
|
291
|
-
setting: Name of the setting.
|
|
292
|
-
value: Value of the setting.
|
|
293
|
-
"""
|
|
294
|
-
request = dto.DeviceSetSettingIntRequest(
|
|
295
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
296
|
-
device=self._axis.device.device_address,
|
|
297
|
-
axis=self._axis.axis_number,
|
|
298
|
-
setting=setting,
|
|
299
|
-
value=value,
|
|
300
|
-
)
|
|
301
|
-
call("device/set_setting_int", request)
|
|
302
|
-
|
|
303
|
-
async def set_int_async(
|
|
304
|
-
self,
|
|
305
|
-
setting: str,
|
|
306
|
-
value: int
|
|
307
|
-
) -> None:
|
|
308
|
-
"""
|
|
309
|
-
Sets any axis setting or property as an integer.
|
|
310
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
311
|
-
|
|
312
|
-
Args:
|
|
313
|
-
setting: Name of the setting.
|
|
314
|
-
value: Value of the setting.
|
|
315
|
-
"""
|
|
316
|
-
request = dto.DeviceSetSettingIntRequest(
|
|
317
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
318
|
-
device=self._axis.device.device_address,
|
|
319
|
-
axis=self._axis.axis_number,
|
|
320
|
-
setting=setting,
|
|
321
|
-
value=value,
|
|
322
|
-
)
|
|
323
|
-
await call_async("device/set_setting_int", request)
|
|
324
|
-
|
|
325
|
-
def get_bool(
|
|
326
|
-
self,
|
|
327
|
-
setting: str
|
|
328
|
-
) -> bool:
|
|
329
|
-
"""
|
|
330
|
-
Returns any axis setting or property as a boolean.
|
|
331
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
332
|
-
|
|
333
|
-
Args:
|
|
334
|
-
setting: Name of the setting.
|
|
335
|
-
|
|
336
|
-
Returns:
|
|
337
|
-
Setting value.
|
|
338
|
-
"""
|
|
339
|
-
request = dto.DeviceGetSettingRequest(
|
|
340
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
341
|
-
device=self._axis.device.device_address,
|
|
342
|
-
axis=self._axis.axis_number,
|
|
343
|
-
setting=setting,
|
|
344
|
-
)
|
|
345
|
-
response = call(
|
|
346
|
-
"device/get_setting_bool",
|
|
347
|
-
request,
|
|
348
|
-
dto.BoolResponse.from_binary)
|
|
349
|
-
return response.value
|
|
350
|
-
|
|
351
|
-
async def get_bool_async(
|
|
352
|
-
self,
|
|
353
|
-
setting: str
|
|
354
|
-
) -> bool:
|
|
355
|
-
"""
|
|
356
|
-
Returns any axis setting or property as a boolean.
|
|
357
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
358
|
-
|
|
359
|
-
Args:
|
|
360
|
-
setting: Name of the setting.
|
|
361
|
-
|
|
362
|
-
Returns:
|
|
363
|
-
Setting value.
|
|
364
|
-
"""
|
|
365
|
-
request = dto.DeviceGetSettingRequest(
|
|
366
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
367
|
-
device=self._axis.device.device_address,
|
|
368
|
-
axis=self._axis.axis_number,
|
|
369
|
-
setting=setting,
|
|
370
|
-
)
|
|
371
|
-
response = await call_async(
|
|
372
|
-
"device/get_setting_bool",
|
|
373
|
-
request,
|
|
374
|
-
dto.BoolResponse.from_binary)
|
|
375
|
-
return response.value
|
|
376
|
-
|
|
377
|
-
def set_bool(
|
|
378
|
-
self,
|
|
379
|
-
setting: str,
|
|
380
|
-
value: bool
|
|
381
|
-
) -> None:
|
|
382
|
-
"""
|
|
383
|
-
Sets any axis setting as a boolean.
|
|
384
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
385
|
-
|
|
386
|
-
Args:
|
|
387
|
-
setting: Name of the setting.
|
|
388
|
-
value: Value of the setting.
|
|
389
|
-
"""
|
|
390
|
-
request = dto.DeviceSetSettingBoolRequest(
|
|
391
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
392
|
-
device=self._axis.device.device_address,
|
|
393
|
-
axis=self._axis.axis_number,
|
|
394
|
-
setting=setting,
|
|
395
|
-
value=value,
|
|
396
|
-
)
|
|
397
|
-
call("device/set_setting_bool", request)
|
|
398
|
-
|
|
399
|
-
async def set_bool_async(
|
|
400
|
-
self,
|
|
401
|
-
setting: str,
|
|
402
|
-
value: bool
|
|
403
|
-
) -> None:
|
|
404
|
-
"""
|
|
405
|
-
Sets any axis setting as a boolean.
|
|
406
|
-
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
407
|
-
|
|
408
|
-
Args:
|
|
409
|
-
setting: Name of the setting.
|
|
410
|
-
value: Value of the setting.
|
|
411
|
-
"""
|
|
412
|
-
request = dto.DeviceSetSettingBoolRequest(
|
|
413
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
414
|
-
device=self._axis.device.device_address,
|
|
415
|
-
axis=self._axis.axis_number,
|
|
416
|
-
setting=setting,
|
|
417
|
-
value=value,
|
|
418
|
-
)
|
|
419
|
-
await call_async("device/set_setting_bool", request)
|
|
420
|
-
|
|
421
|
-
def convert_to_native_units(
|
|
422
|
-
self,
|
|
423
|
-
setting: str,
|
|
424
|
-
value: float,
|
|
425
|
-
unit: UnitsAndLiterals
|
|
426
|
-
) -> float:
|
|
427
|
-
"""
|
|
428
|
-
Convert arbitrary setting value to Zaber native units.
|
|
429
|
-
|
|
430
|
-
Args:
|
|
431
|
-
setting: Name of the setting.
|
|
432
|
-
value: Value of the setting in units specified by following argument.
|
|
433
|
-
unit: Units of the value.
|
|
434
|
-
|
|
435
|
-
Returns:
|
|
436
|
-
Setting value.
|
|
437
|
-
"""
|
|
438
|
-
request = dto.DeviceConvertSettingRequest(
|
|
439
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
440
|
-
device=self._axis.device.device_address,
|
|
441
|
-
axis=self._axis.axis_number,
|
|
442
|
-
setting=setting,
|
|
443
|
-
value=value,
|
|
444
|
-
unit=unit,
|
|
445
|
-
)
|
|
446
|
-
response = call_sync(
|
|
447
|
-
"device/convert_setting",
|
|
448
|
-
request,
|
|
449
|
-
dto.DoubleResponse.from_binary)
|
|
450
|
-
return response.value
|
|
451
|
-
|
|
452
|
-
def convert_from_native_units(
|
|
453
|
-
self,
|
|
454
|
-
setting: str,
|
|
455
|
-
value: float,
|
|
456
|
-
unit: UnitsAndLiterals
|
|
457
|
-
) -> float:
|
|
458
|
-
"""
|
|
459
|
-
Convert arbitrary setting value from Zaber native units.
|
|
460
|
-
|
|
461
|
-
Args:
|
|
462
|
-
setting: Name of the setting.
|
|
463
|
-
value: Value of the setting in Zaber native units.
|
|
464
|
-
unit: Units to convert value to.
|
|
465
|
-
|
|
466
|
-
Returns:
|
|
467
|
-
Setting value.
|
|
468
|
-
"""
|
|
469
|
-
request = dto.DeviceConvertSettingRequest(
|
|
470
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
471
|
-
device=self._axis.device.device_address,
|
|
472
|
-
axis=self._axis.axis_number,
|
|
473
|
-
from_native=True,
|
|
474
|
-
setting=setting,
|
|
475
|
-
value=value,
|
|
476
|
-
unit=unit,
|
|
477
|
-
)
|
|
478
|
-
response = call_sync(
|
|
479
|
-
"device/convert_setting",
|
|
480
|
-
request,
|
|
481
|
-
dto.DoubleResponse.from_binary)
|
|
482
|
-
return response.value
|
|
483
|
-
|
|
484
|
-
def get_default(
|
|
485
|
-
self,
|
|
486
|
-
setting: str,
|
|
487
|
-
unit: UnitsAndLiterals = Units.NATIVE
|
|
488
|
-
) -> float:
|
|
489
|
-
"""
|
|
490
|
-
Returns the default value of a setting.
|
|
491
|
-
|
|
492
|
-
Args:
|
|
493
|
-
setting: Name of the setting.
|
|
494
|
-
unit: Units of setting.
|
|
495
|
-
|
|
496
|
-
Returns:
|
|
497
|
-
Default setting value.
|
|
498
|
-
"""
|
|
499
|
-
request = dto.DeviceGetSettingRequest(
|
|
500
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
501
|
-
device=self._axis.device.device_address,
|
|
502
|
-
axis=self._axis.axis_number,
|
|
503
|
-
setting=setting,
|
|
504
|
-
unit=unit,
|
|
505
|
-
)
|
|
506
|
-
response = call_sync(
|
|
507
|
-
"device/get_setting_default",
|
|
508
|
-
request,
|
|
509
|
-
dto.DoubleResponse.from_binary)
|
|
510
|
-
return response.value
|
|
511
|
-
|
|
512
|
-
def get_default_string(
|
|
513
|
-
self,
|
|
514
|
-
setting: str
|
|
515
|
-
) -> str:
|
|
516
|
-
"""
|
|
517
|
-
Returns the default value of a setting as a string.
|
|
518
|
-
|
|
519
|
-
Args:
|
|
520
|
-
setting: Name of the setting.
|
|
521
|
-
|
|
522
|
-
Returns:
|
|
523
|
-
Default setting value.
|
|
524
|
-
"""
|
|
525
|
-
request = dto.DeviceGetSettingRequest(
|
|
526
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
527
|
-
device=self._axis.device.device_address,
|
|
528
|
-
axis=self._axis.axis_number,
|
|
529
|
-
setting=setting,
|
|
530
|
-
)
|
|
531
|
-
response = call_sync(
|
|
532
|
-
"device/get_setting_default_str",
|
|
533
|
-
request,
|
|
534
|
-
dto.StringResponse.from_binary)
|
|
535
|
-
return response.value
|
|
536
|
-
|
|
537
|
-
def get_default_int(
|
|
538
|
-
self,
|
|
539
|
-
setting: str
|
|
540
|
-
) -> int:
|
|
541
|
-
"""
|
|
542
|
-
Returns the default value of a setting as an integer.
|
|
543
|
-
|
|
544
|
-
Args:
|
|
545
|
-
setting: Name of the setting.
|
|
546
|
-
|
|
547
|
-
Returns:
|
|
548
|
-
Default setting value.
|
|
549
|
-
"""
|
|
550
|
-
request = dto.DeviceGetSettingRequest(
|
|
551
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
552
|
-
device=self._axis.device.device_address,
|
|
553
|
-
axis=self._axis.axis_number,
|
|
554
|
-
setting=setting,
|
|
555
|
-
)
|
|
556
|
-
response = call_sync(
|
|
557
|
-
"device/get_setting_default_int",
|
|
558
|
-
request,
|
|
559
|
-
dto.Int64Response.from_binary)
|
|
560
|
-
return response.value
|
|
561
|
-
|
|
562
|
-
def get_default_bool(
|
|
563
|
-
self,
|
|
564
|
-
setting: str
|
|
565
|
-
) -> bool:
|
|
566
|
-
"""
|
|
567
|
-
Returns the default value of a setting as a boolean.
|
|
568
|
-
|
|
569
|
-
Args:
|
|
570
|
-
setting: Name of the setting.
|
|
571
|
-
|
|
572
|
-
Returns:
|
|
573
|
-
Default setting value.
|
|
574
|
-
"""
|
|
575
|
-
request = dto.DeviceGetSettingRequest(
|
|
576
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
577
|
-
device=self._axis.device.device_address,
|
|
578
|
-
axis=self._axis.axis_number,
|
|
579
|
-
setting=setting,
|
|
580
|
-
)
|
|
581
|
-
response = call_sync(
|
|
582
|
-
"device/get_setting_default_bool",
|
|
583
|
-
request,
|
|
584
|
-
dto.BoolResponse.from_binary)
|
|
585
|
-
return response.value
|
|
586
|
-
|
|
587
|
-
def can_convert_native_units(
|
|
588
|
-
self,
|
|
589
|
-
setting: str
|
|
590
|
-
) -> bool:
|
|
591
|
-
"""
|
|
592
|
-
Indicates if given setting can be converted from and to native units.
|
|
593
|
-
|
|
594
|
-
Args:
|
|
595
|
-
setting: Name of the setting.
|
|
596
|
-
|
|
597
|
-
Returns:
|
|
598
|
-
True if unit conversion can be performed.
|
|
599
|
-
"""
|
|
600
|
-
request = dto.DeviceGetSettingRequest(
|
|
601
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
602
|
-
device=self._axis.device.device_address,
|
|
603
|
-
axis=self._axis.axis_number,
|
|
604
|
-
setting=setting,
|
|
605
|
-
)
|
|
606
|
-
response = call_sync(
|
|
607
|
-
"device/can_convert_setting",
|
|
608
|
-
request,
|
|
609
|
-
dto.BoolResponse.from_binary)
|
|
610
|
-
return response.value
|
|
611
|
-
|
|
612
|
-
def set_custom_unit_conversions(
|
|
613
|
-
self,
|
|
614
|
-
conversions: List[ConversionFactor]
|
|
615
|
-
) -> None:
|
|
616
|
-
"""
|
|
617
|
-
Overrides default unit conversions.
|
|
618
|
-
Conversion factors are specified by setting names representing underlying dimensions.
|
|
619
|
-
Requires at least Firmware 7.30.
|
|
620
|
-
|
|
621
|
-
Args:
|
|
622
|
-
conversions: Factors of all conversions to override.
|
|
623
|
-
"""
|
|
624
|
-
request = dto.DeviceSetUnitConversionsRequest(
|
|
625
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
626
|
-
device=self._axis.device.device_address,
|
|
627
|
-
axis=self._axis.axis_number,
|
|
628
|
-
conversions=conversions,
|
|
629
|
-
)
|
|
630
|
-
call("device/set_unit_conversions", request)
|
|
631
|
-
|
|
632
|
-
async def set_custom_unit_conversions_async(
|
|
633
|
-
self,
|
|
634
|
-
conversions: List[ConversionFactor]
|
|
635
|
-
) -> None:
|
|
636
|
-
"""
|
|
637
|
-
Overrides default unit conversions.
|
|
638
|
-
Conversion factors are specified by setting names representing underlying dimensions.
|
|
639
|
-
Requires at least Firmware 7.30.
|
|
640
|
-
|
|
641
|
-
Args:
|
|
642
|
-
conversions: Factors of all conversions to override.
|
|
643
|
-
"""
|
|
644
|
-
request = dto.DeviceSetUnitConversionsRequest(
|
|
645
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
646
|
-
device=self._axis.device.device_address,
|
|
647
|
-
axis=self._axis.axis_number,
|
|
648
|
-
conversions=conversions,
|
|
649
|
-
)
|
|
650
|
-
await call_async("device/set_unit_conversions", request)
|
|
651
|
-
|
|
652
|
-
def get_many(
|
|
653
|
-
self,
|
|
654
|
-
*axis_settings: GetAxisSetting
|
|
655
|
-
) -> List[GetAxisSettingResult]:
|
|
656
|
-
"""
|
|
657
|
-
Gets many setting values in as few requests as possible.
|
|
658
|
-
|
|
659
|
-
Args:
|
|
660
|
-
axis_settings: The settings to read.
|
|
661
|
-
|
|
662
|
-
Returns:
|
|
663
|
-
The setting values read.
|
|
664
|
-
"""
|
|
665
|
-
request = dto.DeviceMultiGetSettingRequest(
|
|
666
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
667
|
-
device=self._axis.device.device_address,
|
|
668
|
-
axis=self._axis.axis_number,
|
|
669
|
-
axis_settings=list(axis_settings),
|
|
670
|
-
)
|
|
671
|
-
response = call(
|
|
672
|
-
"device/get_many_axis_settings",
|
|
673
|
-
request,
|
|
674
|
-
dto.GetAxisSettingResults.from_binary)
|
|
675
|
-
return response.results
|
|
676
|
-
|
|
677
|
-
async def get_many_async(
|
|
678
|
-
self,
|
|
679
|
-
*axis_settings: GetAxisSetting
|
|
680
|
-
) -> List[GetAxisSettingResult]:
|
|
681
|
-
"""
|
|
682
|
-
Gets many setting values in as few requests as possible.
|
|
683
|
-
|
|
684
|
-
Args:
|
|
685
|
-
axis_settings: The settings to read.
|
|
686
|
-
|
|
687
|
-
Returns:
|
|
688
|
-
The setting values read.
|
|
689
|
-
"""
|
|
690
|
-
request = dto.DeviceMultiGetSettingRequest(
|
|
691
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
692
|
-
device=self._axis.device.device_address,
|
|
693
|
-
axis=self._axis.axis_number,
|
|
694
|
-
axis_settings=list(axis_settings),
|
|
695
|
-
)
|
|
696
|
-
response = await call_async(
|
|
697
|
-
"device/get_many_axis_settings",
|
|
698
|
-
request,
|
|
699
|
-
dto.GetAxisSettingResults.from_binary)
|
|
700
|
-
return response.results
|
|
701
|
-
|
|
702
|
-
def get_synchronized(
|
|
703
|
-
self,
|
|
704
|
-
*axis_settings: GetAxisSetting
|
|
705
|
-
) -> List[GetAxisSettingResult]:
|
|
706
|
-
"""
|
|
707
|
-
Gets many setting values in the same tick, ensuring their values are synchronized.
|
|
708
|
-
Requires at least Firmware 7.35.
|
|
709
|
-
|
|
710
|
-
Args:
|
|
711
|
-
axis_settings: The settings to read.
|
|
712
|
-
|
|
713
|
-
Returns:
|
|
714
|
-
The setting values read.
|
|
715
|
-
"""
|
|
716
|
-
request = dto.DeviceMultiGetSettingRequest(
|
|
717
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
718
|
-
device=self._axis.device.device_address,
|
|
719
|
-
axis=self._axis.axis_number,
|
|
720
|
-
axis_settings=list(axis_settings),
|
|
721
|
-
)
|
|
722
|
-
response = call(
|
|
723
|
-
"device/get_sync_axis_settings",
|
|
724
|
-
request,
|
|
725
|
-
dto.GetAxisSettingResults.from_binary)
|
|
726
|
-
return response.results
|
|
727
|
-
|
|
728
|
-
async def get_synchronized_async(
|
|
729
|
-
self,
|
|
730
|
-
*axis_settings: GetAxisSetting
|
|
731
|
-
) -> List[GetAxisSettingResult]:
|
|
732
|
-
"""
|
|
733
|
-
Gets many setting values in the same tick, ensuring their values are synchronized.
|
|
734
|
-
Requires at least Firmware 7.35.
|
|
735
|
-
|
|
736
|
-
Args:
|
|
737
|
-
axis_settings: The settings to read.
|
|
738
|
-
|
|
739
|
-
Returns:
|
|
740
|
-
The setting values read.
|
|
741
|
-
"""
|
|
742
|
-
request = dto.DeviceMultiGetSettingRequest(
|
|
743
|
-
interface_id=self._axis.device.connection.interface_id,
|
|
744
|
-
device=self._axis.device.device_address,
|
|
745
|
-
axis=self._axis.axis_number,
|
|
746
|
-
axis_settings=list(axis_settings),
|
|
747
|
-
)
|
|
748
|
-
response = await call_async(
|
|
749
|
-
"device/get_sync_axis_settings",
|
|
750
|
-
request,
|
|
751
|
-
dto.GetAxisSettingResults.from_binary)
|
|
752
|
-
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
|
+
from ..dto.ascii.conversion_factor import ConversionFactor
|
|
10
|
+
from ..dto.ascii.get_axis_setting import GetAxisSetting
|
|
11
|
+
from ..dto.ascii.get_axis_setting_result import GetAxisSettingResult
|
|
12
|
+
|
|
13
|
+
if TYPE_CHECKING:
|
|
14
|
+
from .axis import Axis
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
class AxisSettings:
|
|
18
|
+
"""
|
|
19
|
+
Class providing access to various axis settings and properties.
|
|
20
|
+
"""
|
|
21
|
+
|
|
22
|
+
def __init__(self, axis: 'Axis'):
|
|
23
|
+
self._axis: 'Axis' = axis
|
|
24
|
+
|
|
25
|
+
def get(
|
|
26
|
+
self,
|
|
27
|
+
setting: str,
|
|
28
|
+
unit: UnitsAndLiterals = Units.NATIVE
|
|
29
|
+
) -> float:
|
|
30
|
+
"""
|
|
31
|
+
Returns any axis 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._axis.device.connection.interface_id,
|
|
43
|
+
device=self._axis.device.device_address,
|
|
44
|
+
axis=self._axis.axis_number,
|
|
45
|
+
setting=setting,
|
|
46
|
+
unit=unit,
|
|
47
|
+
)
|
|
48
|
+
response = call(
|
|
49
|
+
"device/get_setting",
|
|
50
|
+
request,
|
|
51
|
+
dto.DoubleResponse.from_binary)
|
|
52
|
+
return response.value
|
|
53
|
+
|
|
54
|
+
async def get_async(
|
|
55
|
+
self,
|
|
56
|
+
setting: str,
|
|
57
|
+
unit: UnitsAndLiterals = Units.NATIVE
|
|
58
|
+
) -> float:
|
|
59
|
+
"""
|
|
60
|
+
Returns any axis setting or property.
|
|
61
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
62
|
+
|
|
63
|
+
Args:
|
|
64
|
+
setting: Name of the setting.
|
|
65
|
+
unit: Units of setting.
|
|
66
|
+
|
|
67
|
+
Returns:
|
|
68
|
+
Setting value.
|
|
69
|
+
"""
|
|
70
|
+
request = dto.DeviceGetSettingRequest(
|
|
71
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
72
|
+
device=self._axis.device.device_address,
|
|
73
|
+
axis=self._axis.axis_number,
|
|
74
|
+
setting=setting,
|
|
75
|
+
unit=unit,
|
|
76
|
+
)
|
|
77
|
+
response = await call_async(
|
|
78
|
+
"device/get_setting",
|
|
79
|
+
request,
|
|
80
|
+
dto.DoubleResponse.from_binary)
|
|
81
|
+
return response.value
|
|
82
|
+
|
|
83
|
+
def set(
|
|
84
|
+
self,
|
|
85
|
+
setting: str,
|
|
86
|
+
value: float,
|
|
87
|
+
unit: UnitsAndLiterals = Units.NATIVE
|
|
88
|
+
) -> None:
|
|
89
|
+
"""
|
|
90
|
+
Sets any axis setting.
|
|
91
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
92
|
+
|
|
93
|
+
Args:
|
|
94
|
+
setting: Name of the setting.
|
|
95
|
+
value: Value of the setting.
|
|
96
|
+
unit: Units of setting.
|
|
97
|
+
"""
|
|
98
|
+
request = dto.DeviceSetSettingRequest(
|
|
99
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
100
|
+
device=self._axis.device.device_address,
|
|
101
|
+
axis=self._axis.axis_number,
|
|
102
|
+
setting=setting,
|
|
103
|
+
value=value,
|
|
104
|
+
unit=unit,
|
|
105
|
+
)
|
|
106
|
+
call("device/set_setting", request)
|
|
107
|
+
|
|
108
|
+
async def set_async(
|
|
109
|
+
self,
|
|
110
|
+
setting: str,
|
|
111
|
+
value: float,
|
|
112
|
+
unit: UnitsAndLiterals = Units.NATIVE
|
|
113
|
+
) -> None:
|
|
114
|
+
"""
|
|
115
|
+
Sets any axis setting.
|
|
116
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
117
|
+
|
|
118
|
+
Args:
|
|
119
|
+
setting: Name of the setting.
|
|
120
|
+
value: Value of the setting.
|
|
121
|
+
unit: Units of setting.
|
|
122
|
+
"""
|
|
123
|
+
request = dto.DeviceSetSettingRequest(
|
|
124
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
125
|
+
device=self._axis.device.device_address,
|
|
126
|
+
axis=self._axis.axis_number,
|
|
127
|
+
setting=setting,
|
|
128
|
+
value=value,
|
|
129
|
+
unit=unit,
|
|
130
|
+
)
|
|
131
|
+
await call_async("device/set_setting", request)
|
|
132
|
+
|
|
133
|
+
def get_string(
|
|
134
|
+
self,
|
|
135
|
+
setting: str
|
|
136
|
+
) -> str:
|
|
137
|
+
"""
|
|
138
|
+
Returns any axis setting or property as a string.
|
|
139
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
140
|
+
|
|
141
|
+
Args:
|
|
142
|
+
setting: Name of the setting.
|
|
143
|
+
|
|
144
|
+
Returns:
|
|
145
|
+
Setting value.
|
|
146
|
+
"""
|
|
147
|
+
request = dto.DeviceGetSettingRequest(
|
|
148
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
149
|
+
device=self._axis.device.device_address,
|
|
150
|
+
axis=self._axis.axis_number,
|
|
151
|
+
setting=setting,
|
|
152
|
+
)
|
|
153
|
+
response = call(
|
|
154
|
+
"device/get_setting_str",
|
|
155
|
+
request,
|
|
156
|
+
dto.StringResponse.from_binary)
|
|
157
|
+
return response.value
|
|
158
|
+
|
|
159
|
+
async def get_string_async(
|
|
160
|
+
self,
|
|
161
|
+
setting: str
|
|
162
|
+
) -> str:
|
|
163
|
+
"""
|
|
164
|
+
Returns any axis setting or property as a string.
|
|
165
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
166
|
+
|
|
167
|
+
Args:
|
|
168
|
+
setting: Name of the setting.
|
|
169
|
+
|
|
170
|
+
Returns:
|
|
171
|
+
Setting value.
|
|
172
|
+
"""
|
|
173
|
+
request = dto.DeviceGetSettingRequest(
|
|
174
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
175
|
+
device=self._axis.device.device_address,
|
|
176
|
+
axis=self._axis.axis_number,
|
|
177
|
+
setting=setting,
|
|
178
|
+
)
|
|
179
|
+
response = await call_async(
|
|
180
|
+
"device/get_setting_str",
|
|
181
|
+
request,
|
|
182
|
+
dto.StringResponse.from_binary)
|
|
183
|
+
return response.value
|
|
184
|
+
|
|
185
|
+
def set_string(
|
|
186
|
+
self,
|
|
187
|
+
setting: str,
|
|
188
|
+
value: str
|
|
189
|
+
) -> None:
|
|
190
|
+
"""
|
|
191
|
+
Sets any axis setting as a string.
|
|
192
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
193
|
+
|
|
194
|
+
Args:
|
|
195
|
+
setting: Name of the setting.
|
|
196
|
+
value: Value of the setting.
|
|
197
|
+
"""
|
|
198
|
+
request = dto.DeviceSetSettingStrRequest(
|
|
199
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
200
|
+
device=self._axis.device.device_address,
|
|
201
|
+
axis=self._axis.axis_number,
|
|
202
|
+
setting=setting,
|
|
203
|
+
value=value,
|
|
204
|
+
)
|
|
205
|
+
call("device/set_setting_str", request)
|
|
206
|
+
|
|
207
|
+
async def set_string_async(
|
|
208
|
+
self,
|
|
209
|
+
setting: str,
|
|
210
|
+
value: str
|
|
211
|
+
) -> None:
|
|
212
|
+
"""
|
|
213
|
+
Sets any axis setting as a string.
|
|
214
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
215
|
+
|
|
216
|
+
Args:
|
|
217
|
+
setting: Name of the setting.
|
|
218
|
+
value: Value of the setting.
|
|
219
|
+
"""
|
|
220
|
+
request = dto.DeviceSetSettingStrRequest(
|
|
221
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
222
|
+
device=self._axis.device.device_address,
|
|
223
|
+
axis=self._axis.axis_number,
|
|
224
|
+
setting=setting,
|
|
225
|
+
value=value,
|
|
226
|
+
)
|
|
227
|
+
await call_async("device/set_setting_str", request)
|
|
228
|
+
|
|
229
|
+
def get_int(
|
|
230
|
+
self,
|
|
231
|
+
setting: str
|
|
232
|
+
) -> int:
|
|
233
|
+
"""
|
|
234
|
+
Returns any axis setting or property as an integer.
|
|
235
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
236
|
+
|
|
237
|
+
Args:
|
|
238
|
+
setting: Name of the setting.
|
|
239
|
+
|
|
240
|
+
Returns:
|
|
241
|
+
Setting value.
|
|
242
|
+
"""
|
|
243
|
+
request = dto.DeviceGetSettingRequest(
|
|
244
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
245
|
+
device=self._axis.device.device_address,
|
|
246
|
+
axis=self._axis.axis_number,
|
|
247
|
+
setting=setting,
|
|
248
|
+
)
|
|
249
|
+
response = call(
|
|
250
|
+
"device/get_setting_int",
|
|
251
|
+
request,
|
|
252
|
+
dto.Int64Response.from_binary)
|
|
253
|
+
return response.value
|
|
254
|
+
|
|
255
|
+
async def get_int_async(
|
|
256
|
+
self,
|
|
257
|
+
setting: str
|
|
258
|
+
) -> int:
|
|
259
|
+
"""
|
|
260
|
+
Returns any axis setting or property as an integer.
|
|
261
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
262
|
+
|
|
263
|
+
Args:
|
|
264
|
+
setting: Name of the setting.
|
|
265
|
+
|
|
266
|
+
Returns:
|
|
267
|
+
Setting value.
|
|
268
|
+
"""
|
|
269
|
+
request = dto.DeviceGetSettingRequest(
|
|
270
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
271
|
+
device=self._axis.device.device_address,
|
|
272
|
+
axis=self._axis.axis_number,
|
|
273
|
+
setting=setting,
|
|
274
|
+
)
|
|
275
|
+
response = await call_async(
|
|
276
|
+
"device/get_setting_int",
|
|
277
|
+
request,
|
|
278
|
+
dto.Int64Response.from_binary)
|
|
279
|
+
return response.value
|
|
280
|
+
|
|
281
|
+
def set_int(
|
|
282
|
+
self,
|
|
283
|
+
setting: str,
|
|
284
|
+
value: int
|
|
285
|
+
) -> None:
|
|
286
|
+
"""
|
|
287
|
+
Sets any axis setting or property as an integer.
|
|
288
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
289
|
+
|
|
290
|
+
Args:
|
|
291
|
+
setting: Name of the setting.
|
|
292
|
+
value: Value of the setting.
|
|
293
|
+
"""
|
|
294
|
+
request = dto.DeviceSetSettingIntRequest(
|
|
295
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
296
|
+
device=self._axis.device.device_address,
|
|
297
|
+
axis=self._axis.axis_number,
|
|
298
|
+
setting=setting,
|
|
299
|
+
value=value,
|
|
300
|
+
)
|
|
301
|
+
call("device/set_setting_int", request)
|
|
302
|
+
|
|
303
|
+
async def set_int_async(
|
|
304
|
+
self,
|
|
305
|
+
setting: str,
|
|
306
|
+
value: int
|
|
307
|
+
) -> None:
|
|
308
|
+
"""
|
|
309
|
+
Sets any axis setting or property as an integer.
|
|
310
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
311
|
+
|
|
312
|
+
Args:
|
|
313
|
+
setting: Name of the setting.
|
|
314
|
+
value: Value of the setting.
|
|
315
|
+
"""
|
|
316
|
+
request = dto.DeviceSetSettingIntRequest(
|
|
317
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
318
|
+
device=self._axis.device.device_address,
|
|
319
|
+
axis=self._axis.axis_number,
|
|
320
|
+
setting=setting,
|
|
321
|
+
value=value,
|
|
322
|
+
)
|
|
323
|
+
await call_async("device/set_setting_int", request)
|
|
324
|
+
|
|
325
|
+
def get_bool(
|
|
326
|
+
self,
|
|
327
|
+
setting: str
|
|
328
|
+
) -> bool:
|
|
329
|
+
"""
|
|
330
|
+
Returns any axis setting or property as a boolean.
|
|
331
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
332
|
+
|
|
333
|
+
Args:
|
|
334
|
+
setting: Name of the setting.
|
|
335
|
+
|
|
336
|
+
Returns:
|
|
337
|
+
Setting value.
|
|
338
|
+
"""
|
|
339
|
+
request = dto.DeviceGetSettingRequest(
|
|
340
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
341
|
+
device=self._axis.device.device_address,
|
|
342
|
+
axis=self._axis.axis_number,
|
|
343
|
+
setting=setting,
|
|
344
|
+
)
|
|
345
|
+
response = call(
|
|
346
|
+
"device/get_setting_bool",
|
|
347
|
+
request,
|
|
348
|
+
dto.BoolResponse.from_binary)
|
|
349
|
+
return response.value
|
|
350
|
+
|
|
351
|
+
async def get_bool_async(
|
|
352
|
+
self,
|
|
353
|
+
setting: str
|
|
354
|
+
) -> bool:
|
|
355
|
+
"""
|
|
356
|
+
Returns any axis setting or property as a boolean.
|
|
357
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
358
|
+
|
|
359
|
+
Args:
|
|
360
|
+
setting: Name of the setting.
|
|
361
|
+
|
|
362
|
+
Returns:
|
|
363
|
+
Setting value.
|
|
364
|
+
"""
|
|
365
|
+
request = dto.DeviceGetSettingRequest(
|
|
366
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
367
|
+
device=self._axis.device.device_address,
|
|
368
|
+
axis=self._axis.axis_number,
|
|
369
|
+
setting=setting,
|
|
370
|
+
)
|
|
371
|
+
response = await call_async(
|
|
372
|
+
"device/get_setting_bool",
|
|
373
|
+
request,
|
|
374
|
+
dto.BoolResponse.from_binary)
|
|
375
|
+
return response.value
|
|
376
|
+
|
|
377
|
+
def set_bool(
|
|
378
|
+
self,
|
|
379
|
+
setting: str,
|
|
380
|
+
value: bool
|
|
381
|
+
) -> None:
|
|
382
|
+
"""
|
|
383
|
+
Sets any axis setting as a boolean.
|
|
384
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
385
|
+
|
|
386
|
+
Args:
|
|
387
|
+
setting: Name of the setting.
|
|
388
|
+
value: Value of the setting.
|
|
389
|
+
"""
|
|
390
|
+
request = dto.DeviceSetSettingBoolRequest(
|
|
391
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
392
|
+
device=self._axis.device.device_address,
|
|
393
|
+
axis=self._axis.axis_number,
|
|
394
|
+
setting=setting,
|
|
395
|
+
value=value,
|
|
396
|
+
)
|
|
397
|
+
call("device/set_setting_bool", request)
|
|
398
|
+
|
|
399
|
+
async def set_bool_async(
|
|
400
|
+
self,
|
|
401
|
+
setting: str,
|
|
402
|
+
value: bool
|
|
403
|
+
) -> None:
|
|
404
|
+
"""
|
|
405
|
+
Sets any axis setting as a boolean.
|
|
406
|
+
For more information refer to the [ASCII Protocol Manual](https://www.zaber.com/protocol-manual#topic_settings).
|
|
407
|
+
|
|
408
|
+
Args:
|
|
409
|
+
setting: Name of the setting.
|
|
410
|
+
value: Value of the setting.
|
|
411
|
+
"""
|
|
412
|
+
request = dto.DeviceSetSettingBoolRequest(
|
|
413
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
414
|
+
device=self._axis.device.device_address,
|
|
415
|
+
axis=self._axis.axis_number,
|
|
416
|
+
setting=setting,
|
|
417
|
+
value=value,
|
|
418
|
+
)
|
|
419
|
+
await call_async("device/set_setting_bool", request)
|
|
420
|
+
|
|
421
|
+
def convert_to_native_units(
|
|
422
|
+
self,
|
|
423
|
+
setting: str,
|
|
424
|
+
value: float,
|
|
425
|
+
unit: UnitsAndLiterals
|
|
426
|
+
) -> float:
|
|
427
|
+
"""
|
|
428
|
+
Convert arbitrary setting value to Zaber native units.
|
|
429
|
+
|
|
430
|
+
Args:
|
|
431
|
+
setting: Name of the setting.
|
|
432
|
+
value: Value of the setting in units specified by following argument.
|
|
433
|
+
unit: Units of the value.
|
|
434
|
+
|
|
435
|
+
Returns:
|
|
436
|
+
Setting value.
|
|
437
|
+
"""
|
|
438
|
+
request = dto.DeviceConvertSettingRequest(
|
|
439
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
440
|
+
device=self._axis.device.device_address,
|
|
441
|
+
axis=self._axis.axis_number,
|
|
442
|
+
setting=setting,
|
|
443
|
+
value=value,
|
|
444
|
+
unit=unit,
|
|
445
|
+
)
|
|
446
|
+
response = call_sync(
|
|
447
|
+
"device/convert_setting",
|
|
448
|
+
request,
|
|
449
|
+
dto.DoubleResponse.from_binary)
|
|
450
|
+
return response.value
|
|
451
|
+
|
|
452
|
+
def convert_from_native_units(
|
|
453
|
+
self,
|
|
454
|
+
setting: str,
|
|
455
|
+
value: float,
|
|
456
|
+
unit: UnitsAndLiterals
|
|
457
|
+
) -> float:
|
|
458
|
+
"""
|
|
459
|
+
Convert arbitrary setting value from Zaber native units.
|
|
460
|
+
|
|
461
|
+
Args:
|
|
462
|
+
setting: Name of the setting.
|
|
463
|
+
value: Value of the setting in Zaber native units.
|
|
464
|
+
unit: Units to convert value to.
|
|
465
|
+
|
|
466
|
+
Returns:
|
|
467
|
+
Setting value.
|
|
468
|
+
"""
|
|
469
|
+
request = dto.DeviceConvertSettingRequest(
|
|
470
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
471
|
+
device=self._axis.device.device_address,
|
|
472
|
+
axis=self._axis.axis_number,
|
|
473
|
+
from_native=True,
|
|
474
|
+
setting=setting,
|
|
475
|
+
value=value,
|
|
476
|
+
unit=unit,
|
|
477
|
+
)
|
|
478
|
+
response = call_sync(
|
|
479
|
+
"device/convert_setting",
|
|
480
|
+
request,
|
|
481
|
+
dto.DoubleResponse.from_binary)
|
|
482
|
+
return response.value
|
|
483
|
+
|
|
484
|
+
def get_default(
|
|
485
|
+
self,
|
|
486
|
+
setting: str,
|
|
487
|
+
unit: UnitsAndLiterals = Units.NATIVE
|
|
488
|
+
) -> float:
|
|
489
|
+
"""
|
|
490
|
+
Returns the default value of a setting.
|
|
491
|
+
|
|
492
|
+
Args:
|
|
493
|
+
setting: Name of the setting.
|
|
494
|
+
unit: Units of setting.
|
|
495
|
+
|
|
496
|
+
Returns:
|
|
497
|
+
Default setting value.
|
|
498
|
+
"""
|
|
499
|
+
request = dto.DeviceGetSettingRequest(
|
|
500
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
501
|
+
device=self._axis.device.device_address,
|
|
502
|
+
axis=self._axis.axis_number,
|
|
503
|
+
setting=setting,
|
|
504
|
+
unit=unit,
|
|
505
|
+
)
|
|
506
|
+
response = call_sync(
|
|
507
|
+
"device/get_setting_default",
|
|
508
|
+
request,
|
|
509
|
+
dto.DoubleResponse.from_binary)
|
|
510
|
+
return response.value
|
|
511
|
+
|
|
512
|
+
def get_default_string(
|
|
513
|
+
self,
|
|
514
|
+
setting: str
|
|
515
|
+
) -> str:
|
|
516
|
+
"""
|
|
517
|
+
Returns the default value of a setting as a string.
|
|
518
|
+
|
|
519
|
+
Args:
|
|
520
|
+
setting: Name of the setting.
|
|
521
|
+
|
|
522
|
+
Returns:
|
|
523
|
+
Default setting value.
|
|
524
|
+
"""
|
|
525
|
+
request = dto.DeviceGetSettingRequest(
|
|
526
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
527
|
+
device=self._axis.device.device_address,
|
|
528
|
+
axis=self._axis.axis_number,
|
|
529
|
+
setting=setting,
|
|
530
|
+
)
|
|
531
|
+
response = call_sync(
|
|
532
|
+
"device/get_setting_default_str",
|
|
533
|
+
request,
|
|
534
|
+
dto.StringResponse.from_binary)
|
|
535
|
+
return response.value
|
|
536
|
+
|
|
537
|
+
def get_default_int(
|
|
538
|
+
self,
|
|
539
|
+
setting: str
|
|
540
|
+
) -> int:
|
|
541
|
+
"""
|
|
542
|
+
Returns the default value of a setting as an integer.
|
|
543
|
+
|
|
544
|
+
Args:
|
|
545
|
+
setting: Name of the setting.
|
|
546
|
+
|
|
547
|
+
Returns:
|
|
548
|
+
Default setting value.
|
|
549
|
+
"""
|
|
550
|
+
request = dto.DeviceGetSettingRequest(
|
|
551
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
552
|
+
device=self._axis.device.device_address,
|
|
553
|
+
axis=self._axis.axis_number,
|
|
554
|
+
setting=setting,
|
|
555
|
+
)
|
|
556
|
+
response = call_sync(
|
|
557
|
+
"device/get_setting_default_int",
|
|
558
|
+
request,
|
|
559
|
+
dto.Int64Response.from_binary)
|
|
560
|
+
return response.value
|
|
561
|
+
|
|
562
|
+
def get_default_bool(
|
|
563
|
+
self,
|
|
564
|
+
setting: str
|
|
565
|
+
) -> bool:
|
|
566
|
+
"""
|
|
567
|
+
Returns the default value of a setting as a boolean.
|
|
568
|
+
|
|
569
|
+
Args:
|
|
570
|
+
setting: Name of the setting.
|
|
571
|
+
|
|
572
|
+
Returns:
|
|
573
|
+
Default setting value.
|
|
574
|
+
"""
|
|
575
|
+
request = dto.DeviceGetSettingRequest(
|
|
576
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
577
|
+
device=self._axis.device.device_address,
|
|
578
|
+
axis=self._axis.axis_number,
|
|
579
|
+
setting=setting,
|
|
580
|
+
)
|
|
581
|
+
response = call_sync(
|
|
582
|
+
"device/get_setting_default_bool",
|
|
583
|
+
request,
|
|
584
|
+
dto.BoolResponse.from_binary)
|
|
585
|
+
return response.value
|
|
586
|
+
|
|
587
|
+
def can_convert_native_units(
|
|
588
|
+
self,
|
|
589
|
+
setting: str
|
|
590
|
+
) -> bool:
|
|
591
|
+
"""
|
|
592
|
+
Indicates if given setting can be converted from and to native units.
|
|
593
|
+
|
|
594
|
+
Args:
|
|
595
|
+
setting: Name of the setting.
|
|
596
|
+
|
|
597
|
+
Returns:
|
|
598
|
+
True if unit conversion can be performed.
|
|
599
|
+
"""
|
|
600
|
+
request = dto.DeviceGetSettingRequest(
|
|
601
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
602
|
+
device=self._axis.device.device_address,
|
|
603
|
+
axis=self._axis.axis_number,
|
|
604
|
+
setting=setting,
|
|
605
|
+
)
|
|
606
|
+
response = call_sync(
|
|
607
|
+
"device/can_convert_setting",
|
|
608
|
+
request,
|
|
609
|
+
dto.BoolResponse.from_binary)
|
|
610
|
+
return response.value
|
|
611
|
+
|
|
612
|
+
def set_custom_unit_conversions(
|
|
613
|
+
self,
|
|
614
|
+
conversions: List[ConversionFactor]
|
|
615
|
+
) -> None:
|
|
616
|
+
"""
|
|
617
|
+
Overrides default unit conversions.
|
|
618
|
+
Conversion factors are specified by setting names representing underlying dimensions.
|
|
619
|
+
Requires at least Firmware 7.30.
|
|
620
|
+
|
|
621
|
+
Args:
|
|
622
|
+
conversions: Factors of all conversions to override.
|
|
623
|
+
"""
|
|
624
|
+
request = dto.DeviceSetUnitConversionsRequest(
|
|
625
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
626
|
+
device=self._axis.device.device_address,
|
|
627
|
+
axis=self._axis.axis_number,
|
|
628
|
+
conversions=conversions,
|
|
629
|
+
)
|
|
630
|
+
call("device/set_unit_conversions", request)
|
|
631
|
+
|
|
632
|
+
async def set_custom_unit_conversions_async(
|
|
633
|
+
self,
|
|
634
|
+
conversions: List[ConversionFactor]
|
|
635
|
+
) -> None:
|
|
636
|
+
"""
|
|
637
|
+
Overrides default unit conversions.
|
|
638
|
+
Conversion factors are specified by setting names representing underlying dimensions.
|
|
639
|
+
Requires at least Firmware 7.30.
|
|
640
|
+
|
|
641
|
+
Args:
|
|
642
|
+
conversions: Factors of all conversions to override.
|
|
643
|
+
"""
|
|
644
|
+
request = dto.DeviceSetUnitConversionsRequest(
|
|
645
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
646
|
+
device=self._axis.device.device_address,
|
|
647
|
+
axis=self._axis.axis_number,
|
|
648
|
+
conversions=conversions,
|
|
649
|
+
)
|
|
650
|
+
await call_async("device/set_unit_conversions", request)
|
|
651
|
+
|
|
652
|
+
def get_many(
|
|
653
|
+
self,
|
|
654
|
+
*axis_settings: GetAxisSetting
|
|
655
|
+
) -> List[GetAxisSettingResult]:
|
|
656
|
+
"""
|
|
657
|
+
Gets many setting values in as few requests as possible.
|
|
658
|
+
|
|
659
|
+
Args:
|
|
660
|
+
axis_settings: The settings to read.
|
|
661
|
+
|
|
662
|
+
Returns:
|
|
663
|
+
The setting values read.
|
|
664
|
+
"""
|
|
665
|
+
request = dto.DeviceMultiGetSettingRequest(
|
|
666
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
667
|
+
device=self._axis.device.device_address,
|
|
668
|
+
axis=self._axis.axis_number,
|
|
669
|
+
axis_settings=list(axis_settings),
|
|
670
|
+
)
|
|
671
|
+
response = call(
|
|
672
|
+
"device/get_many_axis_settings",
|
|
673
|
+
request,
|
|
674
|
+
dto.GetAxisSettingResults.from_binary)
|
|
675
|
+
return response.results
|
|
676
|
+
|
|
677
|
+
async def get_many_async(
|
|
678
|
+
self,
|
|
679
|
+
*axis_settings: GetAxisSetting
|
|
680
|
+
) -> List[GetAxisSettingResult]:
|
|
681
|
+
"""
|
|
682
|
+
Gets many setting values in as few requests as possible.
|
|
683
|
+
|
|
684
|
+
Args:
|
|
685
|
+
axis_settings: The settings to read.
|
|
686
|
+
|
|
687
|
+
Returns:
|
|
688
|
+
The setting values read.
|
|
689
|
+
"""
|
|
690
|
+
request = dto.DeviceMultiGetSettingRequest(
|
|
691
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
692
|
+
device=self._axis.device.device_address,
|
|
693
|
+
axis=self._axis.axis_number,
|
|
694
|
+
axis_settings=list(axis_settings),
|
|
695
|
+
)
|
|
696
|
+
response = await call_async(
|
|
697
|
+
"device/get_many_axis_settings",
|
|
698
|
+
request,
|
|
699
|
+
dto.GetAxisSettingResults.from_binary)
|
|
700
|
+
return response.results
|
|
701
|
+
|
|
702
|
+
def get_synchronized(
|
|
703
|
+
self,
|
|
704
|
+
*axis_settings: GetAxisSetting
|
|
705
|
+
) -> List[GetAxisSettingResult]:
|
|
706
|
+
"""
|
|
707
|
+
Gets many setting values in the same tick, ensuring their values are synchronized.
|
|
708
|
+
Requires at least Firmware 7.35.
|
|
709
|
+
|
|
710
|
+
Args:
|
|
711
|
+
axis_settings: The settings to read.
|
|
712
|
+
|
|
713
|
+
Returns:
|
|
714
|
+
The setting values read.
|
|
715
|
+
"""
|
|
716
|
+
request = dto.DeviceMultiGetSettingRequest(
|
|
717
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
718
|
+
device=self._axis.device.device_address,
|
|
719
|
+
axis=self._axis.axis_number,
|
|
720
|
+
axis_settings=list(axis_settings),
|
|
721
|
+
)
|
|
722
|
+
response = call(
|
|
723
|
+
"device/get_sync_axis_settings",
|
|
724
|
+
request,
|
|
725
|
+
dto.GetAxisSettingResults.from_binary)
|
|
726
|
+
return response.results
|
|
727
|
+
|
|
728
|
+
async def get_synchronized_async(
|
|
729
|
+
self,
|
|
730
|
+
*axis_settings: GetAxisSetting
|
|
731
|
+
) -> List[GetAxisSettingResult]:
|
|
732
|
+
"""
|
|
733
|
+
Gets many setting values in the same tick, ensuring their values are synchronized.
|
|
734
|
+
Requires at least Firmware 7.35.
|
|
735
|
+
|
|
736
|
+
Args:
|
|
737
|
+
axis_settings: The settings to read.
|
|
738
|
+
|
|
739
|
+
Returns:
|
|
740
|
+
The setting values read.
|
|
741
|
+
"""
|
|
742
|
+
request = dto.DeviceMultiGetSettingRequest(
|
|
743
|
+
interface_id=self._axis.device.connection.interface_id,
|
|
744
|
+
device=self._axis.device.device_address,
|
|
745
|
+
axis=self._axis.axis_number,
|
|
746
|
+
axis_settings=list(axis_settings),
|
|
747
|
+
)
|
|
748
|
+
response = await call_async(
|
|
749
|
+
"device/get_sync_axis_settings",
|
|
750
|
+
request,
|
|
751
|
+
dto.GetAxisSettingResults.from_binary)
|
|
752
|
+
return response.results
|