zaber-motion 7.13.0__py3-none-win32.whl → 7.15.0__py3-none-win32.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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 +96 -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 +163 -139
- zaber_motion/microscopy/illuminator_channel.py +629 -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.15.0.dist-info}/LICENSE.txt +2119 -2119
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.15.0.dist-info}/METADATA +1 -1
- zaber_motion-7.15.0.dist-info/RECORD +496 -0
- zaber_motion_bindings/zaber-motion-core-windows-386.dll +0 -0
- zaber_motion-7.13.0.dist-info/RECORD +0 -494
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.15.0.dist-info}/WHEEL +0 -0
- {zaber_motion-7.13.0.dist-info → zaber_motion-7.15.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
|