wandelbots-api-client 25.8.0.dev88__py3-none-any.whl → 25.10.0.dev47__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (526) hide show
  1. wandelbots_api_client/__init__.py +1 -1
  2. wandelbots_api_client/api/controller_api.py +9 -3
  3. wandelbots_api_client/api/controller_ios_api.py +2 -4
  4. wandelbots_api_client/api/motion_api.py +16 -4
  5. wandelbots_api_client/api/motion_group_infos_api.py +2 -0
  6. wandelbots_api_client/api/motion_group_jogging_api.py +10 -4
  7. wandelbots_api_client/api/store_collision_components_api.py +9 -6
  8. wandelbots_api_client/api/virtual_robot_behavior_api.py +5 -2
  9. wandelbots_api_client/api_client.py +1 -1
  10. wandelbots_api_client/configuration.py +1 -1
  11. wandelbots_api_client/models/abb_controller.py +4 -4
  12. wandelbots_api_client/models/abb_controller_egm_server.py +2 -2
  13. wandelbots_api_client/models/activate_license_request.py +1 -1
  14. wandelbots_api_client/models/add_request.py +2 -2
  15. wandelbots_api_client/models/all_joint_positions_request.py +2 -2
  16. wandelbots_api_client/models/all_joint_positions_response.py +1 -1
  17. wandelbots_api_client/models/app.py +7 -7
  18. wandelbots_api_client/models/array_input.py +1 -1
  19. wandelbots_api_client/models/array_output.py +1 -1
  20. wandelbots_api_client/models/blending_auto.py +2 -2
  21. wandelbots_api_client/models/blending_position.py +2 -2
  22. wandelbots_api_client/models/box.py +4 -4
  23. wandelbots_api_client/models/box2.py +5 -5
  24. wandelbots_api_client/models/box3.py +5 -5
  25. wandelbots_api_client/models/capsule.py +2 -2
  26. wandelbots_api_client/models/capsule2.py +3 -3
  27. wandelbots_api_client/models/capsule3.py +3 -3
  28. wandelbots_api_client/models/capture.py +1 -1
  29. wandelbots_api_client/models/cell.py +3 -3
  30. wandelbots_api_client/models/circle.py +2 -2
  31. wandelbots_api_client/models/code_with_arguments.py +2 -2
  32. wandelbots_api_client/models/collider.py +3 -3
  33. wandelbots_api_client/models/collider_input.py +3 -3
  34. wandelbots_api_client/models/collider_output.py +3 -3
  35. wandelbots_api_client/models/collision.py +6 -6
  36. wandelbots_api_client/models/collision_contact.py +2 -2
  37. wandelbots_api_client/models/collision_motion_group.py +2 -2
  38. wandelbots_api_client/models/collision_motion_group_assembly.py +4 -4
  39. wandelbots_api_client/models/collision_robot_configuration_input.py +3 -3
  40. wandelbots_api_client/models/collision_robot_configuration_output.py +3 -3
  41. wandelbots_api_client/models/collision_scene.py +2 -2
  42. wandelbots_api_client/models/collision_scene_assembly.py +5 -5
  43. wandelbots_api_client/models/command.py +6 -6
  44. wandelbots_api_client/models/command_settings.py +3 -3
  45. wandelbots_api_client/models/compound.py +1 -1
  46. wandelbots_api_client/models/container_environment_inner.py +2 -2
  47. wandelbots_api_client/models/container_image.py +3 -3
  48. wandelbots_api_client/models/container_image_secrets_inner.py +1 -1
  49. wandelbots_api_client/models/container_resources.py +1 -1
  50. wandelbots_api_client/models/container_storage.py +2 -2
  51. wandelbots_api_client/models/controller_capabilities.py +2 -2
  52. wandelbots_api_client/models/controller_instance.py +8 -8
  53. wandelbots_api_client/models/controller_instance_list.py +1 -1
  54. wandelbots_api_client/models/convex_hull.py +1 -1
  55. wandelbots_api_client/models/convex_hull2.py +2 -2
  56. wandelbots_api_client/models/convex_hull3.py +2 -2
  57. wandelbots_api_client/models/coordinate_system.py +5 -5
  58. wandelbots_api_client/models/coordinate_systems.py +1 -1
  59. wandelbots_api_client/models/create_program_run200_response.py +1 -1
  60. wandelbots_api_client/models/create_program_run_request.py +1 -1
  61. wandelbots_api_client/models/create_trigger200_response.py +1 -1
  62. wandelbots_api_client/models/create_trigger_request.py +4 -4
  63. wandelbots_api_client/models/cubic_spline.py +1 -1
  64. wandelbots_api_client/models/cubic_spline_cubic_spline_parameter.py +2 -2
  65. wandelbots_api_client/models/cubic_spline_parameter.py +2 -2
  66. wandelbots_api_client/models/cycle_time.py +1 -1
  67. wandelbots_api_client/models/cylinder.py +2 -2
  68. wandelbots_api_client/models/cylinder2.py +3 -3
  69. wandelbots_api_client/models/cylinder3.py +3 -3
  70. wandelbots_api_client/models/dh_parameter.py +5 -5
  71. wandelbots_api_client/models/direction_jogging_request.py +9 -9
  72. wandelbots_api_client/models/error.py +2 -2
  73. wandelbots_api_client/models/execution_result.py +3 -3
  74. wandelbots_api_client/models/external_joint_stream_datapoint.py +2 -2
  75. wandelbots_api_client/models/external_joint_stream_datapoint_value.py +4 -4
  76. wandelbots_api_client/models/fanuc_controller.py +2 -2
  77. wandelbots_api_client/models/feedback_collision.py +4 -4
  78. wandelbots_api_client/models/feedback_joint_limit_exceeded.py +3 -3
  79. wandelbots_api_client/models/feedback_out_of_workspace.py +2 -2
  80. wandelbots_api_client/models/feedback_singularity.py +3 -3
  81. wandelbots_api_client/models/flag.py +1 -1
  82. wandelbots_api_client/models/force_vector.py +3 -3
  83. wandelbots_api_client/models/geometry.py +11 -11
  84. wandelbots_api_client/models/get_all_program_runs200_response.py +1 -1
  85. wandelbots_api_client/models/get_all_triggers200_response.py +1 -1
  86. wandelbots_api_client/models/get_mode_response.py +1 -1
  87. wandelbots_api_client/models/get_trajectory_response.py +1 -1
  88. wandelbots_api_client/models/get_trajectory_sample_response.py +1 -1
  89. wandelbots_api_client/models/google_protobuf_any.py +1 -1
  90. wandelbots_api_client/models/http_exception_response.py +1 -1
  91. wandelbots_api_client/models/http_validation_error.py +1 -1
  92. wandelbots_api_client/models/http_validation_error2.py +1 -1
  93. wandelbots_api_client/models/image_credentials.py +3 -3
  94. wandelbots_api_client/models/info_service_capabilities.py +7 -7
  95. wandelbots_api_client/models/initialize_movement_request.py +5 -5
  96. wandelbots_api_client/models/initialize_movement_response.py +1 -1
  97. wandelbots_api_client/models/initialize_movement_response_init_response.py +2 -2
  98. wandelbots_api_client/models/io.py +5 -5
  99. wandelbots_api_client/models/io_description.py +9 -9
  100. wandelbots_api_client/models/io_value.py +4 -4
  101. wandelbots_api_client/models/ios.py +1 -1
  102. wandelbots_api_client/models/jogging_response.py +3 -3
  103. wandelbots_api_client/models/jogging_service_capabilities.py +2 -2
  104. wandelbots_api_client/models/joint_jogging_request.py +5 -5
  105. wandelbots_api_client/models/joint_limit.py +4 -4
  106. wandelbots_api_client/models/joint_limit_exceeded.py +2 -2
  107. wandelbots_api_client/models/joint_position_request.py +3 -3
  108. wandelbots_api_client/models/joint_trajectory.py +3 -3
  109. wandelbots_api_client/models/joints.py +1 -1
  110. wandelbots_api_client/models/kinematic_service_capabilities.py +3 -3
  111. wandelbots_api_client/models/kuka_controller.py +5 -5
  112. wandelbots_api_client/models/kuka_controller_rsi_server.py +2 -2
  113. wandelbots_api_client/models/license.py +10 -10
  114. wandelbots_api_client/models/license_status.py +2 -2
  115. wandelbots_api_client/models/limit_settings.py +12 -12
  116. wandelbots_api_client/models/limits_override.py +6 -6
  117. wandelbots_api_client/models/list_io_descriptions_response.py +1 -1
  118. wandelbots_api_client/models/list_io_values_response.py +1 -1
  119. wandelbots_api_client/models/list_payloads_response.py +1 -1
  120. wandelbots_api_client/models/list_program_metadata_response.py +1 -1
  121. wandelbots_api_client/models/list_recipe_metadata_response.py +1 -1
  122. wandelbots_api_client/models/list_response.py +1 -1
  123. wandelbots_api_client/models/list_tcps_response.py +1 -1
  124. wandelbots_api_client/models/mode_change_response.py +4 -4
  125. wandelbots_api_client/models/motion_command.py +3 -3
  126. wandelbots_api_client/models/motion_group_behavior_getter.py +1 -1
  127. wandelbots_api_client/models/motion_group_info.py +3 -3
  128. wandelbots_api_client/models/motion_group_infos.py +1 -1
  129. wandelbots_api_client/models/motion_group_instance.py +5 -5
  130. wandelbots_api_client/models/motion_group_instance_list.py +1 -1
  131. wandelbots_api_client/models/motion_group_joints.py +4 -4
  132. wandelbots_api_client/models/motion_group_physical.py +5 -5
  133. wandelbots_api_client/models/motion_group_specification.py +2 -2
  134. wandelbots_api_client/models/motion_group_state.py +12 -12
  135. wandelbots_api_client/models/motion_group_state_joint_limit_reached.py +1 -1
  136. wandelbots_api_client/models/motion_group_state_response.py +2 -2
  137. wandelbots_api_client/models/motion_id.py +1 -1
  138. wandelbots_api_client/models/motion_ids_list_response.py +1 -1
  139. wandelbots_api_client/models/motion_vector.py +3 -3
  140. wandelbots_api_client/models/mounting.py +2 -2
  141. wandelbots_api_client/models/move_request.py +8 -8
  142. wandelbots_api_client/models/move_response.py +2 -2
  143. wandelbots_api_client/models/move_to_trajectory_via_joint_ptp_request.py +4 -4
  144. wandelbots_api_client/models/movement.py +1 -1
  145. wandelbots_api_client/models/movement_error.py +1 -1
  146. wandelbots_api_client/models/movement_error_error.py +1 -1
  147. wandelbots_api_client/models/movement_movement.py +3 -3
  148. wandelbots_api_client/models/op_mode.py +1 -1
  149. wandelbots_api_client/models/opcua_node_value_trigger_config.py +3 -3
  150. wandelbots_api_client/models/optimizer_setup.py +7 -7
  151. wandelbots_api_client/models/out_of_workspace.py +1 -1
  152. wandelbots_api_client/models/path.py +1 -1
  153. wandelbots_api_client/models/path_cartesian_ptp.py +2 -2
  154. wandelbots_api_client/models/path_circle.py +3 -3
  155. wandelbots_api_client/models/path_cubic_spline.py +2 -2
  156. wandelbots_api_client/models/path_joint_ptp.py +2 -2
  157. wandelbots_api_client/models/path_line.py +2 -2
  158. wandelbots_api_client/models/pause_movement_request.py +2 -2
  159. wandelbots_api_client/models/pause_movement_response.py +1 -1
  160. wandelbots_api_client/models/pause_movement_response_pause_response.py +2 -2
  161. wandelbots_api_client/models/pause_on_io.py +2 -2
  162. wandelbots_api_client/models/payload.py +4 -4
  163. wandelbots_api_client/models/plan_collision_free_ptp_request.py +5 -5
  164. wandelbots_api_client/models/plan_failed_on_trajectory_response.py +9 -9
  165. wandelbots_api_client/models/plan_failed_response.py +7 -7
  166. wandelbots_api_client/models/plan_request.py +5 -5
  167. wandelbots_api_client/models/plan_response.py +3 -3
  168. wandelbots_api_client/models/plan_successful_response.py +2 -2
  169. wandelbots_api_client/models/plan_trajectory_failed_response.py +3 -3
  170. wandelbots_api_client/models/plan_trajectory_request.py +5 -5
  171. wandelbots_api_client/models/plan_trajectory_response.py +1 -1
  172. wandelbots_api_client/models/plane2.py +1 -1
  173. wandelbots_api_client/models/plane3.py +1 -1
  174. wandelbots_api_client/models/planned_motion.py +5 -5
  175. wandelbots_api_client/models/planner_pose.py +2 -2
  176. wandelbots_api_client/models/planning_limits.py +12 -12
  177. wandelbots_api_client/models/planning_limits_limit_range.py +2 -2
  178. wandelbots_api_client/models/playback_speed_request.py +2 -2
  179. wandelbots_api_client/models/playback_speed_response.py +1 -1
  180. wandelbots_api_client/models/playback_speed_response_playback_speed_response.py +1 -1
  181. wandelbots_api_client/models/point_cloud.py +1 -1
  182. wandelbots_api_client/models/pose.py +3 -3
  183. wandelbots_api_client/models/pose2.py +2 -2
  184. wandelbots_api_client/models/program_metadata.py +6 -6
  185. wandelbots_api_client/models/program_run.py +10 -10
  186. wandelbots_api_client/models/program_run_object.py +6 -6
  187. wandelbots_api_client/models/program_runner_reference.py +2 -2
  188. wandelbots_api_client/models/pyjectory_datatypes_core_pose.py +2 -2
  189. wandelbots_api_client/models/pyjectory_datatypes_serializer_orientation.py +1 -1
  190. wandelbots_api_client/models/pyjectory_datatypes_serializer_pose.py +1 -1
  191. wandelbots_api_client/models/pyjectory_datatypes_serializer_position.py +1 -1
  192. wandelbots_api_client/models/pyriphery_etcd_etcd_configuration.py +4 -4
  193. wandelbots_api_client/models/pyriphery_hardware_isaac_isaac_configuration.py +4 -4
  194. wandelbots_api_client/models/pyriphery_opcua_opcua_configuration.py +3 -3
  195. wandelbots_api_client/models/pyriphery_pyrae_controller_controller_configuration.py +6 -6
  196. wandelbots_api_client/models/pyriphery_pyrae_robot_robot_configuration.py +7 -7
  197. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_input.py +4 -4
  198. wandelbots_api_client/models/pyriphery_robotics_configurable_collision_scene_configurable_collision_scene_configuration_output.py +4 -4
  199. wandelbots_api_client/models/pyriphery_robotics_robotcell_timer_configuration.py +2 -2
  200. wandelbots_api_client/models/pyriphery_robotics_simulation_robot_with_view_open3d_configuration.py +3 -3
  201. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_io_configuration.py +2 -2
  202. wandelbots_api_client/models/pyriphery_robotics_simulation_simulated_opcua_configuration.py +2 -2
  203. wandelbots_api_client/models/quaternion.py +4 -4
  204. wandelbots_api_client/models/recipe_metadata.py +7 -7
  205. wandelbots_api_client/models/rectangle.py +2 -2
  206. wandelbots_api_client/models/rectangle2.py +3 -3
  207. wandelbots_api_client/models/rectangle3.py +3 -3
  208. wandelbots_api_client/models/rectangular_capsule.py +3 -3
  209. wandelbots_api_client/models/rectangular_capsule2.py +4 -4
  210. wandelbots_api_client/models/rectangular_capsule3.py +4 -4
  211. wandelbots_api_client/models/robot_controller.py +2 -2
  212. wandelbots_api_client/models/robot_controller_state.py +7 -7
  213. wandelbots_api_client/models/robot_link_geometry.py +2 -2
  214. wandelbots_api_client/models/robot_state.py +2 -2
  215. wandelbots_api_client/models/robot_tcp.py +4 -4
  216. wandelbots_api_client/models/robot_tcps.py +1 -1
  217. wandelbots_api_client/models/rotation_angles.py +2 -2
  218. wandelbots_api_client/models/safety_configuration.py +5 -5
  219. wandelbots_api_client/models/safety_setup.py +4 -4
  220. wandelbots_api_client/models/safety_setup_safety_settings.py +2 -2
  221. wandelbots_api_client/models/safety_setup_safety_zone.py +4 -4
  222. wandelbots_api_client/models/safety_zone.py +3 -3
  223. wandelbots_api_client/models/safety_zone_limits.py +2 -2
  224. wandelbots_api_client/models/safety_zone_violation.py +1 -1
  225. wandelbots_api_client/models/service_status.py +2 -2
  226. wandelbots_api_client/models/service_status_status.py +3 -3
  227. wandelbots_api_client/models/set_io.py +2 -2
  228. wandelbots_api_client/models/set_playback_speed.py +2 -2
  229. wandelbots_api_client/models/single_joint_limit.py +2 -2
  230. wandelbots_api_client/models/singularity.py +2 -2
  231. wandelbots_api_client/models/sphere.py +1 -1
  232. wandelbots_api_client/models/sphere2.py +2 -2
  233. wandelbots_api_client/models/sphere3.py +2 -2
  234. wandelbots_api_client/models/standstill.py +1 -1
  235. wandelbots_api_client/models/standstill_standstill.py +3 -3
  236. wandelbots_api_client/models/start_movement_request.py +5 -5
  237. wandelbots_api_client/models/start_on_io.py +2 -2
  238. wandelbots_api_client/models/status.py +3 -3
  239. wandelbots_api_client/models/stop_response.py +3 -3
  240. wandelbots_api_client/models/stream_move_backward.py +1 -1
  241. wandelbots_api_client/models/stream_move_forward.py +1 -1
  242. wandelbots_api_client/models/stream_move_playback_speed.py +1 -1
  243. wandelbots_api_client/models/stream_move_response.py +3 -3
  244. wandelbots_api_client/models/stream_move_to_trajectory.py +1 -1
  245. wandelbots_api_client/models/stream_stop.py +1 -1
  246. wandelbots_api_client/models/tcp_pose.py +4 -4
  247. wandelbots_api_client/models/tcp_pose_request.py +4 -4
  248. wandelbots_api_client/models/tool_geometry.py +2 -2
  249. wandelbots_api_client/models/trajectory_sample.py +11 -11
  250. wandelbots_api_client/models/trigger_object.py +8 -8
  251. wandelbots_api_client/models/universalrobots_controller.py +2 -2
  252. wandelbots_api_client/models/update_nova_version_request.py +1 -1
  253. wandelbots_api_client/models/update_program_metadata_request.py +3 -3
  254. wandelbots_api_client/models/update_recipe_metadata_request.py +3 -3
  255. wandelbots_api_client/models/update_trigger_request.py +3 -3
  256. wandelbots_api_client/models/validation_error.py +3 -3
  257. wandelbots_api_client/models/validation_error2.py +3 -3
  258. wandelbots_api_client/models/vector3d.py +3 -3
  259. wandelbots_api_client/models/version_number.py +8 -8
  260. wandelbots_api_client/models/virtual_controller.py +5 -5
  261. wandelbots_api_client/models/virtual_controller_types.py +3 -0
  262. wandelbots_api_client/models/virtual_robot_configuration.py +2 -2
  263. wandelbots_api_client/models/yaskawa_controller.py +2 -2
  264. wandelbots_api_client/v2/__init__.py +1 -1
  265. wandelbots_api_client/v2/api/application_api.py +9 -9
  266. wandelbots_api_client/v2/api/bus_inputs_outputs_api.py +928 -79
  267. wandelbots_api_client/v2/api/cell_api.py +6 -6
  268. wandelbots_api_client/v2/api/controller_api.py +33 -29
  269. wandelbots_api_client/v2/api/controller_inputs_outputs_api.py +12 -10
  270. wandelbots_api_client/v2/api/jogging_api.py +6 -3
  271. wandelbots_api_client/v2/api/kinematics_api.py +12 -13
  272. wandelbots_api_client/v2/api/license_api.py +6 -6
  273. wandelbots_api_client/v2/api/motion_group_api.py +8 -6
  274. wandelbots_api_client/v2/api/motion_group_models_api.py +11 -47
  275. wandelbots_api_client/v2/api/store_collision_components_api.py +799 -25
  276. wandelbots_api_client/v2/api/store_collision_setups_api.py +262 -4
  277. wandelbots_api_client/v2/api/store_object_api.py +9 -9
  278. wandelbots_api_client/v2/api/trajectory_caching_api.py +12 -12
  279. wandelbots_api_client/v2/api/trajectory_execution_api.py +6 -3
  280. wandelbots_api_client/v2/api/trajectory_planning_api.py +15 -16
  281. wandelbots_api_client/v2/api/virtual_controller_api.py +51 -36
  282. wandelbots_api_client/v2/api/virtual_controller_behavior_api.py +18 -9
  283. wandelbots_api_client/v2/api/virtual_controller_inputs_outputs_api.py +3 -3
  284. wandelbots_api_client/v2/api_client.py +1 -1
  285. wandelbots_api_client/v2/configuration.py +1 -1
  286. wandelbots_api_client/v2/models/__init__.py +44 -26
  287. wandelbots_api_client/v2/models/abb_controller.py +6 -9
  288. wandelbots_api_client/v2/models/abb_controller_egm_server.py +2 -2
  289. wandelbots_api_client/v2/models/activate_license_request.py +1 -1
  290. wandelbots_api_client/v2/models/add_trajectory_error.py +3 -3
  291. wandelbots_api_client/v2/models/add_trajectory_error_data.py +56 -56
  292. wandelbots_api_client/v2/models/add_trajectory_request.py +3 -3
  293. wandelbots_api_client/v2/models/add_trajectory_response.py +2 -2
  294. wandelbots_api_client/v2/models/app.py +9 -9
  295. wandelbots_api_client/v2/models/behavior.py +1 -1
  296. wandelbots_api_client/v2/models/blending_auto.py +4 -3
  297. wandelbots_api_client/v2/models/blending_position.py +2 -2
  298. wandelbots_api_client/v2/models/boolean_value.py +4 -7
  299. wandelbots_api_client/v2/models/box.py +5 -5
  300. wandelbots_api_client/v2/models/{io_description2.py → bus_io_description.py} +14 -14
  301. wandelbots_api_client/v2/models/bus_io_modbus_client.py +104 -0
  302. wandelbots_api_client/v2/models/bus_io_modbus_server.py +115 -0
  303. wandelbots_api_client/v2/models/bus_io_modbus_tcp_client.py +106 -0
  304. wandelbots_api_client/v2/models/bus_io_modbus_tcp_server.py +104 -0
  305. wandelbots_api_client/v2/models/bus_io_modbus_virtual.py +98 -0
  306. wandelbots_api_client/v2/models/bus_io_profinet.py +6 -9
  307. wandelbots_api_client/v2/models/bus_io_profinet_default_route.py +2 -2
  308. wandelbots_api_client/v2/models/bus_io_profinet_ip_config.py +3 -3
  309. wandelbots_api_client/v2/models/bus_io_profinet_network.py +3 -3
  310. wandelbots_api_client/v2/models/bus_io_profinet_virtual.py +3 -6
  311. wandelbots_api_client/v2/models/bus_io_type.py +80 -8
  312. wandelbots_api_client/v2/models/bus_ios_state.py +2 -2
  313. wandelbots_api_client/v2/models/capsule.py +3 -3
  314. wandelbots_api_client/v2/models/cartesian_limits.py +4 -4
  315. wandelbots_api_client/v2/models/cell.py +5 -5
  316. wandelbots_api_client/v2/models/collider.py +3 -3
  317. wandelbots_api_client/v2/models/collision.py +6 -6
  318. wandelbots_api_client/v2/models/collision_contact.py +2 -2
  319. wandelbots_api_client/v2/models/collision_error.py +1 -1
  320. wandelbots_api_client/v2/models/collision_setup.py +4 -4
  321. wandelbots_api_client/v2/models/configuration_archive_status_creating.py +2 -2
  322. wandelbots_api_client/v2/models/configuration_archive_status_error.py +2 -2
  323. wandelbots_api_client/v2/models/configuration_archive_status_success.py +1 -1
  324. wandelbots_api_client/v2/models/configuration_resource.py +3 -3
  325. wandelbots_api_client/v2/models/container_environment_inner.py +2 -2
  326. wandelbots_api_client/v2/models/container_image.py +3 -3
  327. wandelbots_api_client/v2/models/container_image_secrets_inner.py +1 -1
  328. wandelbots_api_client/v2/models/container_resources.py +2 -2
  329. wandelbots_api_client/v2/models/container_storage.py +2 -2
  330. wandelbots_api_client/v2/models/controller_description.py +4 -4
  331. wandelbots_api_client/v2/models/convex_hull.py +2 -2
  332. wandelbots_api_client/v2/models/coordinate_system.py +6 -6
  333. wandelbots_api_client/v2/models/coordinate_system_data.py +5 -5
  334. wandelbots_api_client/v2/models/cubic_spline_parameter.py +2 -2
  335. wandelbots_api_client/v2/models/cycle_time.py +3 -2
  336. wandelbots_api_client/v2/models/cylinder.py +3 -3
  337. wandelbots_api_client/v2/models/dh_parameter.py +5 -5
  338. wandelbots_api_client/v2/models/error.py +2 -2
  339. wandelbots_api_client/v2/models/error_invalid_joint_count.py +3 -3
  340. wandelbots_api_client/v2/models/error_joint_limit_exceeded.py +4 -3
  341. wandelbots_api_client/v2/models/error_joint_position_collision.py +4 -4
  342. wandelbots_api_client/v2/models/error_max_iterations_exceeded.py +2 -2
  343. wandelbots_api_client/v2/models/execute.py +2 -2
  344. wandelbots_api_client/v2/models/execute_jogging_request.py +28 -0
  345. wandelbots_api_client/v2/models/execute_jogging_response.py +25 -0
  346. wandelbots_api_client/v2/models/execute_trajectory_request.py +28 -0
  347. wandelbots_api_client/v2/models/execute_trajectory_response.py +25 -0
  348. wandelbots_api_client/v2/models/external_joint_stream_datapoint.py +2 -2
  349. wandelbots_api_client/v2/models/external_joint_stream_request.py +1 -1
  350. wandelbots_api_client/v2/models/fanuc_controller.py +4 -7
  351. wandelbots_api_client/v2/models/feedback_collision.py +4 -4
  352. wandelbots_api_client/v2/models/feedback_joint_limit_exceeded.py +5 -4
  353. wandelbots_api_client/v2/models/feedback_out_of_workspace.py +2 -2
  354. wandelbots_api_client/v2/models/feedback_singularity.py +3 -3
  355. wandelbots_api_client/v2/models/flag.py +1 -1
  356. wandelbots_api_client/v2/models/float_value.py +4 -7
  357. wandelbots_api_client/v2/models/forward_kinematics422_response.py +1 -1
  358. wandelbots_api_client/v2/models/forward_kinematics_request.py +4 -4
  359. wandelbots_api_client/v2/models/forward_kinematics_response.py +1 -1
  360. wandelbots_api_client/v2/models/forward_kinematics_validation_error.py +5 -5
  361. wandelbots_api_client/v2/models/get_trajectory_response.py +3 -3
  362. wandelbots_api_client/v2/models/http_validation_error.py +1 -1
  363. wandelbots_api_client/v2/models/image_credentials.py +3 -3
  364. wandelbots_api_client/v2/models/{inconsitent_trajectory_size.py → inconsistent_trajectory_size_error.py} +7 -7
  365. wandelbots_api_client/v2/models/{inconsitent_trajectory_size_inconsistent_trajectory_size.py → inconsistent_trajectory_size_error_inconsistent_trajectory_size.py} +7 -7
  366. wandelbots_api_client/v2/models/initialize_jogging_request.py +5 -8
  367. wandelbots_api_client/v2/models/initialize_jogging_response.py +2 -2
  368. wandelbots_api_client/v2/models/initialize_movement_request.py +5 -8
  369. wandelbots_api_client/v2/models/initialize_movement_response.py +3 -3
  370. wandelbots_api_client/v2/models/integer_value.py +4 -7
  371. wandelbots_api_client/v2/models/{invalid_dof.py → invalid_dof_error.py} +7 -7
  372. wandelbots_api_client/v2/models/{invalid_dof_invalid_dof.py → invalid_dof_error_invalid_dof.py} +6 -6
  373. wandelbots_api_client/v2/models/inverse_kinematics422_response.py +1 -1
  374. wandelbots_api_client/v2/models/inverse_kinematics_request.py +6 -6
  375. wandelbots_api_client/v2/models/inverse_kinematics_response.py +1 -1
  376. wandelbots_api_client/v2/models/inverse_kinematics_validation_error.py +5 -5
  377. wandelbots_api_client/v2/models/io_boolean_value.py +5 -8
  378. wandelbots_api_client/v2/models/{io_description_min.py → io_boundary.py} +8 -8
  379. wandelbots_api_client/v2/models/io_description.py +11 -11
  380. wandelbots_api_client/v2/models/io_float_value.py +5 -8
  381. wandelbots_api_client/v2/models/io_integer_value.py +5 -8
  382. wandelbots_api_client/v2/models/jogging_details.py +2 -2
  383. wandelbots_api_client/v2/models/jogging_paused_by_user.py +1 -1
  384. wandelbots_api_client/v2/models/jogging_paused_near_collision.py +2 -2
  385. wandelbots_api_client/v2/models/jogging_paused_near_joint_limit.py +4 -3
  386. wandelbots_api_client/v2/models/jogging_paused_on_io.py +1 -1
  387. wandelbots_api_client/v2/models/jogging_running.py +1 -1
  388. wandelbots_api_client/v2/models/{joint_limit_exceeded.py → joint_limit_exceeded_error.py} +5 -5
  389. wandelbots_api_client/v2/models/joint_limits.py +4 -4
  390. wandelbots_api_client/v2/models/joint_trajectory.py +3 -3
  391. wandelbots_api_client/v2/models/joint_velocity_request.py +4 -7
  392. wandelbots_api_client/v2/models/joint_velocity_response.py +2 -2
  393. wandelbots_api_client/v2/models/kuka_controller.py +6 -9
  394. wandelbots_api_client/v2/models/kuka_controller_rsi_server.py +2 -2
  395. wandelbots_api_client/v2/models/license.py +10 -10
  396. wandelbots_api_client/v2/models/license_status.py +2 -2
  397. wandelbots_api_client/v2/models/limit_range.py +2 -2
  398. wandelbots_api_client/v2/models/limit_set.py +5 -5
  399. wandelbots_api_client/v2/models/limits_override.py +6 -6
  400. wandelbots_api_client/v2/models/list_trajectories_response.py +1 -1
  401. wandelbots_api_client/v2/models/midpoint_insertion_algorithm.py +2 -2
  402. wandelbots_api_client/v2/models/modbus_io.py +105 -0
  403. wandelbots_api_client/v2/models/modbus_io_area.py +40 -0
  404. wandelbots_api_client/v2/models/modbus_io_byte_order.py +40 -0
  405. wandelbots_api_client/v2/models/{http_validation_error2.py → modbus_io_data.py} +21 -26
  406. wandelbots_api_client/v2/models/modbus_io_type_enum.py +39 -0
  407. wandelbots_api_client/v2/models/motion_command.py +3 -3
  408. wandelbots_api_client/v2/models/motion_group_description.py +12 -11
  409. wandelbots_api_client/v2/models/motion_group_info.py +5 -4
  410. wandelbots_api_client/v2/models/motion_group_joints.py +4 -4
  411. wandelbots_api_client/v2/models/motion_group_setup.py +9 -8
  412. wandelbots_api_client/v2/models/motion_group_state.py +16 -15
  413. wandelbots_api_client/v2/models/motion_group_state_joint_limit_reached.py +1 -1
  414. wandelbots_api_client/v2/models/movement_error_response.py +2 -2
  415. wandelbots_api_client/v2/models/{nan_value.py → nan_value_error.py} +7 -7
  416. wandelbots_api_client/v2/models/{nan_value_nan_value.py → nan_value_error_nan_value.py} +4 -4
  417. wandelbots_api_client/v2/models/op_mode.py +1 -1
  418. wandelbots_api_client/v2/models/operation_limits.py +4 -4
  419. wandelbots_api_client/v2/models/path_cartesian_ptp.py +2 -2
  420. wandelbots_api_client/v2/models/path_circle.py +3 -3
  421. wandelbots_api_client/v2/models/path_cubic_spline.py +2 -2
  422. wandelbots_api_client/v2/models/path_joint_ptp.py +2 -2
  423. wandelbots_api_client/v2/models/path_line.py +2 -2
  424. wandelbots_api_client/v2/models/pause_jogging_request.py +3 -6
  425. wandelbots_api_client/v2/models/pause_jogging_response.py +2 -2
  426. wandelbots_api_client/v2/models/pause_movement_request.py +3 -6
  427. wandelbots_api_client/v2/models/pause_movement_response.py +2 -2
  428. wandelbots_api_client/v2/models/pause_on_io.py +3 -3
  429. wandelbots_api_client/v2/models/payload.py +4 -4
  430. wandelbots_api_client/v2/models/plan422_response.py +1 -1
  431. wandelbots_api_client/v2/models/plan_collision_free_failed_response.py +1 -1
  432. wandelbots_api_client/v2/models/plan_collision_free_request.py +4 -4
  433. wandelbots_api_client/v2/models/plan_collision_free_response.py +1 -1
  434. wandelbots_api_client/v2/models/plan_trajectory_failed_response.py +3 -3
  435. wandelbots_api_client/v2/models/plan_trajectory_request.py +3 -3
  436. wandelbots_api_client/v2/models/plan_trajectory_response.py +1 -1
  437. wandelbots_api_client/v2/models/plan_validation_error.py +5 -5
  438. wandelbots_api_client/v2/models/plane.py +1 -1
  439. wandelbots_api_client/v2/models/playback_speed_request.py +6 -8
  440. wandelbots_api_client/v2/models/playback_speed_response.py +2 -2
  441. wandelbots_api_client/v2/models/pose.py +2 -2
  442. wandelbots_api_client/v2/models/profinet_description.py +5 -5
  443. wandelbots_api_client/v2/models/profinet_input_output_config.py +3 -3
  444. wandelbots_api_client/v2/models/profinet_io.py +8 -8
  445. wandelbots_api_client/v2/models/profinet_io_data.py +7 -7
  446. wandelbots_api_client/v2/models/profinet_io_direction.py +1 -1
  447. wandelbots_api_client/v2/models/profinet_slot_description.py +4 -4
  448. wandelbots_api_client/v2/models/profinet_sub_slot_description.py +3 -3
  449. wandelbots_api_client/v2/models/program.py +6 -6
  450. wandelbots_api_client/v2/models/program_run.py +14 -12
  451. wandelbots_api_client/v2/models/program_start_request.py +1 -1
  452. wandelbots_api_client/v2/models/rectangle.py +3 -3
  453. wandelbots_api_client/v2/models/rectangular_capsule.py +4 -4
  454. wandelbots_api_client/v2/models/robot_controller.py +2 -2
  455. wandelbots_api_client/v2/models/robot_controller_state.py +11 -10
  456. wandelbots_api_client/v2/models/robot_tcp.py +5 -5
  457. wandelbots_api_client/v2/models/robot_tcp_data.py +4 -4
  458. wandelbots_api_client/v2/models/rrt_connect_algorithm.py +6 -6
  459. wandelbots_api_client/v2/models/service_status.py +3 -3
  460. wandelbots_api_client/v2/models/service_status_response.py +2 -2
  461. wandelbots_api_client/v2/models/service_status_status.py +3 -3
  462. wandelbots_api_client/v2/models/set_io.py +3 -3
  463. wandelbots_api_client/v2/models/sphere.py +2 -2
  464. wandelbots_api_client/v2/models/start_movement_request.py +11 -12
  465. wandelbots_api_client/v2/models/start_movement_response.py +2 -2
  466. wandelbots_api_client/v2/models/start_on_io.py +3 -3
  467. wandelbots_api_client/v2/models/stream_io_values_response.py +5 -4
  468. wandelbots_api_client/v2/models/tcp_offset.py +2 -2
  469. wandelbots_api_client/v2/models/{tcp_required.py → tcp_required_error.py} +4 -4
  470. wandelbots_api_client/v2/models/tcp_velocity_request.py +5 -8
  471. wandelbots_api_client/v2/models/tcp_velocity_response.py +2 -2
  472. wandelbots_api_client/v2/models/{torque_exceeded.py → torque_exceeded_error.py} +7 -7
  473. wandelbots_api_client/v2/models/{torque_exceeded_torque_exceeded.py → torque_exceeded_error_torque_exceeded.py} +6 -6
  474. wandelbots_api_client/v2/models/trajectory_data.py +5 -5
  475. wandelbots_api_client/v2/models/trajectory_details.py +4 -4
  476. wandelbots_api_client/v2/models/trajectory_ended.py +1 -1
  477. wandelbots_api_client/v2/models/trajectory_id.py +3 -3
  478. wandelbots_api_client/v2/models/trajectory_paused_by_user.py +1 -1
  479. wandelbots_api_client/v2/models/trajectory_paused_on_io.py +1 -1
  480. wandelbots_api_client/v2/models/trajectory_running.py +4 -3
  481. wandelbots_api_client/v2/models/trajectory_wait_for_io.py +1 -1
  482. wandelbots_api_client/v2/models/universalrobots_controller.py +4 -7
  483. wandelbots_api_client/v2/models/update_nova_version_request.py +1 -1
  484. wandelbots_api_client/v2/models/validation_error.py +4 -4
  485. wandelbots_api_client/v2/models/validation_error2.py +3 -3
  486. wandelbots_api_client/v2/models/virtual_controller.py +6 -9
  487. wandelbots_api_client/v2/models/virtual_controller_types.py +3 -0
  488. wandelbots_api_client/v2/models/virtual_robot_configuration.py +2 -2
  489. wandelbots_api_client/v2/models/wait_for_io_event_request.py +2 -2
  490. wandelbots_api_client/v2/models/yaskawa_controller.py +4 -7
  491. wandelbots_api_client/v2_pydantic/__init__.py +51 -0
  492. wandelbots_api_client/v2_pydantic/api/__init__.py +49 -0
  493. wandelbots_api_client/v2_pydantic/api/application_api.py +1822 -0
  494. wandelbots_api_client/v2_pydantic/api/bus_inputs_outputs_api.py +4652 -0
  495. wandelbots_api_client/v2_pydantic/api/cell_api.py +2025 -0
  496. wandelbots_api_client/v2_pydantic/api/controller_api.py +3758 -0
  497. wandelbots_api_client/v2_pydantic/api/controller_inputs_outputs_api.py +1408 -0
  498. wandelbots_api_client/v2_pydantic/api/jogging_api.py +126 -0
  499. wandelbots_api_client/v2_pydantic/api/kinematics_api.py +649 -0
  500. wandelbots_api_client/v2_pydantic/api/license_api.py +1074 -0
  501. wandelbots_api_client/v2_pydantic/api/motion_group_api.py +740 -0
  502. wandelbots_api_client/v2_pydantic/api/motion_group_models_api.py +570 -0
  503. wandelbots_api_client/v2_pydantic/api/program_api.py +1200 -0
  504. wandelbots_api_client/v2_pydantic/api/store_collision_components_api.py +4216 -0
  505. wandelbots_api_client/v2_pydantic/api/store_collision_setups_api.py +1435 -0
  506. wandelbots_api_client/v2_pydantic/api/store_object_api.py +1738 -0
  507. wandelbots_api_client/v2_pydantic/api/system_api.py +2454 -0
  508. wandelbots_api_client/v2_pydantic/api/trajectory_caching_api.py +1524 -0
  509. wandelbots_api_client/v2_pydantic/api/trajectory_execution_api.py +126 -0
  510. wandelbots_api_client/v2_pydantic/api/trajectory_planning_api.py +649 -0
  511. wandelbots_api_client/v2_pydantic/api/virtual_controller_api.py +4656 -0
  512. wandelbots_api_client/v2_pydantic/api/virtual_controller_behavior_api.py +1001 -0
  513. wandelbots_api_client/v2_pydantic/api/virtual_controller_inputs_outputs_api.py +1022 -0
  514. wandelbots_api_client/v2_pydantic/api_client.py +810 -0
  515. wandelbots_api_client/v2_pydantic/api_response.py +21 -0
  516. wandelbots_api_client/v2_pydantic/configuration.py +595 -0
  517. wandelbots_api_client/v2_pydantic/exceptions.py +216 -0
  518. wandelbots_api_client/v2_pydantic/models.py +4547 -0
  519. wandelbots_api_client/v2_pydantic/py.typed +0 -0
  520. wandelbots_api_client/v2_pydantic/rest.py +212 -0
  521. {wandelbots_api_client-25.8.0.dev88.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/METADATA +16 -15
  522. wandelbots_api_client-25.10.0.dev47.dist-info/RECORD +636 -0
  523. wandelbots_api_client-25.8.0.dev88.dist-info/RECORD +0 -597
  524. {wandelbots_api_client-25.8.0.dev88.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/WHEEL +0 -0
  525. {wandelbots_api_client-25.8.0.dev88.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/licenses/LICENSE +0 -0
  526. {wandelbots_api_client-25.8.0.dev88.dist-info → wandelbots_api_client-25.10.0.dev47.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,4656 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ Wandelbots NOVA API
5
+
6
+ Interact with robots in an easy and intuitive way. > **Note:** API version 2 is experimental and will experience functional changes.
7
+
8
+ The version of the OpenAPI document: 2.0.0 beta
9
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
10
+
11
+ Do not edit the class manually.
12
+ """ # noqa: E501
13
+
14
+
15
+ from furl import furl
16
+ import json
17
+ import humps
18
+ import re
19
+ import warnings
20
+ import websockets
21
+ from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt
22
+ from typing import Any, AsyncGenerator, Callable, Dict, List, Optional, Tuple, Union
23
+ from typing_extensions import Annotated
24
+ from urllib.parse import quote
25
+
26
+ from pydantic import Field, StrictBool, StrictStr
27
+ from typing import List, Optional
28
+ from typing_extensions import Annotated
29
+ from wandelbots_api_client.v2_pydantic.models import CoordinateSystem
30
+ from wandelbots_api_client.v2_pydantic.models import CoordinateSystemData
31
+ from wandelbots_api_client.v2_pydantic.models import Flag
32
+ from wandelbots_api_client.v2_pydantic.models import MotionGroupInfo
33
+ from wandelbots_api_client.v2_pydantic.models import MotionGroupJoints
34
+ from wandelbots_api_client.v2_pydantic.models import OpMode
35
+ from wandelbots_api_client.v2_pydantic.models import OperationMode
36
+ from wandelbots_api_client.v2_pydantic.models import RobotTcp
37
+ from wandelbots_api_client.v2_pydantic.models import RobotTcpData
38
+
39
+ from wandelbots_api_client.v2_pydantic.api_client import ApiClient, RequestSerialized
40
+ from wandelbots_api_client.v2_pydantic.api_response import ApiResponse
41
+ from wandelbots_api_client.v2_pydantic.rest import RESTResponseType
42
+
43
+ class VirtualControllerApi:
44
+ """NOTE: This class is auto generated by OpenAPI Generator
45
+ Ref: https://openapi-generator.tech
46
+
47
+ Do not edit the class manually.
48
+ """
49
+
50
+ def __init__(self, api_client=None) -> None:
51
+ if api_client is None:
52
+ api_client = ApiClient.get_default()
53
+ self.api_client = api_client
54
+
55
+ @validate_call
56
+ async def add_virtual_controller_coordinate_system(
57
+ self,
58
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
59
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
60
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
61
+ coordinate_system_data: CoordinateSystemData,
62
+ _request_timeout: Union[
63
+ None,
64
+ Annotated[StrictFloat, Field(gt=0)],
65
+ Tuple[
66
+ Annotated[StrictFloat, Field(gt=0)],
67
+ Annotated[StrictFloat, Field(gt=0)]
68
+ ]
69
+ ] = None,
70
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
71
+ _content_type: Optional[StrictStr] = None,
72
+ _headers: Optional[Dict[StrictStr, Any]] = None,
73
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
74
+ ) -> None:
75
+ """Add Coordinate Systems
76
+
77
+ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
78
+
79
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
80
+ :type cell: str
81
+ :param controller: Unique identifier to address a controller in the cell. (required)
82
+ :type controller: str
83
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
84
+ :type coordinate_system: str
85
+ :param coordinate_system_data: (required)
86
+ :type coordinate_system_data: CoordinateSystemData
87
+ :param _request_timeout: timeout setting for this request. If one
88
+ number provided, it will be total request
89
+ timeout. It can also be a pair (tuple) of
90
+ (connection, read) timeouts.
91
+ :type _request_timeout: int, tuple(int, int), optional
92
+ :param _request_auth: set to override the auth_settings for an a single
93
+ request; this effectively ignores the
94
+ authentication in the spec for a single request.
95
+ :type _request_auth: dict, optional
96
+ :param _content_type: force content-type for the request.
97
+ :type _content_type: str, Optional
98
+ :param _headers: set to override the headers for a single
99
+ request; this effectively ignores the headers
100
+ in the spec for a single request.
101
+ :type _headers: dict, optional
102
+ :param _host_index: set to override the host_index for a single
103
+ request; this effectively ignores the host_index
104
+ in the spec for a single request.
105
+ :type _host_index: int, optional
106
+ :return: Returns the result object.
107
+ """ # noqa: E501
108
+
109
+ _param = self._add_virtual_controller_coordinate_system_serialize(
110
+ cell=cell,
111
+ controller=controller,
112
+ coordinate_system=coordinate_system,
113
+ coordinate_system_data=coordinate_system_data,
114
+ _request_auth=_request_auth,
115
+ _content_type=_content_type,
116
+ _headers=_headers,
117
+ _host_index=_host_index
118
+ )
119
+
120
+ _response_types_map: Dict[str, Optional[str]] = {
121
+ '200': None,
122
+ '400': "Error",
123
+ '404': "Error",
124
+ }
125
+
126
+
127
+ response_data = await self.api_client.call_api(
128
+ *_param,
129
+ _request_timeout=_request_timeout
130
+ )
131
+ await response_data.read()
132
+ return self.api_client.response_deserialize(
133
+ response_data=response_data,
134
+ response_types_map=_response_types_map,
135
+ ).data
136
+
137
+
138
+ @validate_call
139
+ async def add_virtual_controller_coordinate_system_with_http_info(
140
+ self,
141
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
142
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
143
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
144
+ coordinate_system_data: CoordinateSystemData,
145
+ _request_timeout: Union[
146
+ None,
147
+ Annotated[StrictFloat, Field(gt=0)],
148
+ Tuple[
149
+ Annotated[StrictFloat, Field(gt=0)],
150
+ Annotated[StrictFloat, Field(gt=0)]
151
+ ]
152
+ ] = None,
153
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
154
+ _content_type: Optional[StrictStr] = None,
155
+ _headers: Optional[Dict[StrictStr, Any]] = None,
156
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
157
+ ) -> ApiResponse[None]:
158
+ """Add Coordinate Systems
159
+
160
+ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
161
+
162
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
163
+ :type cell: str
164
+ :param controller: Unique identifier to address a controller in the cell. (required)
165
+ :type controller: str
166
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
167
+ :type coordinate_system: str
168
+ :param coordinate_system_data: (required)
169
+ :type coordinate_system_data: CoordinateSystemData
170
+ :param _request_timeout: timeout setting for this request. If one
171
+ number provided, it will be total request
172
+ timeout. It can also be a pair (tuple) of
173
+ (connection, read) timeouts.
174
+ :type _request_timeout: int, tuple(int, int), optional
175
+ :param _request_auth: set to override the auth_settings for an a single
176
+ request; this effectively ignores the
177
+ authentication in the spec for a single request.
178
+ :type _request_auth: dict, optional
179
+ :param _content_type: force content-type for the request.
180
+ :type _content_type: str, Optional
181
+ :param _headers: set to override the headers for a single
182
+ request; this effectively ignores the headers
183
+ in the spec for a single request.
184
+ :type _headers: dict, optional
185
+ :param _host_index: set to override the host_index for a single
186
+ request; this effectively ignores the host_index
187
+ in the spec for a single request.
188
+ :type _host_index: int, optional
189
+ :return: Returns the result object.
190
+ """ # noqa: E501
191
+
192
+ _param = self._add_virtual_controller_coordinate_system_serialize(
193
+ cell=cell,
194
+ controller=controller,
195
+ coordinate_system=coordinate_system,
196
+ coordinate_system_data=coordinate_system_data,
197
+ _request_auth=_request_auth,
198
+ _content_type=_content_type,
199
+ _headers=_headers,
200
+ _host_index=_host_index
201
+ )
202
+
203
+ _response_types_map: Dict[str, Optional[str]] = {
204
+ '200': None,
205
+ '400': "Error",
206
+ '404': "Error",
207
+ }
208
+
209
+
210
+ response_data = await self.api_client.call_api(
211
+ *_param,
212
+ _request_timeout=_request_timeout
213
+ )
214
+ await response_data.read()
215
+ return self.api_client.response_deserialize(
216
+ response_data=response_data,
217
+ response_types_map=_response_types_map,
218
+ )
219
+
220
+
221
+ @validate_call
222
+ async def add_virtual_controller_coordinate_system_without_preload_content(
223
+ self,
224
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
225
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
226
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
227
+ coordinate_system_data: CoordinateSystemData,
228
+ _request_timeout: Union[
229
+ None,
230
+ Annotated[StrictFloat, Field(gt=0)],
231
+ Tuple[
232
+ Annotated[StrictFloat, Field(gt=0)],
233
+ Annotated[StrictFloat, Field(gt=0)]
234
+ ]
235
+ ] = None,
236
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
237
+ _content_type: Optional[StrictStr] = None,
238
+ _headers: Optional[Dict[StrictStr, Any]] = None,
239
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
240
+ ) -> RESTResponseType:
241
+ """Add Coordinate Systems
242
+
243
+ Adds a coordinate system to the robot controller. <!-- theme: info --> > #### NOTE > > When a new coordinate system is added, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
244
+
245
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
246
+ :type cell: str
247
+ :param controller: Unique identifier to address a controller in the cell. (required)
248
+ :type controller: str
249
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
250
+ :type coordinate_system: str
251
+ :param coordinate_system_data: (required)
252
+ :type coordinate_system_data: CoordinateSystemData
253
+ :param _request_timeout: timeout setting for this request. If one
254
+ number provided, it will be total request
255
+ timeout. It can also be a pair (tuple) of
256
+ (connection, read) timeouts.
257
+ :type _request_timeout: int, tuple(int, int), optional
258
+ :param _request_auth: set to override the auth_settings for an a single
259
+ request; this effectively ignores the
260
+ authentication in the spec for a single request.
261
+ :type _request_auth: dict, optional
262
+ :param _content_type: force content-type for the request.
263
+ :type _content_type: str, Optional
264
+ :param _headers: set to override the headers for a single
265
+ request; this effectively ignores the headers
266
+ in the spec for a single request.
267
+ :type _headers: dict, optional
268
+ :param _host_index: set to override the host_index for a single
269
+ request; this effectively ignores the host_index
270
+ in the spec for a single request.
271
+ :type _host_index: int, optional
272
+ :return: Returns the result object.
273
+ """ # noqa: E501
274
+
275
+ _param = self._add_virtual_controller_coordinate_system_serialize(
276
+ cell=cell,
277
+ controller=controller,
278
+ coordinate_system=coordinate_system,
279
+ coordinate_system_data=coordinate_system_data,
280
+ _request_auth=_request_auth,
281
+ _content_type=_content_type,
282
+ _headers=_headers,
283
+ _host_index=_host_index
284
+ )
285
+
286
+ _response_types_map: Dict[str, Optional[str]] = {
287
+ '200': None,
288
+ '400': "Error",
289
+ '404': "Error",
290
+ }
291
+
292
+
293
+ response_data = await self.api_client.call_api(
294
+ *_param,
295
+ _request_timeout=_request_timeout
296
+ )
297
+ return response_data.response
298
+
299
+
300
+ def _add_virtual_controller_coordinate_system_serialize(
301
+ self,
302
+ cell,
303
+ controller,
304
+ coordinate_system,
305
+ coordinate_system_data,
306
+ _request_auth,
307
+ _content_type,
308
+ _headers,
309
+ _host_index,
310
+ ) -> RequestSerialized:
311
+
312
+ _host = None
313
+
314
+ _collection_formats: Dict[str, str] = {
315
+ }
316
+
317
+ _path_params: Dict[str, str] = {}
318
+ _query_params: List[Tuple[str, str]] = []
319
+ _header_params: Dict[str, Optional[str]] = _headers or {}
320
+ _form_params: List[Tuple[str, str]] = []
321
+ _files: Dict[str, Union[str, bytes]] = {}
322
+ _body_params: Optional[bytes] = None
323
+
324
+ # process the path parameters
325
+ if cell is not None:
326
+ _path_params['cell'] = cell
327
+ if controller is not None:
328
+ _path_params['controller'] = controller
329
+ if coordinate_system is not None:
330
+ _path_params['coordinate-system'] = coordinate_system
331
+ # process the query parameters
332
+ # process the header parameters
333
+ # process the form parameters
334
+ # process the body parameter
335
+ if coordinate_system_data is not None:
336
+ _body_params = coordinate_system_data
337
+
338
+
339
+ # set the HTTP header `Accept`
340
+ _header_params['Accept'] = self.api_client.select_header_accept(
341
+ [
342
+ 'application/json'
343
+ ]
344
+ )
345
+
346
+ # set the HTTP header `Content-Type`
347
+ if _content_type:
348
+ _header_params['Content-Type'] = _content_type
349
+ else:
350
+ _default_content_type = (
351
+ self.api_client.select_header_content_type(
352
+ [
353
+ 'application/json'
354
+ ]
355
+ )
356
+ )
357
+ if _default_content_type is not None:
358
+ _header_params['Content-Type'] = _default_content_type
359
+
360
+ # authentication setting
361
+ _auth_settings: List[str] = [
362
+ 'BasicAuth',
363
+ 'BearerAuth'
364
+ ]
365
+
366
+ return self.api_client.param_serialize(
367
+ method='PUT',
368
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}',
369
+ path_params=_path_params,
370
+ query_params=_query_params,
371
+ header_params=_header_params,
372
+ body=_body_params,
373
+ post_params=_form_params,
374
+ files=_files,
375
+ auth_settings=_auth_settings,
376
+ collection_formats=_collection_formats,
377
+ _host=_host,
378
+ _request_auth=_request_auth
379
+ )
380
+
381
+
382
+
383
+ @validate_call
384
+ async def add_virtual_controller_tcp(
385
+ self,
386
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
387
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
388
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
389
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
390
+ robot_tcp_data: RobotTcpData,
391
+ _request_timeout: Union[
392
+ None,
393
+ Annotated[StrictFloat, Field(gt=0)],
394
+ Tuple[
395
+ Annotated[StrictFloat, Field(gt=0)],
396
+ Annotated[StrictFloat, Field(gt=0)]
397
+ ]
398
+ ] = None,
399
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
400
+ _content_type: Optional[StrictStr] = None,
401
+ _headers: Optional[Dict[StrictStr, Any]] = None,
402
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
403
+ ) -> None:
404
+ """Add TCP
405
+
406
+ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange's coordinate system. > **NOTE** > > Ensure the TCP's position is within the robot's reach. Refer to the robot's documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
407
+
408
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
409
+ :type cell: str
410
+ :param controller: Unique identifier to address a controller in the cell. (required)
411
+ :type controller: str
412
+ :param motion_group: The motion-group identifier. (required)
413
+ :type motion_group: str
414
+ :param tcp: The unique identifier of a TCP. (required)
415
+ :type tcp: str
416
+ :param robot_tcp_data: (required)
417
+ :type robot_tcp_data: RobotTcpData
418
+ :param _request_timeout: timeout setting for this request. If one
419
+ number provided, it will be total request
420
+ timeout. It can also be a pair (tuple) of
421
+ (connection, read) timeouts.
422
+ :type _request_timeout: int, tuple(int, int), optional
423
+ :param _request_auth: set to override the auth_settings for an a single
424
+ request; this effectively ignores the
425
+ authentication in the spec for a single request.
426
+ :type _request_auth: dict, optional
427
+ :param _content_type: force content-type for the request.
428
+ :type _content_type: str, Optional
429
+ :param _headers: set to override the headers for a single
430
+ request; this effectively ignores the headers
431
+ in the spec for a single request.
432
+ :type _headers: dict, optional
433
+ :param _host_index: set to override the host_index for a single
434
+ request; this effectively ignores the host_index
435
+ in the spec for a single request.
436
+ :type _host_index: int, optional
437
+ :return: Returns the result object.
438
+ """ # noqa: E501
439
+
440
+ _param = self._add_virtual_controller_tcp_serialize(
441
+ cell=cell,
442
+ controller=controller,
443
+ motion_group=motion_group,
444
+ tcp=tcp,
445
+ robot_tcp_data=robot_tcp_data,
446
+ _request_auth=_request_auth,
447
+ _content_type=_content_type,
448
+ _headers=_headers,
449
+ _host_index=_host_index
450
+ )
451
+
452
+ _response_types_map: Dict[str, Optional[str]] = {
453
+ '200': None,
454
+ '400': "Error",
455
+ '404': "Error",
456
+ }
457
+
458
+
459
+ response_data = await self.api_client.call_api(
460
+ *_param,
461
+ _request_timeout=_request_timeout
462
+ )
463
+ await response_data.read()
464
+ return self.api_client.response_deserialize(
465
+ response_data=response_data,
466
+ response_types_map=_response_types_map,
467
+ ).data
468
+
469
+
470
+ @validate_call
471
+ async def add_virtual_controller_tcp_with_http_info(
472
+ self,
473
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
474
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
475
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
476
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
477
+ robot_tcp_data: RobotTcpData,
478
+ _request_timeout: Union[
479
+ None,
480
+ Annotated[StrictFloat, Field(gt=0)],
481
+ Tuple[
482
+ Annotated[StrictFloat, Field(gt=0)],
483
+ Annotated[StrictFloat, Field(gt=0)]
484
+ ]
485
+ ] = None,
486
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
487
+ _content_type: Optional[StrictStr] = None,
488
+ _headers: Optional[Dict[StrictStr, Any]] = None,
489
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
490
+ ) -> ApiResponse[None]:
491
+ """Add TCP
492
+
493
+ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange's coordinate system. > **NOTE** > > Ensure the TCP's position is within the robot's reach. Refer to the robot's documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
494
+
495
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
496
+ :type cell: str
497
+ :param controller: Unique identifier to address a controller in the cell. (required)
498
+ :type controller: str
499
+ :param motion_group: The motion-group identifier. (required)
500
+ :type motion_group: str
501
+ :param tcp: The unique identifier of a TCP. (required)
502
+ :type tcp: str
503
+ :param robot_tcp_data: (required)
504
+ :type robot_tcp_data: RobotTcpData
505
+ :param _request_timeout: timeout setting for this request. If one
506
+ number provided, it will be total request
507
+ timeout. It can also be a pair (tuple) of
508
+ (connection, read) timeouts.
509
+ :type _request_timeout: int, tuple(int, int), optional
510
+ :param _request_auth: set to override the auth_settings for an a single
511
+ request; this effectively ignores the
512
+ authentication in the spec for a single request.
513
+ :type _request_auth: dict, optional
514
+ :param _content_type: force content-type for the request.
515
+ :type _content_type: str, Optional
516
+ :param _headers: set to override the headers for a single
517
+ request; this effectively ignores the headers
518
+ in the spec for a single request.
519
+ :type _headers: dict, optional
520
+ :param _host_index: set to override the host_index for a single
521
+ request; this effectively ignores the host_index
522
+ in the spec for a single request.
523
+ :type _host_index: int, optional
524
+ :return: Returns the result object.
525
+ """ # noqa: E501
526
+
527
+ _param = self._add_virtual_controller_tcp_serialize(
528
+ cell=cell,
529
+ controller=controller,
530
+ motion_group=motion_group,
531
+ tcp=tcp,
532
+ robot_tcp_data=robot_tcp_data,
533
+ _request_auth=_request_auth,
534
+ _content_type=_content_type,
535
+ _headers=_headers,
536
+ _host_index=_host_index
537
+ )
538
+
539
+ _response_types_map: Dict[str, Optional[str]] = {
540
+ '200': None,
541
+ '400': "Error",
542
+ '404': "Error",
543
+ }
544
+
545
+
546
+ response_data = await self.api_client.call_api(
547
+ *_param,
548
+ _request_timeout=_request_timeout
549
+ )
550
+ await response_data.read()
551
+ return self.api_client.response_deserialize(
552
+ response_data=response_data,
553
+ response_types_map=_response_types_map,
554
+ )
555
+
556
+
557
+ @validate_call
558
+ async def add_virtual_controller_tcp_without_preload_content(
559
+ self,
560
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
561
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
562
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
563
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
564
+ robot_tcp_data: RobotTcpData,
565
+ _request_timeout: Union[
566
+ None,
567
+ Annotated[StrictFloat, Field(gt=0)],
568
+ Tuple[
569
+ Annotated[StrictFloat, Field(gt=0)],
570
+ Annotated[StrictFloat, Field(gt=0)]
571
+ ]
572
+ ] = None,
573
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
574
+ _content_type: Optional[StrictStr] = None,
575
+ _headers: Optional[Dict[StrictStr, Any]] = None,
576
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
577
+ ) -> RESTResponseType:
578
+ """Add TCP
579
+
580
+ Adds a new TCP or updates an existing TCP in the motion group. The position and rotation values in the request body are defined within the flange's coordinate system. > **NOTE** > > Ensure the TCP's position is within the robot's reach. Refer to the robot's documentation or data sheet for details like joint limits or reach. <!-- theme: info --> > #### NOTE > > When adding or updating a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the TCP is available for operation. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the TCP may not yet be visible nor usable.
581
+
582
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
583
+ :type cell: str
584
+ :param controller: Unique identifier to address a controller in the cell. (required)
585
+ :type controller: str
586
+ :param motion_group: The motion-group identifier. (required)
587
+ :type motion_group: str
588
+ :param tcp: The unique identifier of a TCP. (required)
589
+ :type tcp: str
590
+ :param robot_tcp_data: (required)
591
+ :type robot_tcp_data: RobotTcpData
592
+ :param _request_timeout: timeout setting for this request. If one
593
+ number provided, it will be total request
594
+ timeout. It can also be a pair (tuple) of
595
+ (connection, read) timeouts.
596
+ :type _request_timeout: int, tuple(int, int), optional
597
+ :param _request_auth: set to override the auth_settings for an a single
598
+ request; this effectively ignores the
599
+ authentication in the spec for a single request.
600
+ :type _request_auth: dict, optional
601
+ :param _content_type: force content-type for the request.
602
+ :type _content_type: str, Optional
603
+ :param _headers: set to override the headers for a single
604
+ request; this effectively ignores the headers
605
+ in the spec for a single request.
606
+ :type _headers: dict, optional
607
+ :param _host_index: set to override the host_index for a single
608
+ request; this effectively ignores the host_index
609
+ in the spec for a single request.
610
+ :type _host_index: int, optional
611
+ :return: Returns the result object.
612
+ """ # noqa: E501
613
+
614
+ _param = self._add_virtual_controller_tcp_serialize(
615
+ cell=cell,
616
+ controller=controller,
617
+ motion_group=motion_group,
618
+ tcp=tcp,
619
+ robot_tcp_data=robot_tcp_data,
620
+ _request_auth=_request_auth,
621
+ _content_type=_content_type,
622
+ _headers=_headers,
623
+ _host_index=_host_index
624
+ )
625
+
626
+ _response_types_map: Dict[str, Optional[str]] = {
627
+ '200': None,
628
+ '400': "Error",
629
+ '404': "Error",
630
+ }
631
+
632
+
633
+ response_data = await self.api_client.call_api(
634
+ *_param,
635
+ _request_timeout=_request_timeout
636
+ )
637
+ return response_data.response
638
+
639
+
640
+ def _add_virtual_controller_tcp_serialize(
641
+ self,
642
+ cell,
643
+ controller,
644
+ motion_group,
645
+ tcp,
646
+ robot_tcp_data,
647
+ _request_auth,
648
+ _content_type,
649
+ _headers,
650
+ _host_index,
651
+ ) -> RequestSerialized:
652
+
653
+ _host = None
654
+
655
+ _collection_formats: Dict[str, str] = {
656
+ }
657
+
658
+ _path_params: Dict[str, str] = {}
659
+ _query_params: List[Tuple[str, str]] = []
660
+ _header_params: Dict[str, Optional[str]] = _headers or {}
661
+ _form_params: List[Tuple[str, str]] = []
662
+ _files: Dict[str, Union[str, bytes]] = {}
663
+ _body_params: Optional[bytes] = None
664
+
665
+ # process the path parameters
666
+ if cell is not None:
667
+ _path_params['cell'] = cell
668
+ if controller is not None:
669
+ _path_params['controller'] = controller
670
+ if motion_group is not None:
671
+ _path_params['motion-group'] = motion_group
672
+ if tcp is not None:
673
+ _path_params['tcp'] = tcp
674
+ # process the query parameters
675
+ # process the header parameters
676
+ # process the form parameters
677
+ # process the body parameter
678
+ if robot_tcp_data is not None:
679
+ _body_params = robot_tcp_data
680
+
681
+
682
+ # set the HTTP header `Accept`
683
+ _header_params['Accept'] = self.api_client.select_header_accept(
684
+ [
685
+ 'application/json'
686
+ ]
687
+ )
688
+
689
+ # set the HTTP header `Content-Type`
690
+ if _content_type:
691
+ _header_params['Content-Type'] = _content_type
692
+ else:
693
+ _default_content_type = (
694
+ self.api_client.select_header_content_type(
695
+ [
696
+ 'application/json'
697
+ ]
698
+ )
699
+ )
700
+ if _default_content_type is not None:
701
+ _header_params['Content-Type'] = _default_content_type
702
+
703
+ # authentication setting
704
+ _auth_settings: List[str] = [
705
+ 'BasicAuth',
706
+ 'BearerAuth'
707
+ ]
708
+
709
+ return self.api_client.param_serialize(
710
+ method='PUT',
711
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}',
712
+ path_params=_path_params,
713
+ query_params=_query_params,
714
+ header_params=_header_params,
715
+ body=_body_params,
716
+ post_params=_form_params,
717
+ files=_files,
718
+ auth_settings=_auth_settings,
719
+ collection_formats=_collection_formats,
720
+ _host=_host,
721
+ _request_auth=_request_auth
722
+ )
723
+
724
+
725
+
726
+ @validate_call
727
+ async def delete_virtual_controller_coordinate_system(
728
+ self,
729
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
730
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
731
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
732
+ delete_dependent: Annotated[Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")] = None,
733
+ _request_timeout: Union[
734
+ None,
735
+ Annotated[StrictFloat, Field(gt=0)],
736
+ Tuple[
737
+ Annotated[StrictFloat, Field(gt=0)],
738
+ Annotated[StrictFloat, Field(gt=0)]
739
+ ]
740
+ ] = None,
741
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
742
+ _content_type: Optional[StrictStr] = None,
743
+ _headers: Optional[Dict[StrictStr, Any]] = None,
744
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
745
+ ) -> None:
746
+ """Delete Coordinate System
747
+
748
+ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
749
+
750
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
751
+ :type cell: str
752
+ :param controller: Unique identifier to address a controller in the cell. (required)
753
+ :type controller: str
754
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
755
+ :type coordinate_system: str
756
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
757
+ :type delete_dependent: bool
758
+ :param _request_timeout: timeout setting for this request. If one
759
+ number provided, it will be total request
760
+ timeout. It can also be a pair (tuple) of
761
+ (connection, read) timeouts.
762
+ :type _request_timeout: int, tuple(int, int), optional
763
+ :param _request_auth: set to override the auth_settings for an a single
764
+ request; this effectively ignores the
765
+ authentication in the spec for a single request.
766
+ :type _request_auth: dict, optional
767
+ :param _content_type: force content-type for the request.
768
+ :type _content_type: str, Optional
769
+ :param _headers: set to override the headers for a single
770
+ request; this effectively ignores the headers
771
+ in the spec for a single request.
772
+ :type _headers: dict, optional
773
+ :param _host_index: set to override the host_index for a single
774
+ request; this effectively ignores the host_index
775
+ in the spec for a single request.
776
+ :type _host_index: int, optional
777
+ :return: Returns the result object.
778
+ """ # noqa: E501
779
+
780
+ _param = self._delete_virtual_controller_coordinate_system_serialize(
781
+ cell=cell,
782
+ controller=controller,
783
+ coordinate_system=coordinate_system,
784
+ delete_dependent=delete_dependent,
785
+ _request_auth=_request_auth,
786
+ _content_type=_content_type,
787
+ _headers=_headers,
788
+ _host_index=_host_index
789
+ )
790
+
791
+ _response_types_map: Dict[str, Optional[str]] = {
792
+ '200': None,
793
+ '400': "Error",
794
+ '404': "Error",
795
+ }
796
+
797
+
798
+ response_data = await self.api_client.call_api(
799
+ *_param,
800
+ _request_timeout=_request_timeout
801
+ )
802
+ await response_data.read()
803
+ return self.api_client.response_deserialize(
804
+ response_data=response_data,
805
+ response_types_map=_response_types_map,
806
+ ).data
807
+
808
+
809
+ @validate_call
810
+ async def delete_virtual_controller_coordinate_system_with_http_info(
811
+ self,
812
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
813
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
814
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
815
+ delete_dependent: Annotated[Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")] = None,
816
+ _request_timeout: Union[
817
+ None,
818
+ Annotated[StrictFloat, Field(gt=0)],
819
+ Tuple[
820
+ Annotated[StrictFloat, Field(gt=0)],
821
+ Annotated[StrictFloat, Field(gt=0)]
822
+ ]
823
+ ] = None,
824
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
825
+ _content_type: Optional[StrictStr] = None,
826
+ _headers: Optional[Dict[StrictStr, Any]] = None,
827
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
828
+ ) -> ApiResponse[None]:
829
+ """Delete Coordinate System
830
+
831
+ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
832
+
833
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
834
+ :type cell: str
835
+ :param controller: Unique identifier to address a controller in the cell. (required)
836
+ :type controller: str
837
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
838
+ :type coordinate_system: str
839
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
840
+ :type delete_dependent: bool
841
+ :param _request_timeout: timeout setting for this request. If one
842
+ number provided, it will be total request
843
+ timeout. It can also be a pair (tuple) of
844
+ (connection, read) timeouts.
845
+ :type _request_timeout: int, tuple(int, int), optional
846
+ :param _request_auth: set to override the auth_settings for an a single
847
+ request; this effectively ignores the
848
+ authentication in the spec for a single request.
849
+ :type _request_auth: dict, optional
850
+ :param _content_type: force content-type for the request.
851
+ :type _content_type: str, Optional
852
+ :param _headers: set to override the headers for a single
853
+ request; this effectively ignores the headers
854
+ in the spec for a single request.
855
+ :type _headers: dict, optional
856
+ :param _host_index: set to override the host_index for a single
857
+ request; this effectively ignores the host_index
858
+ in the spec for a single request.
859
+ :type _host_index: int, optional
860
+ :return: Returns the result object.
861
+ """ # noqa: E501
862
+
863
+ _param = self._delete_virtual_controller_coordinate_system_serialize(
864
+ cell=cell,
865
+ controller=controller,
866
+ coordinate_system=coordinate_system,
867
+ delete_dependent=delete_dependent,
868
+ _request_auth=_request_auth,
869
+ _content_type=_content_type,
870
+ _headers=_headers,
871
+ _host_index=_host_index
872
+ )
873
+
874
+ _response_types_map: Dict[str, Optional[str]] = {
875
+ '200': None,
876
+ '400': "Error",
877
+ '404': "Error",
878
+ }
879
+
880
+
881
+ response_data = await self.api_client.call_api(
882
+ *_param,
883
+ _request_timeout=_request_timeout
884
+ )
885
+ await response_data.read()
886
+ return self.api_client.response_deserialize(
887
+ response_data=response_data,
888
+ response_types_map=_response_types_map,
889
+ )
890
+
891
+
892
+ @validate_call
893
+ async def delete_virtual_controller_coordinate_system_without_preload_content(
894
+ self,
895
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
896
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
897
+ coordinate_system: Annotated[StrictStr, Field(description="Unique identifier addressing a coordinate system.")],
898
+ delete_dependent: Annotated[Optional[StrictBool], Field(description="If true, all dependent coordinate systems will be deleted as well.")] = None,
899
+ _request_timeout: Union[
900
+ None,
901
+ Annotated[StrictFloat, Field(gt=0)],
902
+ Tuple[
903
+ Annotated[StrictFloat, Field(gt=0)],
904
+ Annotated[StrictFloat, Field(gt=0)]
905
+ ]
906
+ ] = None,
907
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
908
+ _content_type: Optional[StrictStr] = None,
909
+ _headers: Optional[Dict[StrictStr, Any]] = None,
910
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
911
+ ) -> RESTResponseType:
912
+ """Delete Coordinate System
913
+
914
+ Deletes a coordinate system from the virtual controller. This will remove the coordinate system from the list of coordinate systems and also remove all dependent coordinate systems that use the deleted coordinate system as reference. <!-- theme: info --> > #### NOTE > > When a new coordinate system is removed, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or appear outdated in the UI. > - Coordinate system changes are not immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > This means that immediately after a successful response, the new coordinate system may not yet be available for visualization or program execution.
915
+
916
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
917
+ :type cell: str
918
+ :param controller: Unique identifier to address a controller in the cell. (required)
919
+ :type controller: str
920
+ :param coordinate_system: Unique identifier addressing a coordinate system. (required)
921
+ :type coordinate_system: str
922
+ :param delete_dependent: If true, all dependent coordinate systems will be deleted as well.
923
+ :type delete_dependent: bool
924
+ :param _request_timeout: timeout setting for this request. If one
925
+ number provided, it will be total request
926
+ timeout. It can also be a pair (tuple) of
927
+ (connection, read) timeouts.
928
+ :type _request_timeout: int, tuple(int, int), optional
929
+ :param _request_auth: set to override the auth_settings for an a single
930
+ request; this effectively ignores the
931
+ authentication in the spec for a single request.
932
+ :type _request_auth: dict, optional
933
+ :param _content_type: force content-type for the request.
934
+ :type _content_type: str, Optional
935
+ :param _headers: set to override the headers for a single
936
+ request; this effectively ignores the headers
937
+ in the spec for a single request.
938
+ :type _headers: dict, optional
939
+ :param _host_index: set to override the host_index for a single
940
+ request; this effectively ignores the host_index
941
+ in the spec for a single request.
942
+ :type _host_index: int, optional
943
+ :return: Returns the result object.
944
+ """ # noqa: E501
945
+
946
+ _param = self._delete_virtual_controller_coordinate_system_serialize(
947
+ cell=cell,
948
+ controller=controller,
949
+ coordinate_system=coordinate_system,
950
+ delete_dependent=delete_dependent,
951
+ _request_auth=_request_auth,
952
+ _content_type=_content_type,
953
+ _headers=_headers,
954
+ _host_index=_host_index
955
+ )
956
+
957
+ _response_types_map: Dict[str, Optional[str]] = {
958
+ '200': None,
959
+ '400': "Error",
960
+ '404': "Error",
961
+ }
962
+
963
+
964
+ response_data = await self.api_client.call_api(
965
+ *_param,
966
+ _request_timeout=_request_timeout
967
+ )
968
+ return response_data.response
969
+
970
+
971
+ def _delete_virtual_controller_coordinate_system_serialize(
972
+ self,
973
+ cell,
974
+ controller,
975
+ coordinate_system,
976
+ delete_dependent,
977
+ _request_auth,
978
+ _content_type,
979
+ _headers,
980
+ _host_index,
981
+ ) -> RequestSerialized:
982
+
983
+ _host = None
984
+
985
+ _collection_formats: Dict[str, str] = {
986
+ }
987
+
988
+ _path_params: Dict[str, str] = {}
989
+ _query_params: List[Tuple[str, str]] = []
990
+ _header_params: Dict[str, Optional[str]] = _headers or {}
991
+ _form_params: List[Tuple[str, str]] = []
992
+ _files: Dict[str, Union[str, bytes]] = {}
993
+ _body_params: Optional[bytes] = None
994
+
995
+ # process the path parameters
996
+ if cell is not None:
997
+ _path_params['cell'] = cell
998
+ if controller is not None:
999
+ _path_params['controller'] = controller
1000
+ if coordinate_system is not None:
1001
+ _path_params['coordinate-system'] = coordinate_system
1002
+ # process the query parameters
1003
+ if delete_dependent is not None:
1004
+
1005
+ _query_params.append(('delete_dependent', delete_dependent))
1006
+
1007
+ # process the header parameters
1008
+ # process the form parameters
1009
+ # process the body parameter
1010
+
1011
+
1012
+ # set the HTTP header `Accept`
1013
+ _header_params['Accept'] = self.api_client.select_header_accept(
1014
+ [
1015
+ 'application/json'
1016
+ ]
1017
+ )
1018
+
1019
+
1020
+ # authentication setting
1021
+ _auth_settings: List[str] = [
1022
+ 'BasicAuth',
1023
+ 'BearerAuth'
1024
+ ]
1025
+
1026
+ return self.api_client.param_serialize(
1027
+ method='DELETE',
1028
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/coordinate-systems/{coordinate-system}',
1029
+ path_params=_path_params,
1030
+ query_params=_query_params,
1031
+ header_params=_header_params,
1032
+ body=_body_params,
1033
+ post_params=_form_params,
1034
+ files=_files,
1035
+ auth_settings=_auth_settings,
1036
+ collection_formats=_collection_formats,
1037
+ _host=_host,
1038
+ _request_auth=_request_auth
1039
+ )
1040
+
1041
+
1042
+
1043
+ @validate_call
1044
+ async def delete_virtual_controller_tcp(
1045
+ self,
1046
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1047
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1048
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1049
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
1050
+ _request_timeout: Union[
1051
+ None,
1052
+ Annotated[StrictFloat, Field(gt=0)],
1053
+ Tuple[
1054
+ Annotated[StrictFloat, Field(gt=0)],
1055
+ Annotated[StrictFloat, Field(gt=0)]
1056
+ ]
1057
+ ] = None,
1058
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1059
+ _content_type: Optional[StrictStr] = None,
1060
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1061
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1062
+ ) -> None:
1063
+ """Remove TCP
1064
+
1065
+ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
1066
+
1067
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1068
+ :type cell: str
1069
+ :param controller: Unique identifier to address a controller in the cell. (required)
1070
+ :type controller: str
1071
+ :param motion_group: The motion-group identifier. (required)
1072
+ :type motion_group: str
1073
+ :param tcp: The unique identifier of a TCP. (required)
1074
+ :type tcp: str
1075
+ :param _request_timeout: timeout setting for this request. If one
1076
+ number provided, it will be total request
1077
+ timeout. It can also be a pair (tuple) of
1078
+ (connection, read) timeouts.
1079
+ :type _request_timeout: int, tuple(int, int), optional
1080
+ :param _request_auth: set to override the auth_settings for an a single
1081
+ request; this effectively ignores the
1082
+ authentication in the spec for a single request.
1083
+ :type _request_auth: dict, optional
1084
+ :param _content_type: force content-type for the request.
1085
+ :type _content_type: str, Optional
1086
+ :param _headers: set to override the headers for a single
1087
+ request; this effectively ignores the headers
1088
+ in the spec for a single request.
1089
+ :type _headers: dict, optional
1090
+ :param _host_index: set to override the host_index for a single
1091
+ request; this effectively ignores the host_index
1092
+ in the spec for a single request.
1093
+ :type _host_index: int, optional
1094
+ :return: Returns the result object.
1095
+ """ # noqa: E501
1096
+
1097
+ _param = self._delete_virtual_controller_tcp_serialize(
1098
+ cell=cell,
1099
+ controller=controller,
1100
+ motion_group=motion_group,
1101
+ tcp=tcp,
1102
+ _request_auth=_request_auth,
1103
+ _content_type=_content_type,
1104
+ _headers=_headers,
1105
+ _host_index=_host_index
1106
+ )
1107
+
1108
+ _response_types_map: Dict[str, Optional[str]] = {
1109
+ '200': None,
1110
+ '400': "Error",
1111
+ '404': "Error",
1112
+ }
1113
+
1114
+
1115
+ response_data = await self.api_client.call_api(
1116
+ *_param,
1117
+ _request_timeout=_request_timeout
1118
+ )
1119
+ await response_data.read()
1120
+ return self.api_client.response_deserialize(
1121
+ response_data=response_data,
1122
+ response_types_map=_response_types_map,
1123
+ ).data
1124
+
1125
+
1126
+ @validate_call
1127
+ async def delete_virtual_controller_tcp_with_http_info(
1128
+ self,
1129
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1130
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1131
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1132
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
1133
+ _request_timeout: Union[
1134
+ None,
1135
+ Annotated[StrictFloat, Field(gt=0)],
1136
+ Tuple[
1137
+ Annotated[StrictFloat, Field(gt=0)],
1138
+ Annotated[StrictFloat, Field(gt=0)]
1139
+ ]
1140
+ ] = None,
1141
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1142
+ _content_type: Optional[StrictStr] = None,
1143
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1144
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1145
+ ) -> ApiResponse[None]:
1146
+ """Remove TCP
1147
+
1148
+ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
1149
+
1150
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1151
+ :type cell: str
1152
+ :param controller: Unique identifier to address a controller in the cell. (required)
1153
+ :type controller: str
1154
+ :param motion_group: The motion-group identifier. (required)
1155
+ :type motion_group: str
1156
+ :param tcp: The unique identifier of a TCP. (required)
1157
+ :type tcp: str
1158
+ :param _request_timeout: timeout setting for this request. If one
1159
+ number provided, it will be total request
1160
+ timeout. It can also be a pair (tuple) of
1161
+ (connection, read) timeouts.
1162
+ :type _request_timeout: int, tuple(int, int), optional
1163
+ :param _request_auth: set to override the auth_settings for an a single
1164
+ request; this effectively ignores the
1165
+ authentication in the spec for a single request.
1166
+ :type _request_auth: dict, optional
1167
+ :param _content_type: force content-type for the request.
1168
+ :type _content_type: str, Optional
1169
+ :param _headers: set to override the headers for a single
1170
+ request; this effectively ignores the headers
1171
+ in the spec for a single request.
1172
+ :type _headers: dict, optional
1173
+ :param _host_index: set to override the host_index for a single
1174
+ request; this effectively ignores the host_index
1175
+ in the spec for a single request.
1176
+ :type _host_index: int, optional
1177
+ :return: Returns the result object.
1178
+ """ # noqa: E501
1179
+
1180
+ _param = self._delete_virtual_controller_tcp_serialize(
1181
+ cell=cell,
1182
+ controller=controller,
1183
+ motion_group=motion_group,
1184
+ tcp=tcp,
1185
+ _request_auth=_request_auth,
1186
+ _content_type=_content_type,
1187
+ _headers=_headers,
1188
+ _host_index=_host_index
1189
+ )
1190
+
1191
+ _response_types_map: Dict[str, Optional[str]] = {
1192
+ '200': None,
1193
+ '400': "Error",
1194
+ '404': "Error",
1195
+ }
1196
+
1197
+
1198
+ response_data = await self.api_client.call_api(
1199
+ *_param,
1200
+ _request_timeout=_request_timeout
1201
+ )
1202
+ await response_data.read()
1203
+ return self.api_client.response_deserialize(
1204
+ response_data=response_data,
1205
+ response_types_map=_response_types_map,
1206
+ )
1207
+
1208
+
1209
+ @validate_call
1210
+ async def delete_virtual_controller_tcp_without_preload_content(
1211
+ self,
1212
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1213
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1214
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1215
+ tcp: Annotated[StrictStr, Field(description="The unique identifier of a TCP.")],
1216
+ _request_timeout: Union[
1217
+ None,
1218
+ Annotated[StrictFloat, Field(gt=0)],
1219
+ Tuple[
1220
+ Annotated[StrictFloat, Field(gt=0)],
1221
+ Annotated[StrictFloat, Field(gt=0)]
1222
+ ]
1223
+ ] = None,
1224
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1225
+ _content_type: Optional[StrictStr] = None,
1226
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1227
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1228
+ ) -> RESTResponseType:
1229
+ """Remove TCP
1230
+
1231
+ Removes the TCP (Tool Center Point) from the motion group. An unknown TCP is a valid input and will simply be ignored. <!-- theme: info --> > #### NOTE > > When removing a TCP, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear. > - The removal of the TCP may not be immediately visible or appear outdated in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the then used TCP may not yet be visible nor usable.
1232
+
1233
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1234
+ :type cell: str
1235
+ :param controller: Unique identifier to address a controller in the cell. (required)
1236
+ :type controller: str
1237
+ :param motion_group: The motion-group identifier. (required)
1238
+ :type motion_group: str
1239
+ :param tcp: The unique identifier of a TCP. (required)
1240
+ :type tcp: str
1241
+ :param _request_timeout: timeout setting for this request. If one
1242
+ number provided, it will be total request
1243
+ timeout. It can also be a pair (tuple) of
1244
+ (connection, read) timeouts.
1245
+ :type _request_timeout: int, tuple(int, int), optional
1246
+ :param _request_auth: set to override the auth_settings for an a single
1247
+ request; this effectively ignores the
1248
+ authentication in the spec for a single request.
1249
+ :type _request_auth: dict, optional
1250
+ :param _content_type: force content-type for the request.
1251
+ :type _content_type: str, Optional
1252
+ :param _headers: set to override the headers for a single
1253
+ request; this effectively ignores the headers
1254
+ in the spec for a single request.
1255
+ :type _headers: dict, optional
1256
+ :param _host_index: set to override the host_index for a single
1257
+ request; this effectively ignores the host_index
1258
+ in the spec for a single request.
1259
+ :type _host_index: int, optional
1260
+ :return: Returns the result object.
1261
+ """ # noqa: E501
1262
+
1263
+ _param = self._delete_virtual_controller_tcp_serialize(
1264
+ cell=cell,
1265
+ controller=controller,
1266
+ motion_group=motion_group,
1267
+ tcp=tcp,
1268
+ _request_auth=_request_auth,
1269
+ _content_type=_content_type,
1270
+ _headers=_headers,
1271
+ _host_index=_host_index
1272
+ )
1273
+
1274
+ _response_types_map: Dict[str, Optional[str]] = {
1275
+ '200': None,
1276
+ '400': "Error",
1277
+ '404': "Error",
1278
+ }
1279
+
1280
+
1281
+ response_data = await self.api_client.call_api(
1282
+ *_param,
1283
+ _request_timeout=_request_timeout
1284
+ )
1285
+ return response_data.response
1286
+
1287
+
1288
+ def _delete_virtual_controller_tcp_serialize(
1289
+ self,
1290
+ cell,
1291
+ controller,
1292
+ motion_group,
1293
+ tcp,
1294
+ _request_auth,
1295
+ _content_type,
1296
+ _headers,
1297
+ _host_index,
1298
+ ) -> RequestSerialized:
1299
+
1300
+ _host = None
1301
+
1302
+ _collection_formats: Dict[str, str] = {
1303
+ }
1304
+
1305
+ _path_params: Dict[str, str] = {}
1306
+ _query_params: List[Tuple[str, str]] = []
1307
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1308
+ _form_params: List[Tuple[str, str]] = []
1309
+ _files: Dict[str, Union[str, bytes]] = {}
1310
+ _body_params: Optional[bytes] = None
1311
+
1312
+ # process the path parameters
1313
+ if cell is not None:
1314
+ _path_params['cell'] = cell
1315
+ if controller is not None:
1316
+ _path_params['controller'] = controller
1317
+ if motion_group is not None:
1318
+ _path_params['motion-group'] = motion_group
1319
+ if tcp is not None:
1320
+ _path_params['tcp'] = tcp
1321
+ # process the query parameters
1322
+ # process the header parameters
1323
+ # process the form parameters
1324
+ # process the body parameter
1325
+
1326
+
1327
+ # set the HTTP header `Accept`
1328
+ _header_params['Accept'] = self.api_client.select_header_accept(
1329
+ [
1330
+ 'application/json'
1331
+ ]
1332
+ )
1333
+
1334
+
1335
+ # authentication setting
1336
+ _auth_settings: List[str] = [
1337
+ 'BasicAuth',
1338
+ 'BearerAuth'
1339
+ ]
1340
+
1341
+ return self.api_client.param_serialize(
1342
+ method='DELETE',
1343
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps/{tcp}',
1344
+ path_params=_path_params,
1345
+ query_params=_query_params,
1346
+ header_params=_header_params,
1347
+ body=_body_params,
1348
+ post_params=_form_params,
1349
+ files=_files,
1350
+ auth_settings=_auth_settings,
1351
+ collection_formats=_collection_formats,
1352
+ _host=_host,
1353
+ _request_auth=_request_auth
1354
+ )
1355
+
1356
+
1357
+
1358
+ @validate_call
1359
+ async def get_emergency_stop(
1360
+ self,
1361
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1362
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1363
+ _request_timeout: Union[
1364
+ None,
1365
+ Annotated[StrictFloat, Field(gt=0)],
1366
+ Tuple[
1367
+ Annotated[StrictFloat, Field(gt=0)],
1368
+ Annotated[StrictFloat, Field(gt=0)]
1369
+ ]
1370
+ ] = None,
1371
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1372
+ _content_type: Optional[StrictStr] = None,
1373
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1374
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1375
+ ) -> Flag:
1376
+ """Get Emergency Stop State
1377
+
1378
+ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
1379
+
1380
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1381
+ :type cell: str
1382
+ :param controller: Unique identifier to address a controller in the cell. (required)
1383
+ :type controller: str
1384
+ :param _request_timeout: timeout setting for this request. If one
1385
+ number provided, it will be total request
1386
+ timeout. It can also be a pair (tuple) of
1387
+ (connection, read) timeouts.
1388
+ :type _request_timeout: int, tuple(int, int), optional
1389
+ :param _request_auth: set to override the auth_settings for an a single
1390
+ request; this effectively ignores the
1391
+ authentication in the spec for a single request.
1392
+ :type _request_auth: dict, optional
1393
+ :param _content_type: force content-type for the request.
1394
+ :type _content_type: str, Optional
1395
+ :param _headers: set to override the headers for a single
1396
+ request; this effectively ignores the headers
1397
+ in the spec for a single request.
1398
+ :type _headers: dict, optional
1399
+ :param _host_index: set to override the host_index for a single
1400
+ request; this effectively ignores the host_index
1401
+ in the spec for a single request.
1402
+ :type _host_index: int, optional
1403
+ :return: Returns the result object.
1404
+ """ # noqa: E501
1405
+
1406
+ _param = self._get_emergency_stop_serialize(
1407
+ cell=cell,
1408
+ controller=controller,
1409
+ _request_auth=_request_auth,
1410
+ _content_type=_content_type,
1411
+ _headers=_headers,
1412
+ _host_index=_host_index
1413
+ )
1414
+
1415
+ _response_types_map: Dict[str, Optional[str]] = {
1416
+ '200': "Flag",
1417
+ '400': "Error",
1418
+ '404': "Error",
1419
+ }
1420
+
1421
+
1422
+ response_data = await self.api_client.call_api(
1423
+ *_param,
1424
+ _request_timeout=_request_timeout
1425
+ )
1426
+ await response_data.read()
1427
+ return self.api_client.response_deserialize(
1428
+ response_data=response_data,
1429
+ response_types_map=_response_types_map,
1430
+ ).data
1431
+
1432
+
1433
+ @validate_call
1434
+ async def get_emergency_stop_with_http_info(
1435
+ self,
1436
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1437
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1438
+ _request_timeout: Union[
1439
+ None,
1440
+ Annotated[StrictFloat, Field(gt=0)],
1441
+ Tuple[
1442
+ Annotated[StrictFloat, Field(gt=0)],
1443
+ Annotated[StrictFloat, Field(gt=0)]
1444
+ ]
1445
+ ] = None,
1446
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1447
+ _content_type: Optional[StrictStr] = None,
1448
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1449
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1450
+ ) -> ApiResponse[Flag]:
1451
+ """Get Emergency Stop State
1452
+
1453
+ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
1454
+
1455
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1456
+ :type cell: str
1457
+ :param controller: Unique identifier to address a controller in the cell. (required)
1458
+ :type controller: str
1459
+ :param _request_timeout: timeout setting for this request. If one
1460
+ number provided, it will be total request
1461
+ timeout. It can also be a pair (tuple) of
1462
+ (connection, read) timeouts.
1463
+ :type _request_timeout: int, tuple(int, int), optional
1464
+ :param _request_auth: set to override the auth_settings for an a single
1465
+ request; this effectively ignores the
1466
+ authentication in the spec for a single request.
1467
+ :type _request_auth: dict, optional
1468
+ :param _content_type: force content-type for the request.
1469
+ :type _content_type: str, Optional
1470
+ :param _headers: set to override the headers for a single
1471
+ request; this effectively ignores the headers
1472
+ in the spec for a single request.
1473
+ :type _headers: dict, optional
1474
+ :param _host_index: set to override the host_index for a single
1475
+ request; this effectively ignores the host_index
1476
+ in the spec for a single request.
1477
+ :type _host_index: int, optional
1478
+ :return: Returns the result object.
1479
+ """ # noqa: E501
1480
+
1481
+ _param = self._get_emergency_stop_serialize(
1482
+ cell=cell,
1483
+ controller=controller,
1484
+ _request_auth=_request_auth,
1485
+ _content_type=_content_type,
1486
+ _headers=_headers,
1487
+ _host_index=_host_index
1488
+ )
1489
+
1490
+ _response_types_map: Dict[str, Optional[str]] = {
1491
+ '200': "Flag",
1492
+ '400': "Error",
1493
+ '404': "Error",
1494
+ }
1495
+
1496
+
1497
+ response_data = await self.api_client.call_api(
1498
+ *_param,
1499
+ _request_timeout=_request_timeout
1500
+ )
1501
+ await response_data.read()
1502
+ return self.api_client.response_deserialize(
1503
+ response_data=response_data,
1504
+ response_types_map=_response_types_map,
1505
+ )
1506
+
1507
+
1508
+ @validate_call
1509
+ async def get_emergency_stop_without_preload_content(
1510
+ self,
1511
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1512
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1513
+ _request_timeout: Union[
1514
+ None,
1515
+ Annotated[StrictFloat, Field(gt=0)],
1516
+ Tuple[
1517
+ Annotated[StrictFloat, Field(gt=0)],
1518
+ Annotated[StrictFloat, Field(gt=0)]
1519
+ ]
1520
+ ] = None,
1521
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1522
+ _content_type: Optional[StrictStr] = None,
1523
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1524
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1525
+ ) -> RESTResponseType:
1526
+ """Get Emergency Stop State
1527
+
1528
+ Requests the Emergency Stop state of the virtual robot controller. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed when using virtual robot controllers.
1529
+
1530
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1531
+ :type cell: str
1532
+ :param controller: Unique identifier to address a controller in the cell. (required)
1533
+ :type controller: str
1534
+ :param _request_timeout: timeout setting for this request. If one
1535
+ number provided, it will be total request
1536
+ timeout. It can also be a pair (tuple) of
1537
+ (connection, read) timeouts.
1538
+ :type _request_timeout: int, tuple(int, int), optional
1539
+ :param _request_auth: set to override the auth_settings for an a single
1540
+ request; this effectively ignores the
1541
+ authentication in the spec for a single request.
1542
+ :type _request_auth: dict, optional
1543
+ :param _content_type: force content-type for the request.
1544
+ :type _content_type: str, Optional
1545
+ :param _headers: set to override the headers for a single
1546
+ request; this effectively ignores the headers
1547
+ in the spec for a single request.
1548
+ :type _headers: dict, optional
1549
+ :param _host_index: set to override the host_index for a single
1550
+ request; this effectively ignores the host_index
1551
+ in the spec for a single request.
1552
+ :type _host_index: int, optional
1553
+ :return: Returns the result object.
1554
+ """ # noqa: E501
1555
+
1556
+ _param = self._get_emergency_stop_serialize(
1557
+ cell=cell,
1558
+ controller=controller,
1559
+ _request_auth=_request_auth,
1560
+ _content_type=_content_type,
1561
+ _headers=_headers,
1562
+ _host_index=_host_index
1563
+ )
1564
+
1565
+ _response_types_map: Dict[str, Optional[str]] = {
1566
+ '200': "Flag",
1567
+ '400': "Error",
1568
+ '404': "Error",
1569
+ }
1570
+
1571
+
1572
+ response_data = await self.api_client.call_api(
1573
+ *_param,
1574
+ _request_timeout=_request_timeout
1575
+ )
1576
+ return response_data.response
1577
+
1578
+
1579
+ def _get_emergency_stop_serialize(
1580
+ self,
1581
+ cell,
1582
+ controller,
1583
+ _request_auth,
1584
+ _content_type,
1585
+ _headers,
1586
+ _host_index,
1587
+ ) -> RequestSerialized:
1588
+
1589
+ _host = None
1590
+
1591
+ _collection_formats: Dict[str, str] = {
1592
+ }
1593
+
1594
+ _path_params: Dict[str, str] = {}
1595
+ _query_params: List[Tuple[str, str]] = []
1596
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1597
+ _form_params: List[Tuple[str, str]] = []
1598
+ _files: Dict[str, Union[str, bytes]] = {}
1599
+ _body_params: Optional[bytes] = None
1600
+
1601
+ # process the path parameters
1602
+ if cell is not None:
1603
+ _path_params['cell'] = cell
1604
+ if controller is not None:
1605
+ _path_params['controller'] = controller
1606
+ # process the query parameters
1607
+ # process the header parameters
1608
+ # process the form parameters
1609
+ # process the body parameter
1610
+
1611
+
1612
+ # set the HTTP header `Accept`
1613
+ _header_params['Accept'] = self.api_client.select_header_accept(
1614
+ [
1615
+ 'application/json'
1616
+ ]
1617
+ )
1618
+
1619
+
1620
+ # authentication setting
1621
+ _auth_settings: List[str] = [
1622
+ 'BasicAuth',
1623
+ 'BearerAuth'
1624
+ ]
1625
+
1626
+ return self.api_client.param_serialize(
1627
+ method='GET',
1628
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/emergency-stop',
1629
+ path_params=_path_params,
1630
+ query_params=_query_params,
1631
+ header_params=_header_params,
1632
+ body=_body_params,
1633
+ post_params=_form_params,
1634
+ files=_files,
1635
+ auth_settings=_auth_settings,
1636
+ collection_formats=_collection_formats,
1637
+ _host=_host,
1638
+ _request_auth=_request_auth
1639
+ )
1640
+
1641
+
1642
+
1643
+ @validate_call
1644
+ async def get_motion_group_state(
1645
+ self,
1646
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1647
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1648
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1649
+ _request_timeout: Union[
1650
+ None,
1651
+ Annotated[StrictFloat, Field(gt=0)],
1652
+ Tuple[
1653
+ Annotated[StrictFloat, Field(gt=0)],
1654
+ Annotated[StrictFloat, Field(gt=0)]
1655
+ ]
1656
+ ] = None,
1657
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1658
+ _content_type: Optional[StrictStr] = None,
1659
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1660
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1661
+ ) -> MotionGroupJoints:
1662
+ """Get Motion Group State
1663
+
1664
+ Get the current motion group state which provides values for the joints' position, velocity and acceleration.
1665
+
1666
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1667
+ :type cell: str
1668
+ :param controller: Unique identifier to address a controller in the cell. (required)
1669
+ :type controller: str
1670
+ :param motion_group: The motion-group identifier. (required)
1671
+ :type motion_group: str
1672
+ :param _request_timeout: timeout setting for this request. If one
1673
+ number provided, it will be total request
1674
+ timeout. It can also be a pair (tuple) of
1675
+ (connection, read) timeouts.
1676
+ :type _request_timeout: int, tuple(int, int), optional
1677
+ :param _request_auth: set to override the auth_settings for an a single
1678
+ request; this effectively ignores the
1679
+ authentication in the spec for a single request.
1680
+ :type _request_auth: dict, optional
1681
+ :param _content_type: force content-type for the request.
1682
+ :type _content_type: str, Optional
1683
+ :param _headers: set to override the headers for a single
1684
+ request; this effectively ignores the headers
1685
+ in the spec for a single request.
1686
+ :type _headers: dict, optional
1687
+ :param _host_index: set to override the host_index for a single
1688
+ request; this effectively ignores the host_index
1689
+ in the spec for a single request.
1690
+ :type _host_index: int, optional
1691
+ :return: Returns the result object.
1692
+ """ # noqa: E501
1693
+
1694
+ _param = self._get_motion_group_state_serialize(
1695
+ cell=cell,
1696
+ controller=controller,
1697
+ motion_group=motion_group,
1698
+ _request_auth=_request_auth,
1699
+ _content_type=_content_type,
1700
+ _headers=_headers,
1701
+ _host_index=_host_index
1702
+ )
1703
+
1704
+ _response_types_map: Dict[str, Optional[str]] = {
1705
+ '200': "MotionGroupJoints",
1706
+ '400': "Error",
1707
+ '404': "Error",
1708
+ }
1709
+
1710
+
1711
+ response_data = await self.api_client.call_api(
1712
+ *_param,
1713
+ _request_timeout=_request_timeout
1714
+ )
1715
+ await response_data.read()
1716
+ return self.api_client.response_deserialize(
1717
+ response_data=response_data,
1718
+ response_types_map=_response_types_map,
1719
+ ).data
1720
+
1721
+
1722
+ @validate_call
1723
+ async def get_motion_group_state_with_http_info(
1724
+ self,
1725
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1726
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1727
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1728
+ _request_timeout: Union[
1729
+ None,
1730
+ Annotated[StrictFloat, Field(gt=0)],
1731
+ Tuple[
1732
+ Annotated[StrictFloat, Field(gt=0)],
1733
+ Annotated[StrictFloat, Field(gt=0)]
1734
+ ]
1735
+ ] = None,
1736
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1737
+ _content_type: Optional[StrictStr] = None,
1738
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1739
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1740
+ ) -> ApiResponse[MotionGroupJoints]:
1741
+ """Get Motion Group State
1742
+
1743
+ Get the current motion group state which provides values for the joints' position, velocity and acceleration.
1744
+
1745
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1746
+ :type cell: str
1747
+ :param controller: Unique identifier to address a controller in the cell. (required)
1748
+ :type controller: str
1749
+ :param motion_group: The motion-group identifier. (required)
1750
+ :type motion_group: str
1751
+ :param _request_timeout: timeout setting for this request. If one
1752
+ number provided, it will be total request
1753
+ timeout. It can also be a pair (tuple) of
1754
+ (connection, read) timeouts.
1755
+ :type _request_timeout: int, tuple(int, int), optional
1756
+ :param _request_auth: set to override the auth_settings for an a single
1757
+ request; this effectively ignores the
1758
+ authentication in the spec for a single request.
1759
+ :type _request_auth: dict, optional
1760
+ :param _content_type: force content-type for the request.
1761
+ :type _content_type: str, Optional
1762
+ :param _headers: set to override the headers for a single
1763
+ request; this effectively ignores the headers
1764
+ in the spec for a single request.
1765
+ :type _headers: dict, optional
1766
+ :param _host_index: set to override the host_index for a single
1767
+ request; this effectively ignores the host_index
1768
+ in the spec for a single request.
1769
+ :type _host_index: int, optional
1770
+ :return: Returns the result object.
1771
+ """ # noqa: E501
1772
+
1773
+ _param = self._get_motion_group_state_serialize(
1774
+ cell=cell,
1775
+ controller=controller,
1776
+ motion_group=motion_group,
1777
+ _request_auth=_request_auth,
1778
+ _content_type=_content_type,
1779
+ _headers=_headers,
1780
+ _host_index=_host_index
1781
+ )
1782
+
1783
+ _response_types_map: Dict[str, Optional[str]] = {
1784
+ '200': "MotionGroupJoints",
1785
+ '400': "Error",
1786
+ '404': "Error",
1787
+ }
1788
+
1789
+
1790
+ response_data = await self.api_client.call_api(
1791
+ *_param,
1792
+ _request_timeout=_request_timeout
1793
+ )
1794
+ await response_data.read()
1795
+ return self.api_client.response_deserialize(
1796
+ response_data=response_data,
1797
+ response_types_map=_response_types_map,
1798
+ )
1799
+
1800
+
1801
+ @validate_call
1802
+ async def get_motion_group_state_without_preload_content(
1803
+ self,
1804
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1805
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1806
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
1807
+ _request_timeout: Union[
1808
+ None,
1809
+ Annotated[StrictFloat, Field(gt=0)],
1810
+ Tuple[
1811
+ Annotated[StrictFloat, Field(gt=0)],
1812
+ Annotated[StrictFloat, Field(gt=0)]
1813
+ ]
1814
+ ] = None,
1815
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1816
+ _content_type: Optional[StrictStr] = None,
1817
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1818
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1819
+ ) -> RESTResponseType:
1820
+ """Get Motion Group State
1821
+
1822
+ Get the current motion group state which provides values for the joints' position, velocity and acceleration.
1823
+
1824
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1825
+ :type cell: str
1826
+ :param controller: Unique identifier to address a controller in the cell. (required)
1827
+ :type controller: str
1828
+ :param motion_group: The motion-group identifier. (required)
1829
+ :type motion_group: str
1830
+ :param _request_timeout: timeout setting for this request. If one
1831
+ number provided, it will be total request
1832
+ timeout. It can also be a pair (tuple) of
1833
+ (connection, read) timeouts.
1834
+ :type _request_timeout: int, tuple(int, int), optional
1835
+ :param _request_auth: set to override the auth_settings for an a single
1836
+ request; this effectively ignores the
1837
+ authentication in the spec for a single request.
1838
+ :type _request_auth: dict, optional
1839
+ :param _content_type: force content-type for the request.
1840
+ :type _content_type: str, Optional
1841
+ :param _headers: set to override the headers for a single
1842
+ request; this effectively ignores the headers
1843
+ in the spec for a single request.
1844
+ :type _headers: dict, optional
1845
+ :param _host_index: set to override the host_index for a single
1846
+ request; this effectively ignores the host_index
1847
+ in the spec for a single request.
1848
+ :type _host_index: int, optional
1849
+ :return: Returns the result object.
1850
+ """ # noqa: E501
1851
+
1852
+ _param = self._get_motion_group_state_serialize(
1853
+ cell=cell,
1854
+ controller=controller,
1855
+ motion_group=motion_group,
1856
+ _request_auth=_request_auth,
1857
+ _content_type=_content_type,
1858
+ _headers=_headers,
1859
+ _host_index=_host_index
1860
+ )
1861
+
1862
+ _response_types_map: Dict[str, Optional[str]] = {
1863
+ '200': "MotionGroupJoints",
1864
+ '400': "Error",
1865
+ '404': "Error",
1866
+ }
1867
+
1868
+
1869
+ response_data = await self.api_client.call_api(
1870
+ *_param,
1871
+ _request_timeout=_request_timeout
1872
+ )
1873
+ return response_data.response
1874
+
1875
+
1876
+ def _get_motion_group_state_serialize(
1877
+ self,
1878
+ cell,
1879
+ controller,
1880
+ motion_group,
1881
+ _request_auth,
1882
+ _content_type,
1883
+ _headers,
1884
+ _host_index,
1885
+ ) -> RequestSerialized:
1886
+
1887
+ _host = None
1888
+
1889
+ _collection_formats: Dict[str, str] = {
1890
+ }
1891
+
1892
+ _path_params: Dict[str, str] = {}
1893
+ _query_params: List[Tuple[str, str]] = []
1894
+ _header_params: Dict[str, Optional[str]] = _headers or {}
1895
+ _form_params: List[Tuple[str, str]] = []
1896
+ _files: Dict[str, Union[str, bytes]] = {}
1897
+ _body_params: Optional[bytes] = None
1898
+
1899
+ # process the path parameters
1900
+ if cell is not None:
1901
+ _path_params['cell'] = cell
1902
+ if controller is not None:
1903
+ _path_params['controller'] = controller
1904
+ if motion_group is not None:
1905
+ _path_params['motion-group'] = motion_group
1906
+ # process the query parameters
1907
+ # process the header parameters
1908
+ # process the form parameters
1909
+ # process the body parameter
1910
+
1911
+
1912
+ # set the HTTP header `Accept`
1913
+ _header_params['Accept'] = self.api_client.select_header_accept(
1914
+ [
1915
+ 'application/json'
1916
+ ]
1917
+ )
1918
+
1919
+
1920
+ # authentication setting
1921
+ _auth_settings: List[str] = [
1922
+ 'BasicAuth',
1923
+ 'BearerAuth'
1924
+ ]
1925
+
1926
+ return self.api_client.param_serialize(
1927
+ method='GET',
1928
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state',
1929
+ path_params=_path_params,
1930
+ query_params=_query_params,
1931
+ header_params=_header_params,
1932
+ body=_body_params,
1933
+ post_params=_form_params,
1934
+ files=_files,
1935
+ auth_settings=_auth_settings,
1936
+ collection_formats=_collection_formats,
1937
+ _host=_host,
1938
+ _request_auth=_request_auth
1939
+ )
1940
+
1941
+
1942
+
1943
+ @validate_call
1944
+ async def get_motion_groups(
1945
+ self,
1946
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
1947
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
1948
+ _request_timeout: Union[
1949
+ None,
1950
+ Annotated[StrictFloat, Field(gt=0)],
1951
+ Tuple[
1952
+ Annotated[StrictFloat, Field(gt=0)],
1953
+ Annotated[StrictFloat, Field(gt=0)]
1954
+ ]
1955
+ ] = None,
1956
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
1957
+ _content_type: Optional[StrictStr] = None,
1958
+ _headers: Optional[Dict[StrictStr, Any]] = None,
1959
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
1960
+ ) -> List[MotionGroupInfo]:
1961
+ """Motion Group Description
1962
+
1963
+ Gets information on the motion group.
1964
+
1965
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
1966
+ :type cell: str
1967
+ :param controller: Unique identifier to address a controller in the cell. (required)
1968
+ :type controller: str
1969
+ :param _request_timeout: timeout setting for this request. If one
1970
+ number provided, it will be total request
1971
+ timeout. It can also be a pair (tuple) of
1972
+ (connection, read) timeouts.
1973
+ :type _request_timeout: int, tuple(int, int), optional
1974
+ :param _request_auth: set to override the auth_settings for an a single
1975
+ request; this effectively ignores the
1976
+ authentication in the spec for a single request.
1977
+ :type _request_auth: dict, optional
1978
+ :param _content_type: force content-type for the request.
1979
+ :type _content_type: str, Optional
1980
+ :param _headers: set to override the headers for a single
1981
+ request; this effectively ignores the headers
1982
+ in the spec for a single request.
1983
+ :type _headers: dict, optional
1984
+ :param _host_index: set to override the host_index for a single
1985
+ request; this effectively ignores the host_index
1986
+ in the spec for a single request.
1987
+ :type _host_index: int, optional
1988
+ :return: Returns the result object.
1989
+ """ # noqa: E501
1990
+
1991
+ _param = self._get_motion_groups_serialize(
1992
+ cell=cell,
1993
+ controller=controller,
1994
+ _request_auth=_request_auth,
1995
+ _content_type=_content_type,
1996
+ _headers=_headers,
1997
+ _host_index=_host_index
1998
+ )
1999
+
2000
+ _response_types_map: Dict[str, Optional[str]] = {
2001
+ '200': "List[MotionGroupInfo]",
2002
+ '400': "Error",
2003
+ '404': "Error",
2004
+ }
2005
+
2006
+
2007
+ response_data = await self.api_client.call_api(
2008
+ *_param,
2009
+ _request_timeout=_request_timeout
2010
+ )
2011
+ await response_data.read()
2012
+ return self.api_client.response_deserialize(
2013
+ response_data=response_data,
2014
+ response_types_map=_response_types_map,
2015
+ ).data
2016
+
2017
+
2018
+ @validate_call
2019
+ async def get_motion_groups_with_http_info(
2020
+ self,
2021
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2022
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2023
+ _request_timeout: Union[
2024
+ None,
2025
+ Annotated[StrictFloat, Field(gt=0)],
2026
+ Tuple[
2027
+ Annotated[StrictFloat, Field(gt=0)],
2028
+ Annotated[StrictFloat, Field(gt=0)]
2029
+ ]
2030
+ ] = None,
2031
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2032
+ _content_type: Optional[StrictStr] = None,
2033
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2034
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2035
+ ) -> ApiResponse[List[MotionGroupInfo]]:
2036
+ """Motion Group Description
2037
+
2038
+ Gets information on the motion group.
2039
+
2040
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2041
+ :type cell: str
2042
+ :param controller: Unique identifier to address a controller in the cell. (required)
2043
+ :type controller: str
2044
+ :param _request_timeout: timeout setting for this request. If one
2045
+ number provided, it will be total request
2046
+ timeout. It can also be a pair (tuple) of
2047
+ (connection, read) timeouts.
2048
+ :type _request_timeout: int, tuple(int, int), optional
2049
+ :param _request_auth: set to override the auth_settings for an a single
2050
+ request; this effectively ignores the
2051
+ authentication in the spec for a single request.
2052
+ :type _request_auth: dict, optional
2053
+ :param _content_type: force content-type for the request.
2054
+ :type _content_type: str, Optional
2055
+ :param _headers: set to override the headers for a single
2056
+ request; this effectively ignores the headers
2057
+ in the spec for a single request.
2058
+ :type _headers: dict, optional
2059
+ :param _host_index: set to override the host_index for a single
2060
+ request; this effectively ignores the host_index
2061
+ in the spec for a single request.
2062
+ :type _host_index: int, optional
2063
+ :return: Returns the result object.
2064
+ """ # noqa: E501
2065
+
2066
+ _param = self._get_motion_groups_serialize(
2067
+ cell=cell,
2068
+ controller=controller,
2069
+ _request_auth=_request_auth,
2070
+ _content_type=_content_type,
2071
+ _headers=_headers,
2072
+ _host_index=_host_index
2073
+ )
2074
+
2075
+ _response_types_map: Dict[str, Optional[str]] = {
2076
+ '200': "List[MotionGroupInfo]",
2077
+ '400': "Error",
2078
+ '404': "Error",
2079
+ }
2080
+
2081
+
2082
+ response_data = await self.api_client.call_api(
2083
+ *_param,
2084
+ _request_timeout=_request_timeout
2085
+ )
2086
+ await response_data.read()
2087
+ return self.api_client.response_deserialize(
2088
+ response_data=response_data,
2089
+ response_types_map=_response_types_map,
2090
+ )
2091
+
2092
+
2093
+ @validate_call
2094
+ async def get_motion_groups_without_preload_content(
2095
+ self,
2096
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2097
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2098
+ _request_timeout: Union[
2099
+ None,
2100
+ Annotated[StrictFloat, Field(gt=0)],
2101
+ Tuple[
2102
+ Annotated[StrictFloat, Field(gt=0)],
2103
+ Annotated[StrictFloat, Field(gt=0)]
2104
+ ]
2105
+ ] = None,
2106
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2107
+ _content_type: Optional[StrictStr] = None,
2108
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2109
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2110
+ ) -> RESTResponseType:
2111
+ """Motion Group Description
2112
+
2113
+ Gets information on the motion group.
2114
+
2115
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2116
+ :type cell: str
2117
+ :param controller: Unique identifier to address a controller in the cell. (required)
2118
+ :type controller: str
2119
+ :param _request_timeout: timeout setting for this request. If one
2120
+ number provided, it will be total request
2121
+ timeout. It can also be a pair (tuple) of
2122
+ (connection, read) timeouts.
2123
+ :type _request_timeout: int, tuple(int, int), optional
2124
+ :param _request_auth: set to override the auth_settings for an a single
2125
+ request; this effectively ignores the
2126
+ authentication in the spec for a single request.
2127
+ :type _request_auth: dict, optional
2128
+ :param _content_type: force content-type for the request.
2129
+ :type _content_type: str, Optional
2130
+ :param _headers: set to override the headers for a single
2131
+ request; this effectively ignores the headers
2132
+ in the spec for a single request.
2133
+ :type _headers: dict, optional
2134
+ :param _host_index: set to override the host_index for a single
2135
+ request; this effectively ignores the host_index
2136
+ in the spec for a single request.
2137
+ :type _host_index: int, optional
2138
+ :return: Returns the result object.
2139
+ """ # noqa: E501
2140
+
2141
+ _param = self._get_motion_groups_serialize(
2142
+ cell=cell,
2143
+ controller=controller,
2144
+ _request_auth=_request_auth,
2145
+ _content_type=_content_type,
2146
+ _headers=_headers,
2147
+ _host_index=_host_index
2148
+ )
2149
+
2150
+ _response_types_map: Dict[str, Optional[str]] = {
2151
+ '200': "List[MotionGroupInfo]",
2152
+ '400': "Error",
2153
+ '404': "Error",
2154
+ }
2155
+
2156
+
2157
+ response_data = await self.api_client.call_api(
2158
+ *_param,
2159
+ _request_timeout=_request_timeout
2160
+ )
2161
+ return response_data.response
2162
+
2163
+
2164
+ def _get_motion_groups_serialize(
2165
+ self,
2166
+ cell,
2167
+ controller,
2168
+ _request_auth,
2169
+ _content_type,
2170
+ _headers,
2171
+ _host_index,
2172
+ ) -> RequestSerialized:
2173
+
2174
+ _host = None
2175
+
2176
+ _collection_formats: Dict[str, str] = {
2177
+ }
2178
+
2179
+ _path_params: Dict[str, str] = {}
2180
+ _query_params: List[Tuple[str, str]] = []
2181
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2182
+ _form_params: List[Tuple[str, str]] = []
2183
+ _files: Dict[str, Union[str, bytes]] = {}
2184
+ _body_params: Optional[bytes] = None
2185
+
2186
+ # process the path parameters
2187
+ if cell is not None:
2188
+ _path_params['cell'] = cell
2189
+ if controller is not None:
2190
+ _path_params['controller'] = controller
2191
+ # process the query parameters
2192
+ # process the header parameters
2193
+ # process the form parameters
2194
+ # process the body parameter
2195
+
2196
+
2197
+ # set the HTTP header `Accept`
2198
+ _header_params['Accept'] = self.api_client.select_header_accept(
2199
+ [
2200
+ 'application/json'
2201
+ ]
2202
+ )
2203
+
2204
+
2205
+ # authentication setting
2206
+ _auth_settings: List[str] = [
2207
+ 'BasicAuth',
2208
+ 'BearerAuth'
2209
+ ]
2210
+
2211
+ return self.api_client.param_serialize(
2212
+ method='GET',
2213
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups',
2214
+ path_params=_path_params,
2215
+ query_params=_query_params,
2216
+ header_params=_header_params,
2217
+ body=_body_params,
2218
+ post_params=_form_params,
2219
+ files=_files,
2220
+ auth_settings=_auth_settings,
2221
+ collection_formats=_collection_formats,
2222
+ _host=_host,
2223
+ _request_auth=_request_auth
2224
+ )
2225
+
2226
+
2227
+
2228
+ @validate_call
2229
+ async def get_operation_mode(
2230
+ self,
2231
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2232
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2233
+ _request_timeout: Union[
2234
+ None,
2235
+ Annotated[StrictFloat, Field(gt=0)],
2236
+ Tuple[
2237
+ Annotated[StrictFloat, Field(gt=0)],
2238
+ Annotated[StrictFloat, Field(gt=0)]
2239
+ ]
2240
+ ] = None,
2241
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2242
+ _content_type: Optional[StrictStr] = None,
2243
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2244
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2245
+ ) -> OpMode:
2246
+ """Get Operation Mode
2247
+
2248
+ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
2249
+
2250
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2251
+ :type cell: str
2252
+ :param controller: Unique identifier to address a controller in the cell. (required)
2253
+ :type controller: str
2254
+ :param _request_timeout: timeout setting for this request. If one
2255
+ number provided, it will be total request
2256
+ timeout. It can also be a pair (tuple) of
2257
+ (connection, read) timeouts.
2258
+ :type _request_timeout: int, tuple(int, int), optional
2259
+ :param _request_auth: set to override the auth_settings for an a single
2260
+ request; this effectively ignores the
2261
+ authentication in the spec for a single request.
2262
+ :type _request_auth: dict, optional
2263
+ :param _content_type: force content-type for the request.
2264
+ :type _content_type: str, Optional
2265
+ :param _headers: set to override the headers for a single
2266
+ request; this effectively ignores the headers
2267
+ in the spec for a single request.
2268
+ :type _headers: dict, optional
2269
+ :param _host_index: set to override the host_index for a single
2270
+ request; this effectively ignores the host_index
2271
+ in the spec for a single request.
2272
+ :type _host_index: int, optional
2273
+ :return: Returns the result object.
2274
+ """ # noqa: E501
2275
+
2276
+ _param = self._get_operation_mode_serialize(
2277
+ cell=cell,
2278
+ controller=controller,
2279
+ _request_auth=_request_auth,
2280
+ _content_type=_content_type,
2281
+ _headers=_headers,
2282
+ _host_index=_host_index
2283
+ )
2284
+
2285
+ _response_types_map: Dict[str, Optional[str]] = {
2286
+ '200': "OpMode",
2287
+ '400': "Error",
2288
+ '404': "Error",
2289
+ }
2290
+
2291
+
2292
+ response_data = await self.api_client.call_api(
2293
+ *_param,
2294
+ _request_timeout=_request_timeout
2295
+ )
2296
+ await response_data.read()
2297
+ return self.api_client.response_deserialize(
2298
+ response_data=response_data,
2299
+ response_types_map=_response_types_map,
2300
+ ).data
2301
+
2302
+
2303
+ @validate_call
2304
+ async def get_operation_mode_with_http_info(
2305
+ self,
2306
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2307
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2308
+ _request_timeout: Union[
2309
+ None,
2310
+ Annotated[StrictFloat, Field(gt=0)],
2311
+ Tuple[
2312
+ Annotated[StrictFloat, Field(gt=0)],
2313
+ Annotated[StrictFloat, Field(gt=0)]
2314
+ ]
2315
+ ] = None,
2316
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2317
+ _content_type: Optional[StrictStr] = None,
2318
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2319
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2320
+ ) -> ApiResponse[OpMode]:
2321
+ """Get Operation Mode
2322
+
2323
+ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
2324
+
2325
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2326
+ :type cell: str
2327
+ :param controller: Unique identifier to address a controller in the cell. (required)
2328
+ :type controller: str
2329
+ :param _request_timeout: timeout setting for this request. If one
2330
+ number provided, it will be total request
2331
+ timeout. It can also be a pair (tuple) of
2332
+ (connection, read) timeouts.
2333
+ :type _request_timeout: int, tuple(int, int), optional
2334
+ :param _request_auth: set to override the auth_settings for an a single
2335
+ request; this effectively ignores the
2336
+ authentication in the spec for a single request.
2337
+ :type _request_auth: dict, optional
2338
+ :param _content_type: force content-type for the request.
2339
+ :type _content_type: str, Optional
2340
+ :param _headers: set to override the headers for a single
2341
+ request; this effectively ignores the headers
2342
+ in the spec for a single request.
2343
+ :type _headers: dict, optional
2344
+ :param _host_index: set to override the host_index for a single
2345
+ request; this effectively ignores the host_index
2346
+ in the spec for a single request.
2347
+ :type _host_index: int, optional
2348
+ :return: Returns the result object.
2349
+ """ # noqa: E501
2350
+
2351
+ _param = self._get_operation_mode_serialize(
2352
+ cell=cell,
2353
+ controller=controller,
2354
+ _request_auth=_request_auth,
2355
+ _content_type=_content_type,
2356
+ _headers=_headers,
2357
+ _host_index=_host_index
2358
+ )
2359
+
2360
+ _response_types_map: Dict[str, Optional[str]] = {
2361
+ '200': "OpMode",
2362
+ '400': "Error",
2363
+ '404': "Error",
2364
+ }
2365
+
2366
+
2367
+ response_data = await self.api_client.call_api(
2368
+ *_param,
2369
+ _request_timeout=_request_timeout
2370
+ )
2371
+ await response_data.read()
2372
+ return self.api_client.response_deserialize(
2373
+ response_data=response_data,
2374
+ response_types_map=_response_types_map,
2375
+ )
2376
+
2377
+
2378
+ @validate_call
2379
+ async def get_operation_mode_without_preload_content(
2380
+ self,
2381
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2382
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2383
+ _request_timeout: Union[
2384
+ None,
2385
+ Annotated[StrictFloat, Field(gt=0)],
2386
+ Tuple[
2387
+ Annotated[StrictFloat, Field(gt=0)],
2388
+ Annotated[StrictFloat, Field(gt=0)]
2389
+ ]
2390
+ ] = None,
2391
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2392
+ _content_type: Optional[StrictStr] = None,
2393
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2394
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2395
+ ) -> RESTResponseType:
2396
+ """Get Operation Mode
2397
+
2398
+ Requests the operation mode of the virtual robot controller. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
2399
+
2400
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2401
+ :type cell: str
2402
+ :param controller: Unique identifier to address a controller in the cell. (required)
2403
+ :type controller: str
2404
+ :param _request_timeout: timeout setting for this request. If one
2405
+ number provided, it will be total request
2406
+ timeout. It can also be a pair (tuple) of
2407
+ (connection, read) timeouts.
2408
+ :type _request_timeout: int, tuple(int, int), optional
2409
+ :param _request_auth: set to override the auth_settings for an a single
2410
+ request; this effectively ignores the
2411
+ authentication in the spec for a single request.
2412
+ :type _request_auth: dict, optional
2413
+ :param _content_type: force content-type for the request.
2414
+ :type _content_type: str, Optional
2415
+ :param _headers: set to override the headers for a single
2416
+ request; this effectively ignores the headers
2417
+ in the spec for a single request.
2418
+ :type _headers: dict, optional
2419
+ :param _host_index: set to override the host_index for a single
2420
+ request; this effectively ignores the host_index
2421
+ in the spec for a single request.
2422
+ :type _host_index: int, optional
2423
+ :return: Returns the result object.
2424
+ """ # noqa: E501
2425
+
2426
+ _param = self._get_operation_mode_serialize(
2427
+ cell=cell,
2428
+ controller=controller,
2429
+ _request_auth=_request_auth,
2430
+ _content_type=_content_type,
2431
+ _headers=_headers,
2432
+ _host_index=_host_index
2433
+ )
2434
+
2435
+ _response_types_map: Dict[str, Optional[str]] = {
2436
+ '200': "OpMode",
2437
+ '400': "Error",
2438
+ '404': "Error",
2439
+ }
2440
+
2441
+
2442
+ response_data = await self.api_client.call_api(
2443
+ *_param,
2444
+ _request_timeout=_request_timeout
2445
+ )
2446
+ return response_data.response
2447
+
2448
+
2449
+ def _get_operation_mode_serialize(
2450
+ self,
2451
+ cell,
2452
+ controller,
2453
+ _request_auth,
2454
+ _content_type,
2455
+ _headers,
2456
+ _host_index,
2457
+ ) -> RequestSerialized:
2458
+
2459
+ _host = None
2460
+
2461
+ _collection_formats: Dict[str, str] = {
2462
+ }
2463
+
2464
+ _path_params: Dict[str, str] = {}
2465
+ _query_params: List[Tuple[str, str]] = []
2466
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2467
+ _form_params: List[Tuple[str, str]] = []
2468
+ _files: Dict[str, Union[str, bytes]] = {}
2469
+ _body_params: Optional[bytes] = None
2470
+
2471
+ # process the path parameters
2472
+ if cell is not None:
2473
+ _path_params['cell'] = cell
2474
+ if controller is not None:
2475
+ _path_params['controller'] = controller
2476
+ # process the query parameters
2477
+ # process the header parameters
2478
+ # process the form parameters
2479
+ # process the body parameter
2480
+
2481
+
2482
+ # set the HTTP header `Accept`
2483
+ _header_params['Accept'] = self.api_client.select_header_accept(
2484
+ [
2485
+ 'application/json'
2486
+ ]
2487
+ )
2488
+
2489
+
2490
+ # authentication setting
2491
+ _auth_settings: List[str] = [
2492
+ 'BasicAuth',
2493
+ 'BearerAuth'
2494
+ ]
2495
+
2496
+ return self.api_client.param_serialize(
2497
+ method='GET',
2498
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/operationmode',
2499
+ path_params=_path_params,
2500
+ query_params=_query_params,
2501
+ header_params=_header_params,
2502
+ body=_body_params,
2503
+ post_params=_form_params,
2504
+ files=_files,
2505
+ auth_settings=_auth_settings,
2506
+ collection_formats=_collection_formats,
2507
+ _host=_host,
2508
+ _request_auth=_request_auth
2509
+ )
2510
+
2511
+
2512
+
2513
+ @validate_call
2514
+ async def get_virtual_controller_mounting(
2515
+ self,
2516
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2517
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2518
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2519
+ _request_timeout: Union[
2520
+ None,
2521
+ Annotated[StrictFloat, Field(gt=0)],
2522
+ Tuple[
2523
+ Annotated[StrictFloat, Field(gt=0)],
2524
+ Annotated[StrictFloat, Field(gt=0)]
2525
+ ]
2526
+ ] = None,
2527
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2528
+ _content_type: Optional[StrictStr] = None,
2529
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2530
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2531
+ ) -> CoordinateSystem:
2532
+ """Get Mounting
2533
+
2534
+ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
2535
+
2536
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2537
+ :type cell: str
2538
+ :param controller: Unique identifier to address a controller in the cell. (required)
2539
+ :type controller: str
2540
+ :param motion_group: The motion-group identifier. (required)
2541
+ :type motion_group: str
2542
+ :param _request_timeout: timeout setting for this request. If one
2543
+ number provided, it will be total request
2544
+ timeout. It can also be a pair (tuple) of
2545
+ (connection, read) timeouts.
2546
+ :type _request_timeout: int, tuple(int, int), optional
2547
+ :param _request_auth: set to override the auth_settings for an a single
2548
+ request; this effectively ignores the
2549
+ authentication in the spec for a single request.
2550
+ :type _request_auth: dict, optional
2551
+ :param _content_type: force content-type for the request.
2552
+ :type _content_type: str, Optional
2553
+ :param _headers: set to override the headers for a single
2554
+ request; this effectively ignores the headers
2555
+ in the spec for a single request.
2556
+ :type _headers: dict, optional
2557
+ :param _host_index: set to override the host_index for a single
2558
+ request; this effectively ignores the host_index
2559
+ in the spec for a single request.
2560
+ :type _host_index: int, optional
2561
+ :return: Returns the result object.
2562
+ """ # noqa: E501
2563
+
2564
+ _param = self._get_virtual_controller_mounting_serialize(
2565
+ cell=cell,
2566
+ controller=controller,
2567
+ motion_group=motion_group,
2568
+ _request_auth=_request_auth,
2569
+ _content_type=_content_type,
2570
+ _headers=_headers,
2571
+ _host_index=_host_index
2572
+ )
2573
+
2574
+ _response_types_map: Dict[str, Optional[str]] = {
2575
+ '200': "CoordinateSystem",
2576
+ '400': "Error",
2577
+ '404': "Error",
2578
+ }
2579
+
2580
+
2581
+ response_data = await self.api_client.call_api(
2582
+ *_param,
2583
+ _request_timeout=_request_timeout
2584
+ )
2585
+ await response_data.read()
2586
+ return self.api_client.response_deserialize(
2587
+ response_data=response_data,
2588
+ response_types_map=_response_types_map,
2589
+ ).data
2590
+
2591
+
2592
+ @validate_call
2593
+ async def get_virtual_controller_mounting_with_http_info(
2594
+ self,
2595
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2596
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2597
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2598
+ _request_timeout: Union[
2599
+ None,
2600
+ Annotated[StrictFloat, Field(gt=0)],
2601
+ Tuple[
2602
+ Annotated[StrictFloat, Field(gt=0)],
2603
+ Annotated[StrictFloat, Field(gt=0)]
2604
+ ]
2605
+ ] = None,
2606
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2607
+ _content_type: Optional[StrictStr] = None,
2608
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2609
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2610
+ ) -> ApiResponse[CoordinateSystem]:
2611
+ """Get Mounting
2612
+
2613
+ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
2614
+
2615
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2616
+ :type cell: str
2617
+ :param controller: Unique identifier to address a controller in the cell. (required)
2618
+ :type controller: str
2619
+ :param motion_group: The motion-group identifier. (required)
2620
+ :type motion_group: str
2621
+ :param _request_timeout: timeout setting for this request. If one
2622
+ number provided, it will be total request
2623
+ timeout. It can also be a pair (tuple) of
2624
+ (connection, read) timeouts.
2625
+ :type _request_timeout: int, tuple(int, int), optional
2626
+ :param _request_auth: set to override the auth_settings for an a single
2627
+ request; this effectively ignores the
2628
+ authentication in the spec for a single request.
2629
+ :type _request_auth: dict, optional
2630
+ :param _content_type: force content-type for the request.
2631
+ :type _content_type: str, Optional
2632
+ :param _headers: set to override the headers for a single
2633
+ request; this effectively ignores the headers
2634
+ in the spec for a single request.
2635
+ :type _headers: dict, optional
2636
+ :param _host_index: set to override the host_index for a single
2637
+ request; this effectively ignores the host_index
2638
+ in the spec for a single request.
2639
+ :type _host_index: int, optional
2640
+ :return: Returns the result object.
2641
+ """ # noqa: E501
2642
+
2643
+ _param = self._get_virtual_controller_mounting_serialize(
2644
+ cell=cell,
2645
+ controller=controller,
2646
+ motion_group=motion_group,
2647
+ _request_auth=_request_auth,
2648
+ _content_type=_content_type,
2649
+ _headers=_headers,
2650
+ _host_index=_host_index
2651
+ )
2652
+
2653
+ _response_types_map: Dict[str, Optional[str]] = {
2654
+ '200': "CoordinateSystem",
2655
+ '400': "Error",
2656
+ '404': "Error",
2657
+ }
2658
+
2659
+
2660
+ response_data = await self.api_client.call_api(
2661
+ *_param,
2662
+ _request_timeout=_request_timeout
2663
+ )
2664
+ await response_data.read()
2665
+ return self.api_client.response_deserialize(
2666
+ response_data=response_data,
2667
+ response_types_map=_response_types_map,
2668
+ )
2669
+
2670
+
2671
+ @validate_call
2672
+ async def get_virtual_controller_mounting_without_preload_content(
2673
+ self,
2674
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2675
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2676
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
2677
+ _request_timeout: Union[
2678
+ None,
2679
+ Annotated[StrictFloat, Field(gt=0)],
2680
+ Tuple[
2681
+ Annotated[StrictFloat, Field(gt=0)],
2682
+ Annotated[StrictFloat, Field(gt=0)]
2683
+ ]
2684
+ ] = None,
2685
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2686
+ _content_type: Optional[StrictStr] = None,
2687
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2688
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2689
+ ) -> RESTResponseType:
2690
+ """Get Mounting
2691
+
2692
+ Gets motion group mounting. The motion group is based on the origin of the returned coordinate system.
2693
+
2694
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2695
+ :type cell: str
2696
+ :param controller: Unique identifier to address a controller in the cell. (required)
2697
+ :type controller: str
2698
+ :param motion_group: The motion-group identifier. (required)
2699
+ :type motion_group: str
2700
+ :param _request_timeout: timeout setting for this request. If one
2701
+ number provided, it will be total request
2702
+ timeout. It can also be a pair (tuple) of
2703
+ (connection, read) timeouts.
2704
+ :type _request_timeout: int, tuple(int, int), optional
2705
+ :param _request_auth: set to override the auth_settings for an a single
2706
+ request; this effectively ignores the
2707
+ authentication in the spec for a single request.
2708
+ :type _request_auth: dict, optional
2709
+ :param _content_type: force content-type for the request.
2710
+ :type _content_type: str, Optional
2711
+ :param _headers: set to override the headers for a single
2712
+ request; this effectively ignores the headers
2713
+ in the spec for a single request.
2714
+ :type _headers: dict, optional
2715
+ :param _host_index: set to override the host_index for a single
2716
+ request; this effectively ignores the host_index
2717
+ in the spec for a single request.
2718
+ :type _host_index: int, optional
2719
+ :return: Returns the result object.
2720
+ """ # noqa: E501
2721
+
2722
+ _param = self._get_virtual_controller_mounting_serialize(
2723
+ cell=cell,
2724
+ controller=controller,
2725
+ motion_group=motion_group,
2726
+ _request_auth=_request_auth,
2727
+ _content_type=_content_type,
2728
+ _headers=_headers,
2729
+ _host_index=_host_index
2730
+ )
2731
+
2732
+ _response_types_map: Dict[str, Optional[str]] = {
2733
+ '200': "CoordinateSystem",
2734
+ '400': "Error",
2735
+ '404': "Error",
2736
+ }
2737
+
2738
+
2739
+ response_data = await self.api_client.call_api(
2740
+ *_param,
2741
+ _request_timeout=_request_timeout
2742
+ )
2743
+ return response_data.response
2744
+
2745
+
2746
+ def _get_virtual_controller_mounting_serialize(
2747
+ self,
2748
+ cell,
2749
+ controller,
2750
+ motion_group,
2751
+ _request_auth,
2752
+ _content_type,
2753
+ _headers,
2754
+ _host_index,
2755
+ ) -> RequestSerialized:
2756
+
2757
+ _host = None
2758
+
2759
+ _collection_formats: Dict[str, str] = {
2760
+ }
2761
+
2762
+ _path_params: Dict[str, str] = {}
2763
+ _query_params: List[Tuple[str, str]] = []
2764
+ _header_params: Dict[str, Optional[str]] = _headers or {}
2765
+ _form_params: List[Tuple[str, str]] = []
2766
+ _files: Dict[str, Union[str, bytes]] = {}
2767
+ _body_params: Optional[bytes] = None
2768
+
2769
+ # process the path parameters
2770
+ if cell is not None:
2771
+ _path_params['cell'] = cell
2772
+ if controller is not None:
2773
+ _path_params['controller'] = controller
2774
+ if motion_group is not None:
2775
+ _path_params['motion-group'] = motion_group
2776
+ # process the query parameters
2777
+ # process the header parameters
2778
+ # process the form parameters
2779
+ # process the body parameter
2780
+
2781
+
2782
+ # set the HTTP header `Accept`
2783
+ _header_params['Accept'] = self.api_client.select_header_accept(
2784
+ [
2785
+ 'application/json'
2786
+ ]
2787
+ )
2788
+
2789
+
2790
+ # authentication setting
2791
+ _auth_settings: List[str] = [
2792
+ 'BasicAuth',
2793
+ 'BearerAuth'
2794
+ ]
2795
+
2796
+ return self.api_client.param_serialize(
2797
+ method='GET',
2798
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting',
2799
+ path_params=_path_params,
2800
+ query_params=_query_params,
2801
+ header_params=_header_params,
2802
+ body=_body_params,
2803
+ post_params=_form_params,
2804
+ files=_files,
2805
+ auth_settings=_auth_settings,
2806
+ collection_formats=_collection_formats,
2807
+ _host=_host,
2808
+ _request_auth=_request_auth
2809
+ )
2810
+
2811
+
2812
+
2813
+ @validate_call
2814
+ async def list_virtual_controller_coordinate_systems(
2815
+ self,
2816
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2817
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2818
+ _request_timeout: Union[
2819
+ None,
2820
+ Annotated[StrictFloat, Field(gt=0)],
2821
+ Tuple[
2822
+ Annotated[StrictFloat, Field(gt=0)],
2823
+ Annotated[StrictFloat, Field(gt=0)]
2824
+ ]
2825
+ ] = None,
2826
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2827
+ _content_type: Optional[StrictStr] = None,
2828
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2829
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2830
+ ) -> List[CoordinateSystem]:
2831
+ """List Coordinate Systems
2832
+
2833
+ Lists all coordinate systems on the robot controller.
2834
+
2835
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2836
+ :type cell: str
2837
+ :param controller: Unique identifier to address a controller in the cell. (required)
2838
+ :type controller: str
2839
+ :param _request_timeout: timeout setting for this request. If one
2840
+ number provided, it will be total request
2841
+ timeout. It can also be a pair (tuple) of
2842
+ (connection, read) timeouts.
2843
+ :type _request_timeout: int, tuple(int, int), optional
2844
+ :param _request_auth: set to override the auth_settings for an a single
2845
+ request; this effectively ignores the
2846
+ authentication in the spec for a single request.
2847
+ :type _request_auth: dict, optional
2848
+ :param _content_type: force content-type for the request.
2849
+ :type _content_type: str, Optional
2850
+ :param _headers: set to override the headers for a single
2851
+ request; this effectively ignores the headers
2852
+ in the spec for a single request.
2853
+ :type _headers: dict, optional
2854
+ :param _host_index: set to override the host_index for a single
2855
+ request; this effectively ignores the host_index
2856
+ in the spec for a single request.
2857
+ :type _host_index: int, optional
2858
+ :return: Returns the result object.
2859
+ """ # noqa: E501
2860
+
2861
+ _param = self._list_virtual_controller_coordinate_systems_serialize(
2862
+ cell=cell,
2863
+ controller=controller,
2864
+ _request_auth=_request_auth,
2865
+ _content_type=_content_type,
2866
+ _headers=_headers,
2867
+ _host_index=_host_index
2868
+ )
2869
+
2870
+ _response_types_map: Dict[str, Optional[str]] = {
2871
+ '200': "List[CoordinateSystem]",
2872
+ '400': "Error",
2873
+ '404': "Error",
2874
+ }
2875
+
2876
+
2877
+ response_data = await self.api_client.call_api(
2878
+ *_param,
2879
+ _request_timeout=_request_timeout
2880
+ )
2881
+ await response_data.read()
2882
+ return self.api_client.response_deserialize(
2883
+ response_data=response_data,
2884
+ response_types_map=_response_types_map,
2885
+ ).data
2886
+
2887
+
2888
+ @validate_call
2889
+ async def list_virtual_controller_coordinate_systems_with_http_info(
2890
+ self,
2891
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2892
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2893
+ _request_timeout: Union[
2894
+ None,
2895
+ Annotated[StrictFloat, Field(gt=0)],
2896
+ Tuple[
2897
+ Annotated[StrictFloat, Field(gt=0)],
2898
+ Annotated[StrictFloat, Field(gt=0)]
2899
+ ]
2900
+ ] = None,
2901
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2902
+ _content_type: Optional[StrictStr] = None,
2903
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2904
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2905
+ ) -> ApiResponse[List[CoordinateSystem]]:
2906
+ """List Coordinate Systems
2907
+
2908
+ Lists all coordinate systems on the robot controller.
2909
+
2910
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2911
+ :type cell: str
2912
+ :param controller: Unique identifier to address a controller in the cell. (required)
2913
+ :type controller: str
2914
+ :param _request_timeout: timeout setting for this request. If one
2915
+ number provided, it will be total request
2916
+ timeout. It can also be a pair (tuple) of
2917
+ (connection, read) timeouts.
2918
+ :type _request_timeout: int, tuple(int, int), optional
2919
+ :param _request_auth: set to override the auth_settings for an a single
2920
+ request; this effectively ignores the
2921
+ authentication in the spec for a single request.
2922
+ :type _request_auth: dict, optional
2923
+ :param _content_type: force content-type for the request.
2924
+ :type _content_type: str, Optional
2925
+ :param _headers: set to override the headers for a single
2926
+ request; this effectively ignores the headers
2927
+ in the spec for a single request.
2928
+ :type _headers: dict, optional
2929
+ :param _host_index: set to override the host_index for a single
2930
+ request; this effectively ignores the host_index
2931
+ in the spec for a single request.
2932
+ :type _host_index: int, optional
2933
+ :return: Returns the result object.
2934
+ """ # noqa: E501
2935
+
2936
+ _param = self._list_virtual_controller_coordinate_systems_serialize(
2937
+ cell=cell,
2938
+ controller=controller,
2939
+ _request_auth=_request_auth,
2940
+ _content_type=_content_type,
2941
+ _headers=_headers,
2942
+ _host_index=_host_index
2943
+ )
2944
+
2945
+ _response_types_map: Dict[str, Optional[str]] = {
2946
+ '200': "List[CoordinateSystem]",
2947
+ '400': "Error",
2948
+ '404': "Error",
2949
+ }
2950
+
2951
+
2952
+ response_data = await self.api_client.call_api(
2953
+ *_param,
2954
+ _request_timeout=_request_timeout
2955
+ )
2956
+ await response_data.read()
2957
+ return self.api_client.response_deserialize(
2958
+ response_data=response_data,
2959
+ response_types_map=_response_types_map,
2960
+ )
2961
+
2962
+
2963
+ @validate_call
2964
+ async def list_virtual_controller_coordinate_systems_without_preload_content(
2965
+ self,
2966
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
2967
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
2968
+ _request_timeout: Union[
2969
+ None,
2970
+ Annotated[StrictFloat, Field(gt=0)],
2971
+ Tuple[
2972
+ Annotated[StrictFloat, Field(gt=0)],
2973
+ Annotated[StrictFloat, Field(gt=0)]
2974
+ ]
2975
+ ] = None,
2976
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
2977
+ _content_type: Optional[StrictStr] = None,
2978
+ _headers: Optional[Dict[StrictStr, Any]] = None,
2979
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
2980
+ ) -> RESTResponseType:
2981
+ """List Coordinate Systems
2982
+
2983
+ Lists all coordinate systems on the robot controller.
2984
+
2985
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
2986
+ :type cell: str
2987
+ :param controller: Unique identifier to address a controller in the cell. (required)
2988
+ :type controller: str
2989
+ :param _request_timeout: timeout setting for this request. If one
2990
+ number provided, it will be total request
2991
+ timeout. It can also be a pair (tuple) of
2992
+ (connection, read) timeouts.
2993
+ :type _request_timeout: int, tuple(int, int), optional
2994
+ :param _request_auth: set to override the auth_settings for an a single
2995
+ request; this effectively ignores the
2996
+ authentication in the spec for a single request.
2997
+ :type _request_auth: dict, optional
2998
+ :param _content_type: force content-type for the request.
2999
+ :type _content_type: str, Optional
3000
+ :param _headers: set to override the headers for a single
3001
+ request; this effectively ignores the headers
3002
+ in the spec for a single request.
3003
+ :type _headers: dict, optional
3004
+ :param _host_index: set to override the host_index for a single
3005
+ request; this effectively ignores the host_index
3006
+ in the spec for a single request.
3007
+ :type _host_index: int, optional
3008
+ :return: Returns the result object.
3009
+ """ # noqa: E501
3010
+
3011
+ _param = self._list_virtual_controller_coordinate_systems_serialize(
3012
+ cell=cell,
3013
+ controller=controller,
3014
+ _request_auth=_request_auth,
3015
+ _content_type=_content_type,
3016
+ _headers=_headers,
3017
+ _host_index=_host_index
3018
+ )
3019
+
3020
+ _response_types_map: Dict[str, Optional[str]] = {
3021
+ '200': "List[CoordinateSystem]",
3022
+ '400': "Error",
3023
+ '404': "Error",
3024
+ }
3025
+
3026
+
3027
+ response_data = await self.api_client.call_api(
3028
+ *_param,
3029
+ _request_timeout=_request_timeout
3030
+ )
3031
+ return response_data.response
3032
+
3033
+
3034
+ def _list_virtual_controller_coordinate_systems_serialize(
3035
+ self,
3036
+ cell,
3037
+ controller,
3038
+ _request_auth,
3039
+ _content_type,
3040
+ _headers,
3041
+ _host_index,
3042
+ ) -> RequestSerialized:
3043
+
3044
+ _host = None
3045
+
3046
+ _collection_formats: Dict[str, str] = {
3047
+ }
3048
+
3049
+ _path_params: Dict[str, str] = {}
3050
+ _query_params: List[Tuple[str, str]] = []
3051
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3052
+ _form_params: List[Tuple[str, str]] = []
3053
+ _files: Dict[str, Union[str, bytes]] = {}
3054
+ _body_params: Optional[bytes] = None
3055
+
3056
+ # process the path parameters
3057
+ if cell is not None:
3058
+ _path_params['cell'] = cell
3059
+ if controller is not None:
3060
+ _path_params['controller'] = controller
3061
+ # process the query parameters
3062
+ # process the header parameters
3063
+ # process the form parameters
3064
+ # process the body parameter
3065
+
3066
+
3067
+ # set the HTTP header `Accept`
3068
+ _header_params['Accept'] = self.api_client.select_header_accept(
3069
+ [
3070
+ 'application/json'
3071
+ ]
3072
+ )
3073
+
3074
+
3075
+ # authentication setting
3076
+ _auth_settings: List[str] = [
3077
+ 'BasicAuth',
3078
+ 'BearerAuth'
3079
+ ]
3080
+
3081
+ return self.api_client.param_serialize(
3082
+ method='GET',
3083
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/coordinate-systems',
3084
+ path_params=_path_params,
3085
+ query_params=_query_params,
3086
+ header_params=_header_params,
3087
+ body=_body_params,
3088
+ post_params=_form_params,
3089
+ files=_files,
3090
+ auth_settings=_auth_settings,
3091
+ collection_formats=_collection_formats,
3092
+ _host=_host,
3093
+ _request_auth=_request_auth
3094
+ )
3095
+
3096
+
3097
+
3098
+ @validate_call
3099
+ async def list_virtual_controller_tcps(
3100
+ self,
3101
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3102
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3103
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3104
+ _request_timeout: Union[
3105
+ None,
3106
+ Annotated[StrictFloat, Field(gt=0)],
3107
+ Tuple[
3108
+ Annotated[StrictFloat, Field(gt=0)],
3109
+ Annotated[StrictFloat, Field(gt=0)]
3110
+ ]
3111
+ ] = None,
3112
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3113
+ _content_type: Optional[StrictStr] = None,
3114
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3115
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3116
+ ) -> List[RobotTcp]:
3117
+ """List TCPs
3118
+
3119
+ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
3120
+
3121
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3122
+ :type cell: str
3123
+ :param controller: Unique identifier to address a controller in the cell. (required)
3124
+ :type controller: str
3125
+ :param motion_group: The motion-group identifier. (required)
3126
+ :type motion_group: str
3127
+ :param _request_timeout: timeout setting for this request. If one
3128
+ number provided, it will be total request
3129
+ timeout. It can also be a pair (tuple) of
3130
+ (connection, read) timeouts.
3131
+ :type _request_timeout: int, tuple(int, int), optional
3132
+ :param _request_auth: set to override the auth_settings for an a single
3133
+ request; this effectively ignores the
3134
+ authentication in the spec for a single request.
3135
+ :type _request_auth: dict, optional
3136
+ :param _content_type: force content-type for the request.
3137
+ :type _content_type: str, Optional
3138
+ :param _headers: set to override the headers for a single
3139
+ request; this effectively ignores the headers
3140
+ in the spec for a single request.
3141
+ :type _headers: dict, optional
3142
+ :param _host_index: set to override the host_index for a single
3143
+ request; this effectively ignores the host_index
3144
+ in the spec for a single request.
3145
+ :type _host_index: int, optional
3146
+ :return: Returns the result object.
3147
+ """ # noqa: E501
3148
+
3149
+ _param = self._list_virtual_controller_tcps_serialize(
3150
+ cell=cell,
3151
+ controller=controller,
3152
+ motion_group=motion_group,
3153
+ _request_auth=_request_auth,
3154
+ _content_type=_content_type,
3155
+ _headers=_headers,
3156
+ _host_index=_host_index
3157
+ )
3158
+
3159
+ _response_types_map: Dict[str, Optional[str]] = {
3160
+ '200': "List[RobotTcp]",
3161
+ '400': "Error",
3162
+ '404': "Error",
3163
+ }
3164
+
3165
+
3166
+ response_data = await self.api_client.call_api(
3167
+ *_param,
3168
+ _request_timeout=_request_timeout
3169
+ )
3170
+ await response_data.read()
3171
+ return self.api_client.response_deserialize(
3172
+ response_data=response_data,
3173
+ response_types_map=_response_types_map,
3174
+ ).data
3175
+
3176
+
3177
+ @validate_call
3178
+ async def list_virtual_controller_tcps_with_http_info(
3179
+ self,
3180
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3181
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3182
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3183
+ _request_timeout: Union[
3184
+ None,
3185
+ Annotated[StrictFloat, Field(gt=0)],
3186
+ Tuple[
3187
+ Annotated[StrictFloat, Field(gt=0)],
3188
+ Annotated[StrictFloat, Field(gt=0)]
3189
+ ]
3190
+ ] = None,
3191
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3192
+ _content_type: Optional[StrictStr] = None,
3193
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3194
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3195
+ ) -> ApiResponse[List[RobotTcp]]:
3196
+ """List TCPs
3197
+
3198
+ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
3199
+
3200
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3201
+ :type cell: str
3202
+ :param controller: Unique identifier to address a controller in the cell. (required)
3203
+ :type controller: str
3204
+ :param motion_group: The motion-group identifier. (required)
3205
+ :type motion_group: str
3206
+ :param _request_timeout: timeout setting for this request. If one
3207
+ number provided, it will be total request
3208
+ timeout. It can also be a pair (tuple) of
3209
+ (connection, read) timeouts.
3210
+ :type _request_timeout: int, tuple(int, int), optional
3211
+ :param _request_auth: set to override the auth_settings for an a single
3212
+ request; this effectively ignores the
3213
+ authentication in the spec for a single request.
3214
+ :type _request_auth: dict, optional
3215
+ :param _content_type: force content-type for the request.
3216
+ :type _content_type: str, Optional
3217
+ :param _headers: set to override the headers for a single
3218
+ request; this effectively ignores the headers
3219
+ in the spec for a single request.
3220
+ :type _headers: dict, optional
3221
+ :param _host_index: set to override the host_index for a single
3222
+ request; this effectively ignores the host_index
3223
+ in the spec for a single request.
3224
+ :type _host_index: int, optional
3225
+ :return: Returns the result object.
3226
+ """ # noqa: E501
3227
+
3228
+ _param = self._list_virtual_controller_tcps_serialize(
3229
+ cell=cell,
3230
+ controller=controller,
3231
+ motion_group=motion_group,
3232
+ _request_auth=_request_auth,
3233
+ _content_type=_content_type,
3234
+ _headers=_headers,
3235
+ _host_index=_host_index
3236
+ )
3237
+
3238
+ _response_types_map: Dict[str, Optional[str]] = {
3239
+ '200': "List[RobotTcp]",
3240
+ '400': "Error",
3241
+ '404': "Error",
3242
+ }
3243
+
3244
+
3245
+ response_data = await self.api_client.call_api(
3246
+ *_param,
3247
+ _request_timeout=_request_timeout
3248
+ )
3249
+ await response_data.read()
3250
+ return self.api_client.response_deserialize(
3251
+ response_data=response_data,
3252
+ response_types_map=_response_types_map,
3253
+ )
3254
+
3255
+
3256
+ @validate_call
3257
+ async def list_virtual_controller_tcps_without_preload_content(
3258
+ self,
3259
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3260
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3261
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3262
+ _request_timeout: Union[
3263
+ None,
3264
+ Annotated[StrictFloat, Field(gt=0)],
3265
+ Tuple[
3266
+ Annotated[StrictFloat, Field(gt=0)],
3267
+ Annotated[StrictFloat, Field(gt=0)]
3268
+ ]
3269
+ ] = None,
3270
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3271
+ _content_type: Optional[StrictStr] = None,
3272
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3273
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3274
+ ) -> RESTResponseType:
3275
+ """List TCPs
3276
+
3277
+ Lists TCPs of the motion group. An empty TCP list is valid, e.g., for external axes.
3278
+
3279
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3280
+ :type cell: str
3281
+ :param controller: Unique identifier to address a controller in the cell. (required)
3282
+ :type controller: str
3283
+ :param motion_group: The motion-group identifier. (required)
3284
+ :type motion_group: str
3285
+ :param _request_timeout: timeout setting for this request. If one
3286
+ number provided, it will be total request
3287
+ timeout. It can also be a pair (tuple) of
3288
+ (connection, read) timeouts.
3289
+ :type _request_timeout: int, tuple(int, int), optional
3290
+ :param _request_auth: set to override the auth_settings for an a single
3291
+ request; this effectively ignores the
3292
+ authentication in the spec for a single request.
3293
+ :type _request_auth: dict, optional
3294
+ :param _content_type: force content-type for the request.
3295
+ :type _content_type: str, Optional
3296
+ :param _headers: set to override the headers for a single
3297
+ request; this effectively ignores the headers
3298
+ in the spec for a single request.
3299
+ :type _headers: dict, optional
3300
+ :param _host_index: set to override the host_index for a single
3301
+ request; this effectively ignores the host_index
3302
+ in the spec for a single request.
3303
+ :type _host_index: int, optional
3304
+ :return: Returns the result object.
3305
+ """ # noqa: E501
3306
+
3307
+ _param = self._list_virtual_controller_tcps_serialize(
3308
+ cell=cell,
3309
+ controller=controller,
3310
+ motion_group=motion_group,
3311
+ _request_auth=_request_auth,
3312
+ _content_type=_content_type,
3313
+ _headers=_headers,
3314
+ _host_index=_host_index
3315
+ )
3316
+
3317
+ _response_types_map: Dict[str, Optional[str]] = {
3318
+ '200': "List[RobotTcp]",
3319
+ '400': "Error",
3320
+ '404': "Error",
3321
+ }
3322
+
3323
+
3324
+ response_data = await self.api_client.call_api(
3325
+ *_param,
3326
+ _request_timeout=_request_timeout
3327
+ )
3328
+ return response_data.response
3329
+
3330
+
3331
+ def _list_virtual_controller_tcps_serialize(
3332
+ self,
3333
+ cell,
3334
+ controller,
3335
+ motion_group,
3336
+ _request_auth,
3337
+ _content_type,
3338
+ _headers,
3339
+ _host_index,
3340
+ ) -> RequestSerialized:
3341
+
3342
+ _host = None
3343
+
3344
+ _collection_formats: Dict[str, str] = {
3345
+ }
3346
+
3347
+ _path_params: Dict[str, str] = {}
3348
+ _query_params: List[Tuple[str, str]] = []
3349
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3350
+ _form_params: List[Tuple[str, str]] = []
3351
+ _files: Dict[str, Union[str, bytes]] = {}
3352
+ _body_params: Optional[bytes] = None
3353
+
3354
+ # process the path parameters
3355
+ if cell is not None:
3356
+ _path_params['cell'] = cell
3357
+ if controller is not None:
3358
+ _path_params['controller'] = controller
3359
+ if motion_group is not None:
3360
+ _path_params['motion-group'] = motion_group
3361
+ # process the query parameters
3362
+ # process the header parameters
3363
+ # process the form parameters
3364
+ # process the body parameter
3365
+
3366
+
3367
+ # set the HTTP header `Accept`
3368
+ _header_params['Accept'] = self.api_client.select_header_accept(
3369
+ [
3370
+ 'application/json'
3371
+ ]
3372
+ )
3373
+
3374
+
3375
+ # authentication setting
3376
+ _auth_settings: List[str] = [
3377
+ 'BasicAuth',
3378
+ 'BearerAuth'
3379
+ ]
3380
+
3381
+ return self.api_client.param_serialize(
3382
+ method='GET',
3383
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/tcps',
3384
+ path_params=_path_params,
3385
+ query_params=_query_params,
3386
+ header_params=_header_params,
3387
+ body=_body_params,
3388
+ post_params=_form_params,
3389
+ files=_files,
3390
+ auth_settings=_auth_settings,
3391
+ collection_formats=_collection_formats,
3392
+ _host=_host,
3393
+ _request_auth=_request_auth
3394
+ )
3395
+
3396
+
3397
+
3398
+ @validate_call
3399
+ async def set_emergency_stop(
3400
+ self,
3401
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3402
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3403
+ active: Optional[StrictBool] = None,
3404
+ _request_timeout: Union[
3405
+ None,
3406
+ Annotated[StrictFloat, Field(gt=0)],
3407
+ Tuple[
3408
+ Annotated[StrictFloat, Field(gt=0)],
3409
+ Annotated[StrictFloat, Field(gt=0)]
3410
+ ]
3411
+ ] = None,
3412
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3413
+ _content_type: Optional[StrictStr] = None,
3414
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3415
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3416
+ ) -> None:
3417
+ """Push or Release Emergency Stop
3418
+
3419
+ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
3420
+
3421
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3422
+ :type cell: str
3423
+ :param controller: Unique identifier to address a controller in the cell. (required)
3424
+ :type controller: str
3425
+ :param active:
3426
+ :type active: bool
3427
+ :param _request_timeout: timeout setting for this request. If one
3428
+ number provided, it will be total request
3429
+ timeout. It can also be a pair (tuple) of
3430
+ (connection, read) timeouts.
3431
+ :type _request_timeout: int, tuple(int, int), optional
3432
+ :param _request_auth: set to override the auth_settings for an a single
3433
+ request; this effectively ignores the
3434
+ authentication in the spec for a single request.
3435
+ :type _request_auth: dict, optional
3436
+ :param _content_type: force content-type for the request.
3437
+ :type _content_type: str, Optional
3438
+ :param _headers: set to override the headers for a single
3439
+ request; this effectively ignores the headers
3440
+ in the spec for a single request.
3441
+ :type _headers: dict, optional
3442
+ :param _host_index: set to override the host_index for a single
3443
+ request; this effectively ignores the host_index
3444
+ in the spec for a single request.
3445
+ :type _host_index: int, optional
3446
+ :return: Returns the result object.
3447
+ """ # noqa: E501
3448
+
3449
+ _param = self._set_emergency_stop_serialize(
3450
+ cell=cell,
3451
+ controller=controller,
3452
+ active=active,
3453
+ _request_auth=_request_auth,
3454
+ _content_type=_content_type,
3455
+ _headers=_headers,
3456
+ _host_index=_host_index
3457
+ )
3458
+
3459
+ _response_types_map: Dict[str, Optional[str]] = {
3460
+ '200': None,
3461
+ '400': "Error",
3462
+ '404': "Error",
3463
+ }
3464
+
3465
+
3466
+ response_data = await self.api_client.call_api(
3467
+ *_param,
3468
+ _request_timeout=_request_timeout
3469
+ )
3470
+ await response_data.read()
3471
+ return self.api_client.response_deserialize(
3472
+ response_data=response_data,
3473
+ response_types_map=_response_types_map,
3474
+ ).data
3475
+
3476
+
3477
+ @validate_call
3478
+ async def set_emergency_stop_with_http_info(
3479
+ self,
3480
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3481
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3482
+ active: Optional[StrictBool] = None,
3483
+ _request_timeout: Union[
3484
+ None,
3485
+ Annotated[StrictFloat, Field(gt=0)],
3486
+ Tuple[
3487
+ Annotated[StrictFloat, Field(gt=0)],
3488
+ Annotated[StrictFloat, Field(gt=0)]
3489
+ ]
3490
+ ] = None,
3491
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3492
+ _content_type: Optional[StrictStr] = None,
3493
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3494
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3495
+ ) -> ApiResponse[None]:
3496
+ """Push or Release Emergency Stop
3497
+
3498
+ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
3499
+
3500
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3501
+ :type cell: str
3502
+ :param controller: Unique identifier to address a controller in the cell. (required)
3503
+ :type controller: str
3504
+ :param active:
3505
+ :type active: bool
3506
+ :param _request_timeout: timeout setting for this request. If one
3507
+ number provided, it will be total request
3508
+ timeout. It can also be a pair (tuple) of
3509
+ (connection, read) timeouts.
3510
+ :type _request_timeout: int, tuple(int, int), optional
3511
+ :param _request_auth: set to override the auth_settings for an a single
3512
+ request; this effectively ignores the
3513
+ authentication in the spec for a single request.
3514
+ :type _request_auth: dict, optional
3515
+ :param _content_type: force content-type for the request.
3516
+ :type _content_type: str, Optional
3517
+ :param _headers: set to override the headers for a single
3518
+ request; this effectively ignores the headers
3519
+ in the spec for a single request.
3520
+ :type _headers: dict, optional
3521
+ :param _host_index: set to override the host_index for a single
3522
+ request; this effectively ignores the host_index
3523
+ in the spec for a single request.
3524
+ :type _host_index: int, optional
3525
+ :return: Returns the result object.
3526
+ """ # noqa: E501
3527
+
3528
+ _param = self._set_emergency_stop_serialize(
3529
+ cell=cell,
3530
+ controller=controller,
3531
+ active=active,
3532
+ _request_auth=_request_auth,
3533
+ _content_type=_content_type,
3534
+ _headers=_headers,
3535
+ _host_index=_host_index
3536
+ )
3537
+
3538
+ _response_types_map: Dict[str, Optional[str]] = {
3539
+ '200': None,
3540
+ '400': "Error",
3541
+ '404': "Error",
3542
+ }
3543
+
3544
+
3545
+ response_data = await self.api_client.call_api(
3546
+ *_param,
3547
+ _request_timeout=_request_timeout
3548
+ )
3549
+ await response_data.read()
3550
+ return self.api_client.response_deserialize(
3551
+ response_data=response_data,
3552
+ response_types_map=_response_types_map,
3553
+ )
3554
+
3555
+
3556
+ @validate_call
3557
+ async def set_emergency_stop_without_preload_content(
3558
+ self,
3559
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3560
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3561
+ active: Optional[StrictBool] = None,
3562
+ _request_timeout: Union[
3563
+ None,
3564
+ Annotated[StrictFloat, Field(gt=0)],
3565
+ Tuple[
3566
+ Annotated[StrictFloat, Field(gt=0)],
3567
+ Annotated[StrictFloat, Field(gt=0)]
3568
+ ]
3569
+ ] = None,
3570
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3571
+ _content_type: Optional[StrictStr] = None,
3572
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3573
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3574
+ ) -> RESTResponseType:
3575
+ """Push or Release Emergency Stop
3576
+
3577
+ Activates or releases the Emergency Stop on the virtual robot controller. Activating the Emergency Stop stops the execution of all motions. The stop is executed on physical controllers immediately not gracefully and not on paths. Due to restricted physical behavior of the virtual robot controller, the Emergency Stop is executed on paths. To return to normal operation the Emergency Stop needs to be released. Use [getCurrentMotionGroupState](getCurrentMotionGroupState) to get the Emergency Stop state with `safety_state` regardless of the controller type. > **NOTE** > > The Emergency Stop state can only be changed via API when using virtual robot controllers.
3578
+
3579
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3580
+ :type cell: str
3581
+ :param controller: Unique identifier to address a controller in the cell. (required)
3582
+ :type controller: str
3583
+ :param active:
3584
+ :type active: bool
3585
+ :param _request_timeout: timeout setting for this request. If one
3586
+ number provided, it will be total request
3587
+ timeout. It can also be a pair (tuple) of
3588
+ (connection, read) timeouts.
3589
+ :type _request_timeout: int, tuple(int, int), optional
3590
+ :param _request_auth: set to override the auth_settings for an a single
3591
+ request; this effectively ignores the
3592
+ authentication in the spec for a single request.
3593
+ :type _request_auth: dict, optional
3594
+ :param _content_type: force content-type for the request.
3595
+ :type _content_type: str, Optional
3596
+ :param _headers: set to override the headers for a single
3597
+ request; this effectively ignores the headers
3598
+ in the spec for a single request.
3599
+ :type _headers: dict, optional
3600
+ :param _host_index: set to override the host_index for a single
3601
+ request; this effectively ignores the host_index
3602
+ in the spec for a single request.
3603
+ :type _host_index: int, optional
3604
+ :return: Returns the result object.
3605
+ """ # noqa: E501
3606
+
3607
+ _param = self._set_emergency_stop_serialize(
3608
+ cell=cell,
3609
+ controller=controller,
3610
+ active=active,
3611
+ _request_auth=_request_auth,
3612
+ _content_type=_content_type,
3613
+ _headers=_headers,
3614
+ _host_index=_host_index
3615
+ )
3616
+
3617
+ _response_types_map: Dict[str, Optional[str]] = {
3618
+ '200': None,
3619
+ '400': "Error",
3620
+ '404': "Error",
3621
+ }
3622
+
3623
+
3624
+ response_data = await self.api_client.call_api(
3625
+ *_param,
3626
+ _request_timeout=_request_timeout
3627
+ )
3628
+ return response_data.response
3629
+
3630
+
3631
+ def _set_emergency_stop_serialize(
3632
+ self,
3633
+ cell,
3634
+ controller,
3635
+ active,
3636
+ _request_auth,
3637
+ _content_type,
3638
+ _headers,
3639
+ _host_index,
3640
+ ) -> RequestSerialized:
3641
+
3642
+ _host = None
3643
+
3644
+ _collection_formats: Dict[str, str] = {
3645
+ }
3646
+
3647
+ _path_params: Dict[str, str] = {}
3648
+ _query_params: List[Tuple[str, str]] = []
3649
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3650
+ _form_params: List[Tuple[str, str]] = []
3651
+ _files: Dict[str, Union[str, bytes]] = {}
3652
+ _body_params: Optional[bytes] = None
3653
+
3654
+ # process the path parameters
3655
+ if cell is not None:
3656
+ _path_params['cell'] = cell
3657
+ if controller is not None:
3658
+ _path_params['controller'] = controller
3659
+ # process the query parameters
3660
+ if active is not None:
3661
+
3662
+ _query_params.append(('active', active))
3663
+
3664
+ # process the header parameters
3665
+ # process the form parameters
3666
+ # process the body parameter
3667
+
3668
+
3669
+ # set the HTTP header `Accept`
3670
+ _header_params['Accept'] = self.api_client.select_header_accept(
3671
+ [
3672
+ 'application/json'
3673
+ ]
3674
+ )
3675
+
3676
+
3677
+ # authentication setting
3678
+ _auth_settings: List[str] = [
3679
+ 'BasicAuth',
3680
+ 'BearerAuth'
3681
+ ]
3682
+
3683
+ return self.api_client.param_serialize(
3684
+ method='PUT',
3685
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/emergency-stop',
3686
+ path_params=_path_params,
3687
+ query_params=_query_params,
3688
+ header_params=_header_params,
3689
+ body=_body_params,
3690
+ post_params=_form_params,
3691
+ files=_files,
3692
+ auth_settings=_auth_settings,
3693
+ collection_formats=_collection_formats,
3694
+ _host=_host,
3695
+ _request_auth=_request_auth
3696
+ )
3697
+
3698
+
3699
+
3700
+ @validate_call
3701
+ async def set_motion_group_state(
3702
+ self,
3703
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3704
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3705
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3706
+ motion_group_joints: MotionGroupJoints,
3707
+ _request_timeout: Union[
3708
+ None,
3709
+ Annotated[StrictFloat, Field(gt=0)],
3710
+ Tuple[
3711
+ Annotated[StrictFloat, Field(gt=0)],
3712
+ Annotated[StrictFloat, Field(gt=0)]
3713
+ ]
3714
+ ] = None,
3715
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3716
+ _content_type: Optional[StrictStr] = None,
3717
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3718
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3719
+ ) -> None:
3720
+ """Set Motion Group State
3721
+
3722
+ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
3723
+
3724
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3725
+ :type cell: str
3726
+ :param controller: Unique identifier to address a controller in the cell. (required)
3727
+ :type controller: str
3728
+ :param motion_group: The motion-group identifier. (required)
3729
+ :type motion_group: str
3730
+ :param motion_group_joints: (required)
3731
+ :type motion_group_joints: MotionGroupJoints
3732
+ :param _request_timeout: timeout setting for this request. If one
3733
+ number provided, it will be total request
3734
+ timeout. It can also be a pair (tuple) of
3735
+ (connection, read) timeouts.
3736
+ :type _request_timeout: int, tuple(int, int), optional
3737
+ :param _request_auth: set to override the auth_settings for an a single
3738
+ request; this effectively ignores the
3739
+ authentication in the spec for a single request.
3740
+ :type _request_auth: dict, optional
3741
+ :param _content_type: force content-type for the request.
3742
+ :type _content_type: str, Optional
3743
+ :param _headers: set to override the headers for a single
3744
+ request; this effectively ignores the headers
3745
+ in the spec for a single request.
3746
+ :type _headers: dict, optional
3747
+ :param _host_index: set to override the host_index for a single
3748
+ request; this effectively ignores the host_index
3749
+ in the spec for a single request.
3750
+ :type _host_index: int, optional
3751
+ :return: Returns the result object.
3752
+ """ # noqa: E501
3753
+
3754
+ _param = self._set_motion_group_state_serialize(
3755
+ cell=cell,
3756
+ controller=controller,
3757
+ motion_group=motion_group,
3758
+ motion_group_joints=motion_group_joints,
3759
+ _request_auth=_request_auth,
3760
+ _content_type=_content_type,
3761
+ _headers=_headers,
3762
+ _host_index=_host_index
3763
+ )
3764
+
3765
+ _response_types_map: Dict[str, Optional[str]] = {
3766
+ '200': None,
3767
+ '400': "Error",
3768
+ '404': "Error",
3769
+ }
3770
+
3771
+
3772
+ response_data = await self.api_client.call_api(
3773
+ *_param,
3774
+ _request_timeout=_request_timeout
3775
+ )
3776
+ await response_data.read()
3777
+ return self.api_client.response_deserialize(
3778
+ response_data=response_data,
3779
+ response_types_map=_response_types_map,
3780
+ ).data
3781
+
3782
+
3783
+ @validate_call
3784
+ async def set_motion_group_state_with_http_info(
3785
+ self,
3786
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3787
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3788
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3789
+ motion_group_joints: MotionGroupJoints,
3790
+ _request_timeout: Union[
3791
+ None,
3792
+ Annotated[StrictFloat, Field(gt=0)],
3793
+ Tuple[
3794
+ Annotated[StrictFloat, Field(gt=0)],
3795
+ Annotated[StrictFloat, Field(gt=0)]
3796
+ ]
3797
+ ] = None,
3798
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3799
+ _content_type: Optional[StrictStr] = None,
3800
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3801
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3802
+ ) -> ApiResponse[None]:
3803
+ """Set Motion Group State
3804
+
3805
+ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
3806
+
3807
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3808
+ :type cell: str
3809
+ :param controller: Unique identifier to address a controller in the cell. (required)
3810
+ :type controller: str
3811
+ :param motion_group: The motion-group identifier. (required)
3812
+ :type motion_group: str
3813
+ :param motion_group_joints: (required)
3814
+ :type motion_group_joints: MotionGroupJoints
3815
+ :param _request_timeout: timeout setting for this request. If one
3816
+ number provided, it will be total request
3817
+ timeout. It can also be a pair (tuple) of
3818
+ (connection, read) timeouts.
3819
+ :type _request_timeout: int, tuple(int, int), optional
3820
+ :param _request_auth: set to override the auth_settings for an a single
3821
+ request; this effectively ignores the
3822
+ authentication in the spec for a single request.
3823
+ :type _request_auth: dict, optional
3824
+ :param _content_type: force content-type for the request.
3825
+ :type _content_type: str, Optional
3826
+ :param _headers: set to override the headers for a single
3827
+ request; this effectively ignores the headers
3828
+ in the spec for a single request.
3829
+ :type _headers: dict, optional
3830
+ :param _host_index: set to override the host_index for a single
3831
+ request; this effectively ignores the host_index
3832
+ in the spec for a single request.
3833
+ :type _host_index: int, optional
3834
+ :return: Returns the result object.
3835
+ """ # noqa: E501
3836
+
3837
+ _param = self._set_motion_group_state_serialize(
3838
+ cell=cell,
3839
+ controller=controller,
3840
+ motion_group=motion_group,
3841
+ motion_group_joints=motion_group_joints,
3842
+ _request_auth=_request_auth,
3843
+ _content_type=_content_type,
3844
+ _headers=_headers,
3845
+ _host_index=_host_index
3846
+ )
3847
+
3848
+ _response_types_map: Dict[str, Optional[str]] = {
3849
+ '200': None,
3850
+ '400': "Error",
3851
+ '404': "Error",
3852
+ }
3853
+
3854
+
3855
+ response_data = await self.api_client.call_api(
3856
+ *_param,
3857
+ _request_timeout=_request_timeout
3858
+ )
3859
+ await response_data.read()
3860
+ return self.api_client.response_deserialize(
3861
+ response_data=response_data,
3862
+ response_types_map=_response_types_map,
3863
+ )
3864
+
3865
+
3866
+ @validate_call
3867
+ async def set_motion_group_state_without_preload_content(
3868
+ self,
3869
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
3870
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
3871
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
3872
+ motion_group_joints: MotionGroupJoints,
3873
+ _request_timeout: Union[
3874
+ None,
3875
+ Annotated[StrictFloat, Field(gt=0)],
3876
+ Tuple[
3877
+ Annotated[StrictFloat, Field(gt=0)],
3878
+ Annotated[StrictFloat, Field(gt=0)]
3879
+ ]
3880
+ ] = None,
3881
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
3882
+ _content_type: Optional[StrictStr] = None,
3883
+ _headers: Optional[Dict[StrictStr, Any]] = None,
3884
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
3885
+ ) -> RESTResponseType:
3886
+ """Set Motion Group State
3887
+
3888
+ Sets the values for joint position, joint velocity or joint acceleration of a motion group state. The values are immediately applied to the joints of the motion group. <!-- theme: info --> > #### NOTE > > Only use the endpoint when the motion group is in monitor mode. If the motion group is controlled, currently jogging or planning motions, > the values are overridden by the controller or an error may occur.
3889
+
3890
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
3891
+ :type cell: str
3892
+ :param controller: Unique identifier to address a controller in the cell. (required)
3893
+ :type controller: str
3894
+ :param motion_group: The motion-group identifier. (required)
3895
+ :type motion_group: str
3896
+ :param motion_group_joints: (required)
3897
+ :type motion_group_joints: MotionGroupJoints
3898
+ :param _request_timeout: timeout setting for this request. If one
3899
+ number provided, it will be total request
3900
+ timeout. It can also be a pair (tuple) of
3901
+ (connection, read) timeouts.
3902
+ :type _request_timeout: int, tuple(int, int), optional
3903
+ :param _request_auth: set to override the auth_settings for an a single
3904
+ request; this effectively ignores the
3905
+ authentication in the spec for a single request.
3906
+ :type _request_auth: dict, optional
3907
+ :param _content_type: force content-type for the request.
3908
+ :type _content_type: str, Optional
3909
+ :param _headers: set to override the headers for a single
3910
+ request; this effectively ignores the headers
3911
+ in the spec for a single request.
3912
+ :type _headers: dict, optional
3913
+ :param _host_index: set to override the host_index for a single
3914
+ request; this effectively ignores the host_index
3915
+ in the spec for a single request.
3916
+ :type _host_index: int, optional
3917
+ :return: Returns the result object.
3918
+ """ # noqa: E501
3919
+
3920
+ _param = self._set_motion_group_state_serialize(
3921
+ cell=cell,
3922
+ controller=controller,
3923
+ motion_group=motion_group,
3924
+ motion_group_joints=motion_group_joints,
3925
+ _request_auth=_request_auth,
3926
+ _content_type=_content_type,
3927
+ _headers=_headers,
3928
+ _host_index=_host_index
3929
+ )
3930
+
3931
+ _response_types_map: Dict[str, Optional[str]] = {
3932
+ '200': None,
3933
+ '400': "Error",
3934
+ '404': "Error",
3935
+ }
3936
+
3937
+
3938
+ response_data = await self.api_client.call_api(
3939
+ *_param,
3940
+ _request_timeout=_request_timeout
3941
+ )
3942
+ return response_data.response
3943
+
3944
+
3945
+ def _set_motion_group_state_serialize(
3946
+ self,
3947
+ cell,
3948
+ controller,
3949
+ motion_group,
3950
+ motion_group_joints,
3951
+ _request_auth,
3952
+ _content_type,
3953
+ _headers,
3954
+ _host_index,
3955
+ ) -> RequestSerialized:
3956
+
3957
+ _host = None
3958
+
3959
+ _collection_formats: Dict[str, str] = {
3960
+ }
3961
+
3962
+ _path_params: Dict[str, str] = {}
3963
+ _query_params: List[Tuple[str, str]] = []
3964
+ _header_params: Dict[str, Optional[str]] = _headers or {}
3965
+ _form_params: List[Tuple[str, str]] = []
3966
+ _files: Dict[str, Union[str, bytes]] = {}
3967
+ _body_params: Optional[bytes] = None
3968
+
3969
+ # process the path parameters
3970
+ if cell is not None:
3971
+ _path_params['cell'] = cell
3972
+ if controller is not None:
3973
+ _path_params['controller'] = controller
3974
+ if motion_group is not None:
3975
+ _path_params['motion-group'] = motion_group
3976
+ # process the query parameters
3977
+ # process the header parameters
3978
+ # process the form parameters
3979
+ # process the body parameter
3980
+ if motion_group_joints is not None:
3981
+ _body_params = motion_group_joints
3982
+
3983
+
3984
+ # set the HTTP header `Accept`
3985
+ _header_params['Accept'] = self.api_client.select_header_accept(
3986
+ [
3987
+ 'application/json'
3988
+ ]
3989
+ )
3990
+
3991
+ # set the HTTP header `Content-Type`
3992
+ if _content_type:
3993
+ _header_params['Content-Type'] = _content_type
3994
+ else:
3995
+ _default_content_type = (
3996
+ self.api_client.select_header_content_type(
3997
+ [
3998
+ 'application/json'
3999
+ ]
4000
+ )
4001
+ )
4002
+ if _default_content_type is not None:
4003
+ _header_params['Content-Type'] = _default_content_type
4004
+
4005
+ # authentication setting
4006
+ _auth_settings: List[str] = [
4007
+ 'BasicAuth',
4008
+ 'BearerAuth'
4009
+ ]
4010
+
4011
+ return self.api_client.param_serialize(
4012
+ method='PUT',
4013
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/state',
4014
+ path_params=_path_params,
4015
+ query_params=_query_params,
4016
+ header_params=_header_params,
4017
+ body=_body_params,
4018
+ post_params=_form_params,
4019
+ files=_files,
4020
+ auth_settings=_auth_settings,
4021
+ collection_formats=_collection_formats,
4022
+ _host=_host,
4023
+ _request_auth=_request_auth
4024
+ )
4025
+
4026
+
4027
+
4028
+ @validate_call
4029
+ async def set_operation_mode(
4030
+ self,
4031
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4032
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4033
+ mode: OperationMode,
4034
+ _request_timeout: Union[
4035
+ None,
4036
+ Annotated[StrictFloat, Field(gt=0)],
4037
+ Tuple[
4038
+ Annotated[StrictFloat, Field(gt=0)],
4039
+ Annotated[StrictFloat, Field(gt=0)]
4040
+ ]
4041
+ ] = None,
4042
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4043
+ _content_type: Optional[StrictStr] = None,
4044
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4045
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4046
+ ) -> None:
4047
+ """Set Operation Mode
4048
+
4049
+ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
4050
+
4051
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4052
+ :type cell: str
4053
+ :param controller: Unique identifier to address a controller in the cell. (required)
4054
+ :type controller: str
4055
+ :param mode: (required)
4056
+ :type mode: OperationMode
4057
+ :param _request_timeout: timeout setting for this request. If one
4058
+ number provided, it will be total request
4059
+ timeout. It can also be a pair (tuple) of
4060
+ (connection, read) timeouts.
4061
+ :type _request_timeout: int, tuple(int, int), optional
4062
+ :param _request_auth: set to override the auth_settings for an a single
4063
+ request; this effectively ignores the
4064
+ authentication in the spec for a single request.
4065
+ :type _request_auth: dict, optional
4066
+ :param _content_type: force content-type for the request.
4067
+ :type _content_type: str, Optional
4068
+ :param _headers: set to override the headers for a single
4069
+ request; this effectively ignores the headers
4070
+ in the spec for a single request.
4071
+ :type _headers: dict, optional
4072
+ :param _host_index: set to override the host_index for a single
4073
+ request; this effectively ignores the host_index
4074
+ in the spec for a single request.
4075
+ :type _host_index: int, optional
4076
+ :return: Returns the result object.
4077
+ """ # noqa: E501
4078
+
4079
+ _param = self._set_operation_mode_serialize(
4080
+ cell=cell,
4081
+ controller=controller,
4082
+ mode=mode,
4083
+ _request_auth=_request_auth,
4084
+ _content_type=_content_type,
4085
+ _headers=_headers,
4086
+ _host_index=_host_index
4087
+ )
4088
+
4089
+ _response_types_map: Dict[str, Optional[str]] = {
4090
+ '200': None,
4091
+ '400': "Error",
4092
+ '404': "Error",
4093
+ }
4094
+
4095
+
4096
+ response_data = await self.api_client.call_api(
4097
+ *_param,
4098
+ _request_timeout=_request_timeout
4099
+ )
4100
+ await response_data.read()
4101
+ return self.api_client.response_deserialize(
4102
+ response_data=response_data,
4103
+ response_types_map=_response_types_map,
4104
+ ).data
4105
+
4106
+
4107
+ @validate_call
4108
+ async def set_operation_mode_with_http_info(
4109
+ self,
4110
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4111
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4112
+ mode: OperationMode,
4113
+ _request_timeout: Union[
4114
+ None,
4115
+ Annotated[StrictFloat, Field(gt=0)],
4116
+ Tuple[
4117
+ Annotated[StrictFloat, Field(gt=0)],
4118
+ Annotated[StrictFloat, Field(gt=0)]
4119
+ ]
4120
+ ] = None,
4121
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4122
+ _content_type: Optional[StrictStr] = None,
4123
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4124
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4125
+ ) -> ApiResponse[None]:
4126
+ """Set Operation Mode
4127
+
4128
+ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
4129
+
4130
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4131
+ :type cell: str
4132
+ :param controller: Unique identifier to address a controller in the cell. (required)
4133
+ :type controller: str
4134
+ :param mode: (required)
4135
+ :type mode: OperationMode
4136
+ :param _request_timeout: timeout setting for this request. If one
4137
+ number provided, it will be total request
4138
+ timeout. It can also be a pair (tuple) of
4139
+ (connection, read) timeouts.
4140
+ :type _request_timeout: int, tuple(int, int), optional
4141
+ :param _request_auth: set to override the auth_settings for an a single
4142
+ request; this effectively ignores the
4143
+ authentication in the spec for a single request.
4144
+ :type _request_auth: dict, optional
4145
+ :param _content_type: force content-type for the request.
4146
+ :type _content_type: str, Optional
4147
+ :param _headers: set to override the headers for a single
4148
+ request; this effectively ignores the headers
4149
+ in the spec for a single request.
4150
+ :type _headers: dict, optional
4151
+ :param _host_index: set to override the host_index for a single
4152
+ request; this effectively ignores the host_index
4153
+ in the spec for a single request.
4154
+ :type _host_index: int, optional
4155
+ :return: Returns the result object.
4156
+ """ # noqa: E501
4157
+
4158
+ _param = self._set_operation_mode_serialize(
4159
+ cell=cell,
4160
+ controller=controller,
4161
+ mode=mode,
4162
+ _request_auth=_request_auth,
4163
+ _content_type=_content_type,
4164
+ _headers=_headers,
4165
+ _host_index=_host_index
4166
+ )
4167
+
4168
+ _response_types_map: Dict[str, Optional[str]] = {
4169
+ '200': None,
4170
+ '400': "Error",
4171
+ '404': "Error",
4172
+ }
4173
+
4174
+
4175
+ response_data = await self.api_client.call_api(
4176
+ *_param,
4177
+ _request_timeout=_request_timeout
4178
+ )
4179
+ await response_data.read()
4180
+ return self.api_client.response_deserialize(
4181
+ response_data=response_data,
4182
+ response_types_map=_response_types_map,
4183
+ )
4184
+
4185
+
4186
+ @validate_call
4187
+ async def set_operation_mode_without_preload_content(
4188
+ self,
4189
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4190
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4191
+ mode: OperationMode,
4192
+ _request_timeout: Union[
4193
+ None,
4194
+ Annotated[StrictFloat, Field(gt=0)],
4195
+ Tuple[
4196
+ Annotated[StrictFloat, Field(gt=0)],
4197
+ Annotated[StrictFloat, Field(gt=0)]
4198
+ ]
4199
+ ] = None,
4200
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4201
+ _content_type: Optional[StrictStr] = None,
4202
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4203
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4204
+ ) -> RESTResponseType:
4205
+ """Set Operation Mode
4206
+
4207
+ Changes the operation mode of the virtual robot controller to the specified value. To get the operation mode regardless of the controller type, use [getCurrentMotionGroupState](getCurrentMotionGroupState). > **NOTE** > > The operation mode can only be changed via API when using virtual robot controllers.
4208
+
4209
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4210
+ :type cell: str
4211
+ :param controller: Unique identifier to address a controller in the cell. (required)
4212
+ :type controller: str
4213
+ :param mode: (required)
4214
+ :type mode: OperationMode
4215
+ :param _request_timeout: timeout setting for this request. If one
4216
+ number provided, it will be total request
4217
+ timeout. It can also be a pair (tuple) of
4218
+ (connection, read) timeouts.
4219
+ :type _request_timeout: int, tuple(int, int), optional
4220
+ :param _request_auth: set to override the auth_settings for an a single
4221
+ request; this effectively ignores the
4222
+ authentication in the spec for a single request.
4223
+ :type _request_auth: dict, optional
4224
+ :param _content_type: force content-type for the request.
4225
+ :type _content_type: str, Optional
4226
+ :param _headers: set to override the headers for a single
4227
+ request; this effectively ignores the headers
4228
+ in the spec for a single request.
4229
+ :type _headers: dict, optional
4230
+ :param _host_index: set to override the host_index for a single
4231
+ request; this effectively ignores the host_index
4232
+ in the spec for a single request.
4233
+ :type _host_index: int, optional
4234
+ :return: Returns the result object.
4235
+ """ # noqa: E501
4236
+
4237
+ _param = self._set_operation_mode_serialize(
4238
+ cell=cell,
4239
+ controller=controller,
4240
+ mode=mode,
4241
+ _request_auth=_request_auth,
4242
+ _content_type=_content_type,
4243
+ _headers=_headers,
4244
+ _host_index=_host_index
4245
+ )
4246
+
4247
+ _response_types_map: Dict[str, Optional[str]] = {
4248
+ '200': None,
4249
+ '400': "Error",
4250
+ '404': "Error",
4251
+ }
4252
+
4253
+
4254
+ response_data = await self.api_client.call_api(
4255
+ *_param,
4256
+ _request_timeout=_request_timeout
4257
+ )
4258
+ return response_data.response
4259
+
4260
+
4261
+ def _set_operation_mode_serialize(
4262
+ self,
4263
+ cell,
4264
+ controller,
4265
+ mode,
4266
+ _request_auth,
4267
+ _content_type,
4268
+ _headers,
4269
+ _host_index,
4270
+ ) -> RequestSerialized:
4271
+
4272
+ _host = None
4273
+
4274
+ _collection_formats: Dict[str, str] = {
4275
+ }
4276
+
4277
+ _path_params: Dict[str, str] = {}
4278
+ _query_params: List[Tuple[str, str]] = []
4279
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4280
+ _form_params: List[Tuple[str, str]] = []
4281
+ _files: Dict[str, Union[str, bytes]] = {}
4282
+ _body_params: Optional[bytes] = None
4283
+
4284
+ # process the path parameters
4285
+ if cell is not None:
4286
+ _path_params['cell'] = cell
4287
+ if controller is not None:
4288
+ _path_params['controller'] = controller
4289
+ # process the query parameters
4290
+ if mode is not None:
4291
+
4292
+ _query_params.append(('mode', mode.value))
4293
+
4294
+ # process the header parameters
4295
+ # process the form parameters
4296
+ # process the body parameter
4297
+
4298
+
4299
+ # set the HTTP header `Accept`
4300
+ _header_params['Accept'] = self.api_client.select_header_accept(
4301
+ [
4302
+ 'application/json'
4303
+ ]
4304
+ )
4305
+
4306
+
4307
+ # authentication setting
4308
+ _auth_settings: List[str] = [
4309
+ 'BasicAuth',
4310
+ 'BearerAuth'
4311
+ ]
4312
+
4313
+ return self.api_client.param_serialize(
4314
+ method='PUT',
4315
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/operationmode',
4316
+ path_params=_path_params,
4317
+ query_params=_query_params,
4318
+ header_params=_header_params,
4319
+ body=_body_params,
4320
+ post_params=_form_params,
4321
+ files=_files,
4322
+ auth_settings=_auth_settings,
4323
+ collection_formats=_collection_formats,
4324
+ _host=_host,
4325
+ _request_auth=_request_auth
4326
+ )
4327
+
4328
+
4329
+
4330
+ @validate_call
4331
+ async def set_virtual_controller_mounting(
4332
+ self,
4333
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4334
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4335
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
4336
+ coordinate_system: CoordinateSystem,
4337
+ _request_timeout: Union[
4338
+ None,
4339
+ Annotated[StrictFloat, Field(gt=0)],
4340
+ Tuple[
4341
+ Annotated[StrictFloat, Field(gt=0)],
4342
+ Annotated[StrictFloat, Field(gt=0)]
4343
+ ]
4344
+ ] = None,
4345
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4346
+ _content_type: Optional[StrictStr] = None,
4347
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4348
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4349
+ ) -> CoordinateSystem:
4350
+ """Set Mounting
4351
+
4352
+ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system's origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
4353
+
4354
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4355
+ :type cell: str
4356
+ :param controller: Unique identifier to address a controller in the cell. (required)
4357
+ :type controller: str
4358
+ :param motion_group: The motion-group identifier. (required)
4359
+ :type motion_group: str
4360
+ :param coordinate_system: (required)
4361
+ :type coordinate_system: CoordinateSystem
4362
+ :param _request_timeout: timeout setting for this request. If one
4363
+ number provided, it will be total request
4364
+ timeout. It can also be a pair (tuple) of
4365
+ (connection, read) timeouts.
4366
+ :type _request_timeout: int, tuple(int, int), optional
4367
+ :param _request_auth: set to override the auth_settings for an a single
4368
+ request; this effectively ignores the
4369
+ authentication in the spec for a single request.
4370
+ :type _request_auth: dict, optional
4371
+ :param _content_type: force content-type for the request.
4372
+ :type _content_type: str, Optional
4373
+ :param _headers: set to override the headers for a single
4374
+ request; this effectively ignores the headers
4375
+ in the spec for a single request.
4376
+ :type _headers: dict, optional
4377
+ :param _host_index: set to override the host_index for a single
4378
+ request; this effectively ignores the host_index
4379
+ in the spec for a single request.
4380
+ :type _host_index: int, optional
4381
+ :return: Returns the result object.
4382
+ """ # noqa: E501
4383
+
4384
+ _param = self._set_virtual_controller_mounting_serialize(
4385
+ cell=cell,
4386
+ controller=controller,
4387
+ motion_group=motion_group,
4388
+ coordinate_system=coordinate_system,
4389
+ _request_auth=_request_auth,
4390
+ _content_type=_content_type,
4391
+ _headers=_headers,
4392
+ _host_index=_host_index
4393
+ )
4394
+
4395
+ _response_types_map: Dict[str, Optional[str]] = {
4396
+ '200': "CoordinateSystem",
4397
+ '400': "Error",
4398
+ '404': "Error",
4399
+ }
4400
+
4401
+
4402
+ response_data = await self.api_client.call_api(
4403
+ *_param,
4404
+ _request_timeout=_request_timeout
4405
+ )
4406
+ await response_data.read()
4407
+ return self.api_client.response_deserialize(
4408
+ response_data=response_data,
4409
+ response_types_map=_response_types_map,
4410
+ ).data
4411
+
4412
+
4413
+ @validate_call
4414
+ async def set_virtual_controller_mounting_with_http_info(
4415
+ self,
4416
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4417
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4418
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
4419
+ coordinate_system: CoordinateSystem,
4420
+ _request_timeout: Union[
4421
+ None,
4422
+ Annotated[StrictFloat, Field(gt=0)],
4423
+ Tuple[
4424
+ Annotated[StrictFloat, Field(gt=0)],
4425
+ Annotated[StrictFloat, Field(gt=0)]
4426
+ ]
4427
+ ] = None,
4428
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4429
+ _content_type: Optional[StrictStr] = None,
4430
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4431
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4432
+ ) -> ApiResponse[CoordinateSystem]:
4433
+ """Set Mounting
4434
+
4435
+ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system's origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
4436
+
4437
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4438
+ :type cell: str
4439
+ :param controller: Unique identifier to address a controller in the cell. (required)
4440
+ :type controller: str
4441
+ :param motion_group: The motion-group identifier. (required)
4442
+ :type motion_group: str
4443
+ :param coordinate_system: (required)
4444
+ :type coordinate_system: CoordinateSystem
4445
+ :param _request_timeout: timeout setting for this request. If one
4446
+ number provided, it will be total request
4447
+ timeout. It can also be a pair (tuple) of
4448
+ (connection, read) timeouts.
4449
+ :type _request_timeout: int, tuple(int, int), optional
4450
+ :param _request_auth: set to override the auth_settings for an a single
4451
+ request; this effectively ignores the
4452
+ authentication in the spec for a single request.
4453
+ :type _request_auth: dict, optional
4454
+ :param _content_type: force content-type for the request.
4455
+ :type _content_type: str, Optional
4456
+ :param _headers: set to override the headers for a single
4457
+ request; this effectively ignores the headers
4458
+ in the spec for a single request.
4459
+ :type _headers: dict, optional
4460
+ :param _host_index: set to override the host_index for a single
4461
+ request; this effectively ignores the host_index
4462
+ in the spec for a single request.
4463
+ :type _host_index: int, optional
4464
+ :return: Returns the result object.
4465
+ """ # noqa: E501
4466
+
4467
+ _param = self._set_virtual_controller_mounting_serialize(
4468
+ cell=cell,
4469
+ controller=controller,
4470
+ motion_group=motion_group,
4471
+ coordinate_system=coordinate_system,
4472
+ _request_auth=_request_auth,
4473
+ _content_type=_content_type,
4474
+ _headers=_headers,
4475
+ _host_index=_host_index
4476
+ )
4477
+
4478
+ _response_types_map: Dict[str, Optional[str]] = {
4479
+ '200': "CoordinateSystem",
4480
+ '400': "Error",
4481
+ '404': "Error",
4482
+ }
4483
+
4484
+
4485
+ response_data = await self.api_client.call_api(
4486
+ *_param,
4487
+ _request_timeout=_request_timeout
4488
+ )
4489
+ await response_data.read()
4490
+ return self.api_client.response_deserialize(
4491
+ response_data=response_data,
4492
+ response_types_map=_response_types_map,
4493
+ )
4494
+
4495
+
4496
+ @validate_call
4497
+ async def set_virtual_controller_mounting_without_preload_content(
4498
+ self,
4499
+ cell: Annotated[StrictStr, Field(description="Unique identifier addressing a cell in all API calls. ")],
4500
+ controller: Annotated[StrictStr, Field(description="Unique identifier to address a controller in the cell.")],
4501
+ motion_group: Annotated[StrictStr, Field(description="The motion-group identifier.")],
4502
+ coordinate_system: CoordinateSystem,
4503
+ _request_timeout: Union[
4504
+ None,
4505
+ Annotated[StrictFloat, Field(gt=0)],
4506
+ Tuple[
4507
+ Annotated[StrictFloat, Field(gt=0)],
4508
+ Annotated[StrictFloat, Field(gt=0)]
4509
+ ]
4510
+ ] = None,
4511
+ _request_auth: Optional[Dict[StrictStr, Any]] = None,
4512
+ _content_type: Optional[StrictStr] = None,
4513
+ _headers: Optional[Dict[StrictStr, Any]] = None,
4514
+ _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0,
4515
+ ) -> RESTResponseType:
4516
+ """Set Mounting
4517
+
4518
+ Sets the motion group mounting by specifying a coordinate system. The motion group will be based on the coordinate system's origin. The coordinate system defines a transformation offset, which consists of: - A unique identifier - A user-facing name - An offset in another coordinate system, referenced by the unique identifier of the reference coordinate system. <!-- theme: info --> > #### Changing the mounting configuration is considered a setup change > > When the mounting is set to a new coordinate system, the **virtual robot is restarted** to apply the new configuration. > > During this restart: > - Robot visualization can temporarily disappear or not reflect the new mounting immediately. > - Motion group state and coordinate system alignment may not be immediately visible in visualizations. > - All connections to virtual robot are closed and re-established, which introduces a short delay before the system is fully operational again. > > The API call itself does **not wait until the restart and re-synchronization are complete**. > A successful response indicates that the request was accepted, but the updated mounting may not yet be visible.
4519
+
4520
+ :param cell: Unique identifier addressing a cell in all API calls. (required)
4521
+ :type cell: str
4522
+ :param controller: Unique identifier to address a controller in the cell. (required)
4523
+ :type controller: str
4524
+ :param motion_group: The motion-group identifier. (required)
4525
+ :type motion_group: str
4526
+ :param coordinate_system: (required)
4527
+ :type coordinate_system: CoordinateSystem
4528
+ :param _request_timeout: timeout setting for this request. If one
4529
+ number provided, it will be total request
4530
+ timeout. It can also be a pair (tuple) of
4531
+ (connection, read) timeouts.
4532
+ :type _request_timeout: int, tuple(int, int), optional
4533
+ :param _request_auth: set to override the auth_settings for an a single
4534
+ request; this effectively ignores the
4535
+ authentication in the spec for a single request.
4536
+ :type _request_auth: dict, optional
4537
+ :param _content_type: force content-type for the request.
4538
+ :type _content_type: str, Optional
4539
+ :param _headers: set to override the headers for a single
4540
+ request; this effectively ignores the headers
4541
+ in the spec for a single request.
4542
+ :type _headers: dict, optional
4543
+ :param _host_index: set to override the host_index for a single
4544
+ request; this effectively ignores the host_index
4545
+ in the spec for a single request.
4546
+ :type _host_index: int, optional
4547
+ :return: Returns the result object.
4548
+ """ # noqa: E501
4549
+
4550
+ _param = self._set_virtual_controller_mounting_serialize(
4551
+ cell=cell,
4552
+ controller=controller,
4553
+ motion_group=motion_group,
4554
+ coordinate_system=coordinate_system,
4555
+ _request_auth=_request_auth,
4556
+ _content_type=_content_type,
4557
+ _headers=_headers,
4558
+ _host_index=_host_index
4559
+ )
4560
+
4561
+ _response_types_map: Dict[str, Optional[str]] = {
4562
+ '200': "CoordinateSystem",
4563
+ '400': "Error",
4564
+ '404': "Error",
4565
+ }
4566
+
4567
+
4568
+ response_data = await self.api_client.call_api(
4569
+ *_param,
4570
+ _request_timeout=_request_timeout
4571
+ )
4572
+ return response_data.response
4573
+
4574
+
4575
+ def _set_virtual_controller_mounting_serialize(
4576
+ self,
4577
+ cell,
4578
+ controller,
4579
+ motion_group,
4580
+ coordinate_system,
4581
+ _request_auth,
4582
+ _content_type,
4583
+ _headers,
4584
+ _host_index,
4585
+ ) -> RequestSerialized:
4586
+
4587
+ _host = None
4588
+
4589
+ _collection_formats: Dict[str, str] = {
4590
+ }
4591
+
4592
+ _path_params: Dict[str, str] = {}
4593
+ _query_params: List[Tuple[str, str]] = []
4594
+ _header_params: Dict[str, Optional[str]] = _headers or {}
4595
+ _form_params: List[Tuple[str, str]] = []
4596
+ _files: Dict[str, Union[str, bytes]] = {}
4597
+ _body_params: Optional[bytes] = None
4598
+
4599
+ # process the path parameters
4600
+ if cell is not None:
4601
+ _path_params['cell'] = cell
4602
+ if controller is not None:
4603
+ _path_params['controller'] = controller
4604
+ if motion_group is not None:
4605
+ _path_params['motion-group'] = motion_group
4606
+ # process the query parameters
4607
+ # process the header parameters
4608
+ # process the form parameters
4609
+ # process the body parameter
4610
+ if coordinate_system is not None:
4611
+ _body_params = coordinate_system
4612
+
4613
+
4614
+ # set the HTTP header `Accept`
4615
+ _header_params['Accept'] = self.api_client.select_header_accept(
4616
+ [
4617
+ 'application/json'
4618
+ ]
4619
+ )
4620
+
4621
+ # set the HTTP header `Content-Type`
4622
+ if _content_type:
4623
+ _header_params['Content-Type'] = _content_type
4624
+ else:
4625
+ _default_content_type = (
4626
+ self.api_client.select_header_content_type(
4627
+ [
4628
+ 'application/json'
4629
+ ]
4630
+ )
4631
+ )
4632
+ if _default_content_type is not None:
4633
+ _header_params['Content-Type'] = _default_content_type
4634
+
4635
+ # authentication setting
4636
+ _auth_settings: List[str] = [
4637
+ 'BasicAuth',
4638
+ 'BearerAuth'
4639
+ ]
4640
+
4641
+ return self.api_client.param_serialize(
4642
+ method='PUT',
4643
+ resource_path='/cells/{cell}/virtual-controllers/{controller}/motion-groups/{motion-group}/mounting',
4644
+ path_params=_path_params,
4645
+ query_params=_query_params,
4646
+ header_params=_header_params,
4647
+ body=_body_params,
4648
+ post_params=_form_params,
4649
+ files=_files,
4650
+ auth_settings=_auth_settings,
4651
+ collection_formats=_collection_formats,
4652
+ _host=_host,
4653
+ _request_auth=_request_auth
4654
+ )
4655
+
4656
+