zaber-motion 7.12.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 -1666
- 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 -117
- 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.12.0.dist-info → zaber_motion-7.14.0.dist-info}/LICENSE.txt +2119 -2119
- {zaber_motion-7.12.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.12.0.dist-info/RECORD +0 -494
- {zaber_motion-7.12.0.dist-info → zaber_motion-7.14.0.dist-info}/WHEEL +0 -0
- {zaber_motion-7.12.0.dist-info → zaber_motion-7.14.0.dist-info}/top_level.txt +0 -0
|
@@ -1,75 +1,75 @@
|
|
|
1
|
-
# This file is generated. Do not modify by hand.
|
|
2
|
-
# pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
|
|
3
|
-
from dataclasses import dataclass
|
|
4
|
-
from typing import Any, Dict, List
|
|
5
|
-
from collections.abc import Iterable
|
|
6
|
-
import zaber_bson
|
|
7
|
-
from .pvt_sequence_data import PvtSequenceData
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@dataclass
|
|
11
|
-
class PvtCsvData:
|
|
12
|
-
"""
|
|
13
|
-
Data representing content loaded from PVT CSV file, with sequence data and sequence names.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
sequence_data: PvtSequenceData
|
|
17
|
-
"""
|
|
18
|
-
The positions, velocities and times of the PVT sequence.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
series_names: List[str]
|
|
22
|
-
"""
|
|
23
|
-
The names of the columns in the CSV header.
|
|
24
|
-
If the header columns do not contain names, these will default to `Series 1`, `Series 2`, etc..
|
|
25
|
-
"""
|
|
26
|
-
|
|
27
|
-
@staticmethod
|
|
28
|
-
def zero_values() -> 'PvtCsvData':
|
|
29
|
-
return PvtCsvData(
|
|
30
|
-
sequence_data=PvtSequenceData.zero_values(),
|
|
31
|
-
series_names=[],
|
|
32
|
-
)
|
|
33
|
-
|
|
34
|
-
@staticmethod
|
|
35
|
-
def from_binary(data_bytes: bytes) -> 'PvtCsvData':
|
|
36
|
-
"""" Deserialize a binary representation of this class. """
|
|
37
|
-
data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
|
|
38
|
-
return PvtCsvData.from_dict(data)
|
|
39
|
-
|
|
40
|
-
def to_binary(self) -> bytes:
|
|
41
|
-
"""" Serialize this class to a binary representation. """
|
|
42
|
-
self.validate()
|
|
43
|
-
return zaber_bson.dumps(self.to_dict()) # type: ignore
|
|
44
|
-
|
|
45
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
46
|
-
return {
|
|
47
|
-
'sequenceData': self.sequence_data.to_dict(),
|
|
48
|
-
'seriesNames': [str(item or '') for item in self.series_names] if self.series_names is not None else [],
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
@staticmethod
|
|
52
|
-
def from_dict(data: Dict[str, Any]) -> 'PvtCsvData':
|
|
53
|
-
return PvtCsvData(
|
|
54
|
-
sequence_data=PvtSequenceData.from_dict(data.get('sequenceData')), # type: ignore
|
|
55
|
-
series_names=data.get('seriesNames'), # type: ignore
|
|
56
|
-
)
|
|
57
|
-
|
|
58
|
-
def validate(self) -> None:
|
|
59
|
-
"""" Validates the properties of the instance. """
|
|
60
|
-
if self.sequence_data is None:
|
|
61
|
-
raise ValueError(f'Property "SequenceData" of "PvtCsvData" is None.')
|
|
62
|
-
|
|
63
|
-
if not isinstance(self.sequence_data, PvtSequenceData):
|
|
64
|
-
raise ValueError(f'Property "SequenceData" of "PvtCsvData" is not an instance of "PvtSequenceData".')
|
|
65
|
-
|
|
66
|
-
self.sequence_data.validate()
|
|
67
|
-
|
|
68
|
-
if self.series_names is not None:
|
|
69
|
-
if not isinstance(self.series_names, Iterable):
|
|
70
|
-
raise ValueError('Property "SeriesNames" of "PvtCsvData" is not iterable.')
|
|
71
|
-
|
|
72
|
-
for i, series_names_item in enumerate(self.series_names):
|
|
73
|
-
if series_names_item is not None:
|
|
74
|
-
if not isinstance(series_names_item, str):
|
|
75
|
-
raise ValueError(f'Item {i} in property "SeriesNames" of "PvtCsvData" is not a string.')
|
|
1
|
+
# This file is generated. Do not modify by hand.
|
|
2
|
+
# pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import Any, Dict, List
|
|
5
|
+
from collections.abc import Iterable
|
|
6
|
+
import zaber_bson
|
|
7
|
+
from .pvt_sequence_data import PvtSequenceData
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class PvtCsvData:
|
|
12
|
+
"""
|
|
13
|
+
Data representing content loaded from PVT CSV file, with sequence data and sequence names.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
sequence_data: PvtSequenceData
|
|
17
|
+
"""
|
|
18
|
+
The positions, velocities and times of the PVT sequence.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
series_names: List[str]
|
|
22
|
+
"""
|
|
23
|
+
The names of the columns in the CSV header.
|
|
24
|
+
If the header columns do not contain names, these will default to `Series 1`, `Series 2`, etc..
|
|
25
|
+
"""
|
|
26
|
+
|
|
27
|
+
@staticmethod
|
|
28
|
+
def zero_values() -> 'PvtCsvData':
|
|
29
|
+
return PvtCsvData(
|
|
30
|
+
sequence_data=PvtSequenceData.zero_values(),
|
|
31
|
+
series_names=[],
|
|
32
|
+
)
|
|
33
|
+
|
|
34
|
+
@staticmethod
|
|
35
|
+
def from_binary(data_bytes: bytes) -> 'PvtCsvData':
|
|
36
|
+
"""" Deserialize a binary representation of this class. """
|
|
37
|
+
data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
|
|
38
|
+
return PvtCsvData.from_dict(data)
|
|
39
|
+
|
|
40
|
+
def to_binary(self) -> bytes:
|
|
41
|
+
"""" Serialize this class to a binary representation. """
|
|
42
|
+
self.validate()
|
|
43
|
+
return zaber_bson.dumps(self.to_dict()) # type: ignore
|
|
44
|
+
|
|
45
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
46
|
+
return {
|
|
47
|
+
'sequenceData': self.sequence_data.to_dict(),
|
|
48
|
+
'seriesNames': [str(item or '') for item in self.series_names] if self.series_names is not None else [],
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def from_dict(data: Dict[str, Any]) -> 'PvtCsvData':
|
|
53
|
+
return PvtCsvData(
|
|
54
|
+
sequence_data=PvtSequenceData.from_dict(data.get('sequenceData')), # type: ignore
|
|
55
|
+
series_names=data.get('seriesNames'), # type: ignore
|
|
56
|
+
)
|
|
57
|
+
|
|
58
|
+
def validate(self) -> None:
|
|
59
|
+
"""" Validates the properties of the instance. """
|
|
60
|
+
if self.sequence_data is None:
|
|
61
|
+
raise ValueError(f'Property "SequenceData" of "PvtCsvData" is None.')
|
|
62
|
+
|
|
63
|
+
if not isinstance(self.sequence_data, PvtSequenceData):
|
|
64
|
+
raise ValueError(f'Property "SequenceData" of "PvtCsvData" is not an instance of "PvtSequenceData".')
|
|
65
|
+
|
|
66
|
+
self.sequence_data.validate()
|
|
67
|
+
|
|
68
|
+
if self.series_names is not None:
|
|
69
|
+
if not isinstance(self.series_names, Iterable):
|
|
70
|
+
raise ValueError('Property "SeriesNames" of "PvtCsvData" is not iterable.')
|
|
71
|
+
|
|
72
|
+
for i, series_names_item in enumerate(self.series_names):
|
|
73
|
+
if series_names_item is not None:
|
|
74
|
+
if not isinstance(series_names_item, str):
|
|
75
|
+
raise ValueError(f'Item {i} in property "SeriesNames" of "PvtCsvData" is not a string.')
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
# This file is generated. Do not modify by hand.
|
|
2
|
-
from enum import Enum
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
class PvtMode(Enum):
|
|
6
|
-
"""
|
|
7
|
-
Mode of a PVT sequence.
|
|
8
|
-
"""
|
|
9
|
-
|
|
10
|
-
DISABLED = 0
|
|
11
|
-
STORE = 1
|
|
12
|
-
LIVE = 2
|
|
1
|
+
# This file is generated. Do not modify by hand.
|
|
2
|
+
from enum import Enum
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class PvtMode(Enum):
|
|
6
|
+
"""
|
|
7
|
+
Mode of a PVT sequence.
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
DISABLED = 0
|
|
11
|
+
STORE = 1
|
|
12
|
+
LIVE = 2
|
|
@@ -1,99 +1,99 @@
|
|
|
1
|
-
# This file is generated. Do not modify by hand.
|
|
2
|
-
# pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
|
|
3
|
-
from dataclasses import dataclass
|
|
4
|
-
from typing import Any, Dict, List
|
|
5
|
-
from collections.abc import Iterable
|
|
6
|
-
import zaber_bson
|
|
7
|
-
from .measurement_sequence import MeasurementSequence
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@dataclass
|
|
11
|
-
class PvtSequenceData:
|
|
12
|
-
"""
|
|
13
|
-
Data representing a sequence of pvt points with defined positions, velocities and times.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
positions: List[MeasurementSequence]
|
|
17
|
-
"""
|
|
18
|
-
Pvt sequence positions for each axis.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
velocities: List[MeasurementSequence]
|
|
22
|
-
"""
|
|
23
|
-
Pvt velocities for each axis.
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
times: MeasurementSequence
|
|
27
|
-
"""
|
|
28
|
-
Relative times corresponding to points in PVT sequence.
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
@staticmethod
|
|
32
|
-
def zero_values() -> 'PvtSequenceData':
|
|
33
|
-
return PvtSequenceData(
|
|
34
|
-
positions=[],
|
|
35
|
-
velocities=[],
|
|
36
|
-
times=MeasurementSequence.zero_values(),
|
|
37
|
-
)
|
|
38
|
-
|
|
39
|
-
@staticmethod
|
|
40
|
-
def from_binary(data_bytes: bytes) -> 'PvtSequenceData':
|
|
41
|
-
"""" Deserialize a binary representation of this class. """
|
|
42
|
-
data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
|
|
43
|
-
return PvtSequenceData.from_dict(data)
|
|
44
|
-
|
|
45
|
-
def to_binary(self) -> bytes:
|
|
46
|
-
"""" Serialize this class to a binary representation. """
|
|
47
|
-
self.validate()
|
|
48
|
-
return zaber_bson.dumps(self.to_dict()) # type: ignore
|
|
49
|
-
|
|
50
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
51
|
-
return {
|
|
52
|
-
'positions': [item.to_dict() for item in self.positions] if self.positions is not None else [],
|
|
53
|
-
'velocities': [item.to_dict() for item in self.velocities] if self.velocities is not None else [],
|
|
54
|
-
'times': self.times.to_dict(),
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
@staticmethod
|
|
58
|
-
def from_dict(data: Dict[str, Any]) -> 'PvtSequenceData':
|
|
59
|
-
return PvtSequenceData(
|
|
60
|
-
positions=[MeasurementSequence.from_dict(item) for item in data.get('positions')], # type: ignore
|
|
61
|
-
velocities=[MeasurementSequence.from_dict(item) for item in data.get('velocities')], # type: ignore
|
|
62
|
-
times=MeasurementSequence.from_dict(data.get('times')), # type: ignore
|
|
63
|
-
)
|
|
64
|
-
|
|
65
|
-
def validate(self) -> None:
|
|
66
|
-
"""" Validates the properties of the instance. """
|
|
67
|
-
if self.positions is not None:
|
|
68
|
-
if not isinstance(self.positions, Iterable):
|
|
69
|
-
raise ValueError('Property "Positions" of "PvtSequenceData" is not iterable.')
|
|
70
|
-
|
|
71
|
-
for i, positions_item in enumerate(self.positions):
|
|
72
|
-
if positions_item is None:
|
|
73
|
-
raise ValueError(f'Item {i} in property "Positions" of "PvtSequenceData" is None.')
|
|
74
|
-
|
|
75
|
-
if not isinstance(positions_item, MeasurementSequence):
|
|
76
|
-
raise ValueError(f'Item {i} in property "Positions" of "PvtSequenceData" is not an instance of "MeasurementSequence".')
|
|
77
|
-
|
|
78
|
-
positions_item.validate()
|
|
79
|
-
|
|
80
|
-
if self.velocities is not None:
|
|
81
|
-
if not isinstance(self.velocities, Iterable):
|
|
82
|
-
raise ValueError('Property "Velocities" of "PvtSequenceData" is not iterable.')
|
|
83
|
-
|
|
84
|
-
for i, velocities_item in enumerate(self.velocities):
|
|
85
|
-
if velocities_item is None:
|
|
86
|
-
raise ValueError(f'Item {i} in property "Velocities" of "PvtSequenceData" is None.')
|
|
87
|
-
|
|
88
|
-
if not isinstance(velocities_item, MeasurementSequence):
|
|
89
|
-
raise ValueError(f'Item {i} in property "Velocities" of "PvtSequenceData" is not an instance of "MeasurementSequence".')
|
|
90
|
-
|
|
91
|
-
velocities_item.validate()
|
|
92
|
-
|
|
93
|
-
if self.times is None:
|
|
94
|
-
raise ValueError(f'Property "Times" of "PvtSequenceData" is None.')
|
|
95
|
-
|
|
96
|
-
if not isinstance(self.times, MeasurementSequence):
|
|
97
|
-
raise ValueError(f'Property "Times" of "PvtSequenceData" is not an instance of "MeasurementSequence".')
|
|
98
|
-
|
|
99
|
-
self.times.validate()
|
|
1
|
+
# This file is generated. Do not modify by hand.
|
|
2
|
+
# pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import Any, Dict, List
|
|
5
|
+
from collections.abc import Iterable
|
|
6
|
+
import zaber_bson
|
|
7
|
+
from .measurement_sequence import MeasurementSequence
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class PvtSequenceData:
|
|
12
|
+
"""
|
|
13
|
+
Data representing a sequence of pvt points with defined positions, velocities and times.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
positions: List[MeasurementSequence]
|
|
17
|
+
"""
|
|
18
|
+
Pvt sequence positions for each axis.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
velocities: List[MeasurementSequence]
|
|
22
|
+
"""
|
|
23
|
+
Pvt velocities for each axis.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
times: MeasurementSequence
|
|
27
|
+
"""
|
|
28
|
+
Relative times corresponding to points in PVT sequence.
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
@staticmethod
|
|
32
|
+
def zero_values() -> 'PvtSequenceData':
|
|
33
|
+
return PvtSequenceData(
|
|
34
|
+
positions=[],
|
|
35
|
+
velocities=[],
|
|
36
|
+
times=MeasurementSequence.zero_values(),
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
@staticmethod
|
|
40
|
+
def from_binary(data_bytes: bytes) -> 'PvtSequenceData':
|
|
41
|
+
"""" Deserialize a binary representation of this class. """
|
|
42
|
+
data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
|
|
43
|
+
return PvtSequenceData.from_dict(data)
|
|
44
|
+
|
|
45
|
+
def to_binary(self) -> bytes:
|
|
46
|
+
"""" Serialize this class to a binary representation. """
|
|
47
|
+
self.validate()
|
|
48
|
+
return zaber_bson.dumps(self.to_dict()) # type: ignore
|
|
49
|
+
|
|
50
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
51
|
+
return {
|
|
52
|
+
'positions': [item.to_dict() for item in self.positions] if self.positions is not None else [],
|
|
53
|
+
'velocities': [item.to_dict() for item in self.velocities] if self.velocities is not None else [],
|
|
54
|
+
'times': self.times.to_dict(),
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@staticmethod
|
|
58
|
+
def from_dict(data: Dict[str, Any]) -> 'PvtSequenceData':
|
|
59
|
+
return PvtSequenceData(
|
|
60
|
+
positions=[MeasurementSequence.from_dict(item) for item in data.get('positions')], # type: ignore
|
|
61
|
+
velocities=[MeasurementSequence.from_dict(item) for item in data.get('velocities')], # type: ignore
|
|
62
|
+
times=MeasurementSequence.from_dict(data.get('times')), # type: ignore
|
|
63
|
+
)
|
|
64
|
+
|
|
65
|
+
def validate(self) -> None:
|
|
66
|
+
"""" Validates the properties of the instance. """
|
|
67
|
+
if self.positions is not None:
|
|
68
|
+
if not isinstance(self.positions, Iterable):
|
|
69
|
+
raise ValueError('Property "Positions" of "PvtSequenceData" is not iterable.')
|
|
70
|
+
|
|
71
|
+
for i, positions_item in enumerate(self.positions):
|
|
72
|
+
if positions_item is None:
|
|
73
|
+
raise ValueError(f'Item {i} in property "Positions" of "PvtSequenceData" is None.')
|
|
74
|
+
|
|
75
|
+
if not isinstance(positions_item, MeasurementSequence):
|
|
76
|
+
raise ValueError(f'Item {i} in property "Positions" of "PvtSequenceData" is not an instance of "MeasurementSequence".')
|
|
77
|
+
|
|
78
|
+
positions_item.validate()
|
|
79
|
+
|
|
80
|
+
if self.velocities is not None:
|
|
81
|
+
if not isinstance(self.velocities, Iterable):
|
|
82
|
+
raise ValueError('Property "Velocities" of "PvtSequenceData" is not iterable.')
|
|
83
|
+
|
|
84
|
+
for i, velocities_item in enumerate(self.velocities):
|
|
85
|
+
if velocities_item is None:
|
|
86
|
+
raise ValueError(f'Item {i} in property "Velocities" of "PvtSequenceData" is None.')
|
|
87
|
+
|
|
88
|
+
if not isinstance(velocities_item, MeasurementSequence):
|
|
89
|
+
raise ValueError(f'Item {i} in property "Velocities" of "PvtSequenceData" is not an instance of "MeasurementSequence".')
|
|
90
|
+
|
|
91
|
+
velocities_item.validate()
|
|
92
|
+
|
|
93
|
+
if self.times is None:
|
|
94
|
+
raise ValueError(f'Property "Times" of "PvtSequenceData" is None.')
|
|
95
|
+
|
|
96
|
+
if not isinstance(self.times, MeasurementSequence):
|
|
97
|
+
raise ValueError(f'Property "Times" of "PvtSequenceData" is not an instance of "MeasurementSequence".')
|
|
98
|
+
|
|
99
|
+
self.times.validate()
|
|
@@ -1,137 +1,137 @@
|
|
|
1
|
-
# This file is generated. Do not modify by hand.
|
|
2
|
-
# pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
|
|
3
|
-
from dataclasses import dataclass
|
|
4
|
-
from typing import Any, Dict
|
|
5
|
-
import decimal
|
|
6
|
-
import zaber_bson
|
|
7
|
-
from .message_type import MessageType
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
@dataclass
|
|
11
|
-
class Response:
|
|
12
|
-
"""
|
|
13
|
-
Response message from the device.
|
|
14
|
-
"""
|
|
15
|
-
|
|
16
|
-
device_address: int
|
|
17
|
-
"""
|
|
18
|
-
Number of the device that sent the message.
|
|
19
|
-
"""
|
|
20
|
-
|
|
21
|
-
axis_number: int
|
|
22
|
-
"""
|
|
23
|
-
Number of the axis which the response applies to. Zero denotes device scope.
|
|
24
|
-
"""
|
|
25
|
-
|
|
26
|
-
reply_flag: str
|
|
27
|
-
"""
|
|
28
|
-
The reply flag indicates if the request was accepted (OK) or rejected (RJ).
|
|
29
|
-
"""
|
|
30
|
-
|
|
31
|
-
status: str
|
|
32
|
-
"""
|
|
33
|
-
The device status contains BUSY when the axis is moving and IDLE otherwise.
|
|
34
|
-
"""
|
|
35
|
-
|
|
36
|
-
warning_flag: str
|
|
37
|
-
"""
|
|
38
|
-
The warning flag contains the highest priority warning currently active for the device or axis.
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
data: str
|
|
42
|
-
"""
|
|
43
|
-
Response data which varies depending on the request.
|
|
44
|
-
"""
|
|
45
|
-
|
|
46
|
-
message_type: MessageType
|
|
47
|
-
"""
|
|
48
|
-
Type of the reply received.
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
@staticmethod
|
|
52
|
-
def zero_values() -> 'Response':
|
|
53
|
-
return Response(
|
|
54
|
-
device_address=0,
|
|
55
|
-
axis_number=0,
|
|
56
|
-
reply_flag="",
|
|
57
|
-
status="",
|
|
58
|
-
warning_flag="",
|
|
59
|
-
data="",
|
|
60
|
-
message_type=next(first for first in MessageType),
|
|
61
|
-
)
|
|
62
|
-
|
|
63
|
-
@staticmethod
|
|
64
|
-
def from_binary(data_bytes: bytes) -> 'Response':
|
|
65
|
-
"""" Deserialize a binary representation of this class. """
|
|
66
|
-
data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
|
|
67
|
-
return Response.from_dict(data)
|
|
68
|
-
|
|
69
|
-
def to_binary(self) -> bytes:
|
|
70
|
-
"""" Serialize this class to a binary representation. """
|
|
71
|
-
self.validate()
|
|
72
|
-
return zaber_bson.dumps(self.to_dict()) # type: ignore
|
|
73
|
-
|
|
74
|
-
def to_dict(self) -> Dict[str, Any]:
|
|
75
|
-
return {
|
|
76
|
-
'deviceAddress': int(self.device_address),
|
|
77
|
-
'axisNumber': int(self.axis_number),
|
|
78
|
-
'replyFlag': str(self.reply_flag or ''),
|
|
79
|
-
'status': str(self.status or ''),
|
|
80
|
-
'warningFlag': str(self.warning_flag or ''),
|
|
81
|
-
'data': str(self.data or ''),
|
|
82
|
-
'messageType': self.message_type.value,
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
@staticmethod
|
|
86
|
-
def from_dict(data: Dict[str, Any]) -> 'Response':
|
|
87
|
-
return Response(
|
|
88
|
-
device_address=data.get('deviceAddress'), # type: ignore
|
|
89
|
-
axis_number=data.get('axisNumber'), # type: ignore
|
|
90
|
-
reply_flag=data.get('replyFlag'), # type: ignore
|
|
91
|
-
status=data.get('status'), # type: ignore
|
|
92
|
-
warning_flag=data.get('warningFlag'), # type: ignore
|
|
93
|
-
data=data.get('data'), # type: ignore
|
|
94
|
-
message_type=MessageType(data.get('messageType')), # type: ignore
|
|
95
|
-
)
|
|
96
|
-
|
|
97
|
-
def validate(self) -> None:
|
|
98
|
-
"""" Validates the properties of the instance. """
|
|
99
|
-
if self.device_address is None:
|
|
100
|
-
raise ValueError(f'Property "DeviceAddress" of "Response" is None.')
|
|
101
|
-
|
|
102
|
-
if not isinstance(self.device_address, (int, float, decimal.Decimal)):
|
|
103
|
-
raise ValueError(f'Property "DeviceAddress" of "Response" is not a number.')
|
|
104
|
-
|
|
105
|
-
if int(self.device_address) != self.device_address:
|
|
106
|
-
raise ValueError(f'Property "DeviceAddress" of "Response" is not integer value.')
|
|
107
|
-
|
|
108
|
-
if self.axis_number is None:
|
|
109
|
-
raise ValueError(f'Property "AxisNumber" of "Response" is None.')
|
|
110
|
-
|
|
111
|
-
if not isinstance(self.axis_number, (int, float, decimal.Decimal)):
|
|
112
|
-
raise ValueError(f'Property "AxisNumber" of "Response" is not a number.')
|
|
113
|
-
|
|
114
|
-
if int(self.axis_number) != self.axis_number:
|
|
115
|
-
raise ValueError(f'Property "AxisNumber" of "Response" is not integer value.')
|
|
116
|
-
|
|
117
|
-
if self.reply_flag is not None:
|
|
118
|
-
if not isinstance(self.reply_flag, str):
|
|
119
|
-
raise ValueError(f'Property "ReplyFlag" of "Response" is not a string.')
|
|
120
|
-
|
|
121
|
-
if self.status is not None:
|
|
122
|
-
if not isinstance(self.status, str):
|
|
123
|
-
raise ValueError(f'Property "Status" of "Response" is not a string.')
|
|
124
|
-
|
|
125
|
-
if self.warning_flag is not None:
|
|
126
|
-
if not isinstance(self.warning_flag, str):
|
|
127
|
-
raise ValueError(f'Property "WarningFlag" of "Response" is not a string.')
|
|
128
|
-
|
|
129
|
-
if self.data is not None:
|
|
130
|
-
if not isinstance(self.data, str):
|
|
131
|
-
raise ValueError(f'Property "Data" of "Response" is not a string.')
|
|
132
|
-
|
|
133
|
-
if self.message_type is None:
|
|
134
|
-
raise ValueError(f'Property "MessageType" of "Response" is None.')
|
|
135
|
-
|
|
136
|
-
if not isinstance(self.message_type, MessageType):
|
|
137
|
-
raise ValueError(f'Property "MessageType" of "Response" is not an instance of "MessageType".')
|
|
1
|
+
# This file is generated. Do not modify by hand.
|
|
2
|
+
# pylint: disable=line-too-long, unused-argument, f-string-without-interpolation, too-many-branches, too-many-statements, unnecessary-pass
|
|
3
|
+
from dataclasses import dataclass
|
|
4
|
+
from typing import Any, Dict
|
|
5
|
+
import decimal
|
|
6
|
+
import zaber_bson
|
|
7
|
+
from .message_type import MessageType
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
@dataclass
|
|
11
|
+
class Response:
|
|
12
|
+
"""
|
|
13
|
+
Response message from the device.
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
device_address: int
|
|
17
|
+
"""
|
|
18
|
+
Number of the device that sent the message.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
axis_number: int
|
|
22
|
+
"""
|
|
23
|
+
Number of the axis which the response applies to. Zero denotes device scope.
|
|
24
|
+
"""
|
|
25
|
+
|
|
26
|
+
reply_flag: str
|
|
27
|
+
"""
|
|
28
|
+
The reply flag indicates if the request was accepted (OK) or rejected (RJ).
|
|
29
|
+
"""
|
|
30
|
+
|
|
31
|
+
status: str
|
|
32
|
+
"""
|
|
33
|
+
The device status contains BUSY when the axis is moving and IDLE otherwise.
|
|
34
|
+
"""
|
|
35
|
+
|
|
36
|
+
warning_flag: str
|
|
37
|
+
"""
|
|
38
|
+
The warning flag contains the highest priority warning currently active for the device or axis.
|
|
39
|
+
"""
|
|
40
|
+
|
|
41
|
+
data: str
|
|
42
|
+
"""
|
|
43
|
+
Response data which varies depending on the request.
|
|
44
|
+
"""
|
|
45
|
+
|
|
46
|
+
message_type: MessageType
|
|
47
|
+
"""
|
|
48
|
+
Type of the reply received.
|
|
49
|
+
"""
|
|
50
|
+
|
|
51
|
+
@staticmethod
|
|
52
|
+
def zero_values() -> 'Response':
|
|
53
|
+
return Response(
|
|
54
|
+
device_address=0,
|
|
55
|
+
axis_number=0,
|
|
56
|
+
reply_flag="",
|
|
57
|
+
status="",
|
|
58
|
+
warning_flag="",
|
|
59
|
+
data="",
|
|
60
|
+
message_type=next(first for first in MessageType),
|
|
61
|
+
)
|
|
62
|
+
|
|
63
|
+
@staticmethod
|
|
64
|
+
def from_binary(data_bytes: bytes) -> 'Response':
|
|
65
|
+
"""" Deserialize a binary representation of this class. """
|
|
66
|
+
data = zaber_bson.loads(data_bytes) # type: Dict[str, Any]
|
|
67
|
+
return Response.from_dict(data)
|
|
68
|
+
|
|
69
|
+
def to_binary(self) -> bytes:
|
|
70
|
+
"""" Serialize this class to a binary representation. """
|
|
71
|
+
self.validate()
|
|
72
|
+
return zaber_bson.dumps(self.to_dict()) # type: ignore
|
|
73
|
+
|
|
74
|
+
def to_dict(self) -> Dict[str, Any]:
|
|
75
|
+
return {
|
|
76
|
+
'deviceAddress': int(self.device_address),
|
|
77
|
+
'axisNumber': int(self.axis_number),
|
|
78
|
+
'replyFlag': str(self.reply_flag or ''),
|
|
79
|
+
'status': str(self.status or ''),
|
|
80
|
+
'warningFlag': str(self.warning_flag or ''),
|
|
81
|
+
'data': str(self.data or ''),
|
|
82
|
+
'messageType': self.message_type.value,
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
@staticmethod
|
|
86
|
+
def from_dict(data: Dict[str, Any]) -> 'Response':
|
|
87
|
+
return Response(
|
|
88
|
+
device_address=data.get('deviceAddress'), # type: ignore
|
|
89
|
+
axis_number=data.get('axisNumber'), # type: ignore
|
|
90
|
+
reply_flag=data.get('replyFlag'), # type: ignore
|
|
91
|
+
status=data.get('status'), # type: ignore
|
|
92
|
+
warning_flag=data.get('warningFlag'), # type: ignore
|
|
93
|
+
data=data.get('data'), # type: ignore
|
|
94
|
+
message_type=MessageType(data.get('messageType')), # type: ignore
|
|
95
|
+
)
|
|
96
|
+
|
|
97
|
+
def validate(self) -> None:
|
|
98
|
+
"""" Validates the properties of the instance. """
|
|
99
|
+
if self.device_address is None:
|
|
100
|
+
raise ValueError(f'Property "DeviceAddress" of "Response" is None.')
|
|
101
|
+
|
|
102
|
+
if not isinstance(self.device_address, (int, float, decimal.Decimal)):
|
|
103
|
+
raise ValueError(f'Property "DeviceAddress" of "Response" is not a number.')
|
|
104
|
+
|
|
105
|
+
if int(self.device_address) != self.device_address:
|
|
106
|
+
raise ValueError(f'Property "DeviceAddress" of "Response" is not integer value.')
|
|
107
|
+
|
|
108
|
+
if self.axis_number is None:
|
|
109
|
+
raise ValueError(f'Property "AxisNumber" of "Response" is None.')
|
|
110
|
+
|
|
111
|
+
if not isinstance(self.axis_number, (int, float, decimal.Decimal)):
|
|
112
|
+
raise ValueError(f'Property "AxisNumber" of "Response" is not a number.')
|
|
113
|
+
|
|
114
|
+
if int(self.axis_number) != self.axis_number:
|
|
115
|
+
raise ValueError(f'Property "AxisNumber" of "Response" is not integer value.')
|
|
116
|
+
|
|
117
|
+
if self.reply_flag is not None:
|
|
118
|
+
if not isinstance(self.reply_flag, str):
|
|
119
|
+
raise ValueError(f'Property "ReplyFlag" of "Response" is not a string.')
|
|
120
|
+
|
|
121
|
+
if self.status is not None:
|
|
122
|
+
if not isinstance(self.status, str):
|
|
123
|
+
raise ValueError(f'Property "Status" of "Response" is not a string.')
|
|
124
|
+
|
|
125
|
+
if self.warning_flag is not None:
|
|
126
|
+
if not isinstance(self.warning_flag, str):
|
|
127
|
+
raise ValueError(f'Property "WarningFlag" of "Response" is not a string.')
|
|
128
|
+
|
|
129
|
+
if self.data is not None:
|
|
130
|
+
if not isinstance(self.data, str):
|
|
131
|
+
raise ValueError(f'Property "Data" of "Response" is not a string.')
|
|
132
|
+
|
|
133
|
+
if self.message_type is None:
|
|
134
|
+
raise ValueError(f'Property "MessageType" of "Response" is None.')
|
|
135
|
+
|
|
136
|
+
if not isinstance(self.message_type, MessageType):
|
|
137
|
+
raise ValueError(f'Property "MessageType" of "Response" is not an instance of "MessageType".')
|