xarm-python-sdk 1.17.3__tar.gz → 1.18.2__tar.gz

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 (146) hide show
  1. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/.gitignore +2 -1
  2. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/PKG-INFO +1 -1
  3. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/README.md +7 -1
  4. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/ReleaseNotes.md +5 -0
  5. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/doc/api/xarm_api.md +65 -11
  6. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/3004-get_report_data.py +4 -4
  7. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/3005-task_feedback.py +4 -4
  8. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/comm/__init__.py +1 -1
  9. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/comm/base.py +7 -7
  10. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/config/x_code.py +7 -7
  11. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/config/x_config.py +4 -3
  12. xarm_python_sdk-1.18.2/xarm/core/utils/bytes_data.py +312 -0
  13. xarm_python_sdk-1.18.2/xarm/core/utils/convert.py +144 -0
  14. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/wrapper/uxbus_cmd.py +146 -121
  15. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/wrapper/uxbus_cmd_tcp.py +12 -12
  16. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/list_ports.py +2 -2
  17. xarm_python_sdk-1.18.2/xarm/version.py +1 -0
  18. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/wrapper/xarm_api.py +153 -21
  19. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/base.py +193 -64
  20. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/base_board.py +6 -6
  21. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/ft_sensor.py +44 -14
  22. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/gpio.py +3 -3
  23. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/gripper.py +287 -227
  24. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/linear_motor.py +39 -39
  25. xarm_python_sdk-1.18.2/xarm/x3/report.py +591 -0
  26. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/robotiq.py +30 -23
  27. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/servo.py +8 -6
  28. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/utils.py +3 -3
  29. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/xarm.py +18 -4
  30. xarm_python_sdk-1.17.3/xarm/core/utils/convert.py +0 -126
  31. xarm_python_sdk-1.17.3/xarm/version.py +0 -1
  32. xarm_python_sdk-1.17.3/xarm/x3/report.py +0 -204
  33. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/.github/workflows/python-publish.yml +0 -0
  34. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/LICENSE +0 -0
  35. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/README.rst +0 -0
  36. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/doc/UF_ModbusTCP_Manual.md +0 -0
  37. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/doc/api/xarm_api_code.md +0 -0
  38. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/doc/tool/gen_api.py +0 -0
  39. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/doc/tool/markdown_doc.py +0 -0
  40. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/0000-template.py +0 -0
  41. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/0001-event_register.py +0 -0
  42. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/0002-get_property.py +0 -0
  43. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/0003-api_get.py +0 -0
  44. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/0004-servo_attach_detach.py +0 -0
  45. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1001-move_line.py +0 -0
  46. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1002-move_line.py +0 -0
  47. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1003-relative_move_line.py +0 -0
  48. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1004-move_arc_line.py +0 -0
  49. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1005-move_arc_line.py +0 -0
  50. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1006-move_tool_line.py +0 -0
  51. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1007-counter.py +0 -0
  52. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1008-move_line_aa.py +0 -0
  53. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1009-cartesian_velocity_control.py +0 -0
  54. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/1010-cartesian_online_trajectory_planning.py +0 -0
  55. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/2000-joint_velocity_control.py +0 -0
  56. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/2006-joint_online_trajectory_planning.py +0 -0
  57. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/3001-move_circle.py +0 -0
  58. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/3002-record_trajectory.py +0 -0
  59. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/3003-playback_trajectory.py +0 -0
  60. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/3006-standard_modbus_tcp.py +0 -0
  61. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5000-set_tgpio_modbus.py +0 -0
  62. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5001-get_tgpio_digital.py +0 -0
  63. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5002-get_tgpio_analog.py +0 -0
  64. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5003-set_tgpio_digital.py +0 -0
  65. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5004-set_gripper.py +0 -0
  66. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5005-get_cgpio_digital_analog.py +0 -0
  67. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5006-set_cgpio_digital_analog.py +0 -0
  68. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5007-set_cgpio_input_output_function.py +0 -0
  69. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5008-get_cgpio_state.py +0 -0
  70. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/5009-set_bio_gripper.py +0 -0
  71. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/6001-set_reduced_mode.py +0 -0
  72. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/6002-set_fense_mode.py +0 -0
  73. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/7001-servo_j.py +0 -0
  74. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/7002-servo_cartesian.py +0 -0
  75. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/7003-servo_cartesian_aa.py +0 -0
  76. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8000-load_identify_current.py +0 -0
  77. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8001-force_tech.py +0 -0
  78. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8002-admittance_control.py +0 -0
  79. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8003-force_control.py +0 -0
  80. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8004-load_identify.py +0 -0
  81. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8005-read_force_data.py +0 -0
  82. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8006-save_force_zero.py +0 -0
  83. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/8010-get_ft_sensor_config.py +0 -0
  84. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/9000-set_linear_motor.py +0 -0
  85. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/common/get_report_data_with_protocol.py +0 -0
  86. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/thridparty/set_robotiq_gripper.py +0 -0
  87. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/thridparty/set_yinshi_gripper.py +0 -0
  88. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/thridparty/set_yinshi_rh56_gripper.py +0 -0
  89. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/tool/blockly_to_python.py +0 -0
  90. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/tool/example.xml +0 -0
  91. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm5/2001-move_joint.py +0 -0
  92. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm5/2002-move_joint.py +0 -0
  93. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm5/2003-move_joint.py +0 -0
  94. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm5/2004-move_joint.py +0 -0
  95. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm5/2005-move_arc_joint.py +0 -0
  96. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm6/2001-move_joint.py +0 -0
  97. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm6/2002-move_joint.py +0 -0
  98. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm6/2003-move_joint.py +0 -0
  99. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm6/2004-move_joint.py +0 -0
  100. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm6/2005-move_arc_joint.py +0 -0
  101. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm7/2001-move_joint.py +0 -0
  102. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm7/2002-move_joint.py +0 -0
  103. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm7/2003-move_joint.py +0 -0
  104. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm7/2004-move_joint.py +0 -0
  105. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/example/wrapper/xarm7/2005-move_arc_joint.py +0 -0
  106. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/pyproject.toml +0 -0
  107. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/requirements.txt +0 -0
  108. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/setup.py +0 -0
  109. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/__init__.py +0 -0
  110. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/build_backend.py +0 -0
  111. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/__init__.py +0 -0
  112. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/comm/serial_port.py +0 -0
  113. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/comm/socket_port.py +0 -0
  114. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/comm/uxbus_cmd_protocol.py +0 -0
  115. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/config/__init__.py +0 -0
  116. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/utils/__init__.py +0 -0
  117. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/utils/crc16.py +0 -0
  118. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/utils/debug_print.py +0 -0
  119. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/utils/log.py +0 -0
  120. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/version.py +0 -0
  121. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/wrapper/__init__.py +0 -0
  122. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/core/wrapper/uxbus_cmd_ser.py +0 -0
  123. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/__init__.py +0 -0
  124. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly/__init__.py +0 -0
  125. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly/_blockly_base.py +0 -0
  126. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly/_blockly_handler.py +0 -0
  127. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly/_blockly_highlight.py +0 -0
  128. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly/_blockly_node.py +0 -0
  129. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly/_blockly_tool.py +0 -0
  130. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/blockly_tool.py +0 -0
  131. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/gcode.py +0 -0
  132. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/modbus_tcp.py +0 -0
  133. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/threads.py +0 -0
  134. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/tools/utils.py +0 -0
  135. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/wrapper/__init__.py +0 -0
  136. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/wrapper/studio_api.py +0 -0
  137. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/__init__.py +0 -0
  138. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/code.py +0 -0
  139. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/decorator.py +0 -0
  140. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/events.py +0 -0
  141. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/grammar_async.py +0 -0
  142. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/grammar_coroutine.py +0 -0
  143. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/modbus_tcp.py +0 -0
  144. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/parse.py +0 -0
  145. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/record.py +0 -0
  146. {xarm_python_sdk-1.17.3 → xarm_python_sdk-1.18.2}/xarm/x3/studio.py +0 -0
@@ -9,4 +9,5 @@ example/test/
9
9
  example/wrapper/bak/
10
10
  example/wrapper/robot.conf
11
11
  bak-xarm/
12
- .vscode/
12
+ .vscode/
13
+ .claude/
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: xarm-python-sdk
3
- Version: 1.17.3
3
+ Version: 1.18.2
4
4
  Summary: Python SDK for UFACTORY robotic arm 850, xArm 5/6/7, and Lite6.
5
5
  Project-URL: Homepage, https://www.ufactory.cc
6
6
  Project-URL: Documentation, https://github.com/xArm-Developer/xArm-Python-SDK/blob/master/doc/api/xarm_api.md
@@ -42,7 +42,13 @@ xArm Python SDK
42
42
  - #### [UFACTORY ModbusTCP Manual](doc/UF_ModbusTCP_Manual.md)
43
43
 
44
44
  ## Update Summary
45
- - > ### 1.17.0/1.7.1
45
+ - > ### 1.18.2
46
+ - Added BytesData for data conversion
47
+ - Added data structure for report data
48
+ - Update the reported data for port 30002
49
+ - Increase execution speed by adding paramster to reduce the number of checks performed by the gripper apis
50
+
51
+ - > ### 1.17.0/1.17.1
46
52
  - Change some API names
47
53
 
48
54
  - > ### 1.16.0
@@ -1,6 +1,11 @@
1
1
  # xArm-Python-SDK Release Notes
2
2
 
3
3
  ## Update Summary
4
+ - > ### 1.18.2
5
+ - Added BytesData for data conversion
6
+ - Added data structure for report data
7
+ - Update the reported data for port 30002
8
+ - Increase execution speed by adding paramster to reduce the number of checks performed by the gripper apis
4
9
 
5
10
  - > ### 1.17.0/1.7.1
6
11
  - Change some API names
@@ -1,4 +1,4 @@
1
- xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrapper.xarm_api
1
+ xArm-Python-SDK API Documentation (V1.18.2): class XArmAPI in module xarm.wrapper.xarm_api
2
2
 
3
3
  ## class __XArmAPI__
4
4
  ****************************************
@@ -783,7 +783,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
783
783
  >     point: initial point, [J1, J2, ..., J7]
784
784
 
785
785
 
786
- #### def __get_inverse_kinematics__(self, pose, input_is_radian=None, return_is_radian=None):
786
+ #### def __get_inverse_kinematics__(self, pose, input_is_radian=None, return_is_radian=None, limited=True, ref_angles=None):
787
787
 
788
788
  > Get inverse kinematics
789
789
  >
@@ -791,6 +791,11 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
791
791
  >     Note: the roll/pitch/yaw unit is radian if input_is_radian is True, else °
792
792
  > :param input_is_radian: the param pose value(only roll/pitch/yaw) is in radians or not, default is self.default_is_radian
793
793
  > :param return_is_radian: the returned value is in radians or not, default is self.default_is_radian
794
+ > :param limited: the result is limited to within ±180° or not, default is True
795
+ >     Note: only available if firmware_version >= 2.7.103
796
+ > :param ref_angles: reference values for joint angles
797
+ >     Note: unit is radian if input_is_radian is True, else °
798
+ >     Note: only available if firmware_version >= 2.7.103
794
799
  > :return: tuple((code, angles)), only when code is 0, the returned result is correct.
795
800
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
796
801
  >     angles: [angle-1(rad or °), angle-2, ..., angle-(Number of axes)] or []
@@ -940,6 +945,15 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
940
945
  >     factor: linear speed limit factor
941
946
 
942
947
 
948
+ #### def __get_modbusrtu_params__(self):
949
+
950
+ > Get the params of the Modbus RTU
951
+ >
952
+ > :return: tuple((code, params)), only when code is 0, the returned result is correct.
953
+ >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
954
+ >     params: [slave_id, baudrate, stopbits, parity]
955
+
956
+
943
957
  #### def __get_mount_direction__(self):
944
958
 
945
959
  > Get the mount degrees from studio
@@ -1276,6 +1290,19 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
1276
1290
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
1277
1291
 
1278
1292
 
1293
+ #### def __get_xarm7_ik_redundancy__(self):
1294
+
1295
+ > set the redundant solution parameters for xArm7
1296
+ > Note:
1297
+ >     1. only available if firmware_version >= 2.7.107
1298
+ >
1299
+ > :return: tuple((code, params)), only when code is 0, the returned result is correct.
1300
+ >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
1301
+ >     params: [jnt_ref, punish_coeff]
1302
+ >         jnt_ref: reference joint angle
1303
+ >         punish_coeff: penalty multiplier
1304
+
1305
+
1279
1306
  #### def __getset_tgpio_modbus_data__(self, datas, min_res_len=0, host_id=9, is_transparent_transmission=False, use_503_port=False, **kwargs):
1280
1307
 
1281
1308
  > Send the modbus data to the RS485 (please use set_rs485_data replace)
@@ -1854,7 +1881,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
1854
1881
  >     robotiq_response: See the robotiq documentation
1855
1882
 
1856
1883
 
1857
- #### def __robotiq_get_status__(self, number_of_registers=3):
1884
+ #### def __robotiq_get_status__(self, number_of_registers=3, **kwargs):
1858
1885
 
1859
1886
  > Reading the status of robotiq gripper
1860
1887
  >
@@ -1886,7 +1913,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
1886
1913
  >     robotiq_response: See the robotiq documentation
1887
1914
 
1888
1915
 
1889
- #### def __robotiq_reset__(self):
1916
+ #### def __robotiq_reset__(self, **kwargs):
1890
1917
 
1891
1918
  > Reset the robotiq gripper (clear previous activation if any)
1892
1919
  >
@@ -1895,7 +1922,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
1895
1922
  >     robotiq_response: See the robotiq documentation
1896
1923
 
1897
1924
 
1898
- #### def __robotiq_set_activate__(self, wait=True, timeout=3):
1925
+ #### def __robotiq_set_activate__(self, wait=True, timeout=3, **kwargs):
1899
1926
 
1900
1927
  > If not already activated. Activate the robotiq gripper
1901
1928
  >
@@ -2071,7 +2098,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2071
2098
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2072
2099
 
2073
2100
 
2074
- #### def __set_bio_gripper_control_mode__(self, mode):
2101
+ #### def __set_bio_gripper_control_mode__(self, mode, **kwargs):
2075
2102
 
2076
2103
  > Set the bio gripper control mode
2077
2104
  > Note:
@@ -2085,7 +2112,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2085
2112
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2086
2113
 
2087
2114
 
2088
- #### def __set_bio_gripper_enable__(self, enable=True, wait=True, timeout=3):
2115
+ #### def __set_bio_gripper_enable__(self, enable=True, wait=True, timeout=3, **kwargs):
2089
2116
 
2090
2117
  > If not already enabled. Enable the bio gripper
2091
2118
  >
@@ -2097,7 +2124,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2097
2124
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2098
2125
 
2099
2126
 
2100
- #### def __set_bio_gripper_force__(self, force):
2127
+ #### def __set_bio_gripper_force__(self, force, **kwargs):
2101
2128
 
2102
2129
  > Set the bio gripper force
2103
2130
  > Note:
@@ -2124,7 +2151,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2124
2151
  >     robotiq_response: See the robotiq documentation
2125
2152
 
2126
2153
 
2127
- #### def __set_bio_gripper_speed__(self, speed):
2154
+ #### def __set_bio_gripper_speed__(self, speed, **kwargs):
2128
2155
 
2129
2156
  > Set the speed of the bio gripper
2130
2157
  >
@@ -2359,7 +2386,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2359
2386
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2360
2387
 
2361
2388
 
2362
- #### def __set_dhpgc_gripper_activate__(self, wait=True, timeout=3):
2389
+ #### def __set_dhpgc_gripper_activate__(self, wait=True, timeout=3, **kwargs):
2363
2390
 
2364
2391
  > If not already activated. Activate the DH-PGC-140-50 gripper
2365
2392
  >
@@ -2693,7 +2720,7 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2693
2720
 
2694
2721
  > Set the gripper speed
2695
2722
  >
2696
- > :param speed:
2723
+ > :param speed: gripper speed, unit: r/min
2697
2724
  > :return: code
2698
2725
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2699
2726
 
@@ -2815,6 +2842,20 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
2815
2842
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2816
2843
 
2817
2844
 
2845
+ #### def __set_modbusrtu_params__(self, slave_id, baudrate, stopbits=1, parity=0):
2846
+
2847
+ > Set the params of the Modbus RTU
2848
+ >
2849
+ > :param slave_id: slave ID, 1-247, default is 1
2850
+ > :param baudrate: baudrate, (4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 921600,
2851
+ >          1000000, 1500000, 2000000)
2852
+ > :param stopbits: 1/2, default is 1
2853
+ > :param parity: 0/1/2, default is 0
2854
+ >
2855
+ > :return code
2856
+ >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
2857
+
2858
+
2818
2859
  #### def __set_mode__(self, mode=0, detection_param=0):
2819
2860
 
2820
2861
  > Set the xArm mode
@@ -3510,6 +3551,19 @@ xArm-Python-SDK API Documentation (V1.17.3): class XArmAPI in module xarm.wrappe
3510
3551
  >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
3511
3552
 
3512
3553
 
3554
+ #### def __set_xarm7_ik_redundancy__(self, jnt_ref, punish_coeff):
3555
+
3556
+ > set the redundant solution parameters for xArm7
3557
+ > Note:
3558
+ >     1. only available if firmware_version >= 2.7.107
3559
+ >
3560
+ > :param jnt_ref: reference joint angle, default is all 0. The 7 joint solutions will try to be as close as possible to the set joint angle
3561
+ > :param punish_coeff: penalty multiplier, currently set in the range of 1-10. If the deviation is too large, the penalty will increase according to the multiplier, that is, the cost will be higher. Joints with larger multipliers will be given priority to stay near the reference angle.
3562
+ >
3563
+ > :return: code
3564
+ >     code: See the [API Code Documentation](./xarm_api_code.md#api-code) for details.
3565
+
3566
+
3513
3567
  #### def __start_record_trajectory__(self):
3514
3568
 
3515
3569
  > Start trajectory recording, only in teach mode, so you need to set joint teaching mode before.
@@ -19,7 +19,7 @@ import datetime
19
19
  sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../..'))
20
20
 
21
21
  from xarm.core.comm import SocketPort
22
- from xarm.core.utils import convert
22
+ from xarm.core.utils.bytes_data import BytesData
23
23
 
24
24
 
25
25
  #######################################################
@@ -49,9 +49,9 @@ while sock.connected:
49
49
  if data == -1:
50
50
  time.sleep(0.1)
51
51
  continue
52
- total = convert.bytes_to_u32(data[0:4])
53
- angles = convert.bytes_to_fp32s(data[7:35], 7)
54
- poses = convert.bytes_to_fp32s(data[35:59], 6)
52
+ total = BytesData.to_u32(data[0:4])
53
+ angles = BytesData.to_fp32_list(data[7:35], 7)
54
+ poses = BytesData.to_fp32_list(data[35:59], 6)
55
55
  print('total={}, now={}'.format(total, datetime.datetime.now()))
56
56
  print('angles: {}'.format(angles))
57
57
  print('poses: {}'.format(poses))
@@ -19,7 +19,7 @@ import datetime
19
19
  sys.path.insert(0, os.path.join(os.path.dirname(__file__), '../../..'))
20
20
 
21
21
  from xarm.wrapper import XArmAPI
22
- from xarm.core.utils import convert
22
+ from xarm.core.utils.bytes_data import BytesData
23
23
 
24
24
 
25
25
  #######################################################
@@ -51,12 +51,12 @@ arm.set_state(0)
51
51
  # arm.set_cgpio_digital(0, 0)
52
52
 
53
53
  def feedback_callback(data):
54
- cmd_id = convert.bytes_to_u16(data[0:2])
54
+ cmd_id = BytesData.to_u16(data[0:2])
55
55
  feedback_type = data[8]
56
56
  feedback_funcode = data[9]
57
- feedback_taskid = convert.bytes_to_u16(data[10:12])
57
+ feedback_taskid = BytesData.to_u16(data[10:12])
58
58
  feedback_code = data[12]
59
- feedback_us = convert.bytes_to_u64(data[13:21])
59
+ feedback_us = BytesData.to_u64(data[13:21])
60
60
  if feedback_type == 1:
61
61
  # motion start
62
62
  print('[FB] motion task {} starts executing, funcode={}, cmd_id={}, us={}, {}'.format(feedback_taskid, feedback_funcode, cmd_id, feedback_us, datetime.datetime.now()))
@@ -1,5 +1,5 @@
1
1
  try:
2
2
  from .serial_port import SerialPort
3
- except:
3
+ except ImportError:
4
4
  SerialPort = None
5
5
  from .socket_port import SocketPort
@@ -12,7 +12,7 @@ import socket
12
12
  import select
13
13
  import threading
14
14
  from ..utils.log import logger
15
- from ..utils import convert
15
+ from ..utils.bytes_data import BytesData
16
16
 
17
17
 
18
18
  class RxParse(object):
@@ -182,7 +182,7 @@ class Port(threading.Thread):
182
182
  if size == 0:
183
183
  if data_num != 4:
184
184
  continue
185
- size = convert.bytes_to_u32(buffer[0:4])
185
+ size = BytesData.to_u32(buffer[0:4])
186
186
  if size == 233:
187
187
  size_is_not_confirm = True
188
188
  size = 245
@@ -192,17 +192,17 @@ class Port(threading.Thread):
192
192
  continue
193
193
  if size_is_not_confirm:
194
194
  size_is_not_confirm = True
195
- if convert.bytes_to_u32(buffer[233:237]) == 233:
195
+ if BytesData.to_u32(buffer[233:237]) == 233:
196
196
  size = 233
197
197
  buffer = buffer[233:]
198
198
  continue
199
199
 
200
- if convert.bytes_to_u32(buffer[0:4]) != size and not (size_is_not_confirm and size == 245 and convert.bytes_to_u32(buffer[0:4]) == 233):
201
- logger.error('report data error, close, length={}, size={}'.format(convert.bytes_to_u32(buffer[0:4]), size))
200
+ if BytesData.to_u32(buffer[0:4]) != size and not (size_is_not_confirm and size == 245 and BytesData.to_u32(buffer[0:4]) == 233):
201
+ logger.error('report data error, close, length={}, size={}'.format(BytesData.to_u32(buffer[0:4]), size))
202
202
  break
203
203
 
204
204
  # # buffer[494:502]
205
- # data_curr_us = convert.bytes_to_u64(buffer[-8:])
205
+ # data_curr_us = BytesData.to_u64(buffer[-8:])
206
206
  # recv_curr_us = time.monotonic() * 1000000
207
207
  #
208
208
  # if data_prev_us != 0 and recv_prev_us != 0:
@@ -276,7 +276,7 @@ class Port(threading.Thread):
276
276
  while True:
277
277
  if len(buffer) < 6:
278
278
  break
279
- length = convert.bytes_to_u16(buffer[4:6]) + 6
279
+ length = BytesData.to_u16(buffer[4:6]) + 6
280
280
  if len(buffer) < length:
281
281
  break
282
282
  rx_data = buffer[:length]
@@ -111,7 +111,7 @@ ServoCodeMap = {
111
111
  21: {
112
112
  'en': {
113
113
  'title': 'Driver IC Initialization Error',
114
- 'desc': 'Please restart the xArm with the Emergency Stop Button on the xArm Controller. If multiple reboots are not working, please contact technical support.If multiple reboots are invalid, please contact technical support.',
114
+ 'desc': 'Please restart the xArm with the Emergency Stop Button on the xArm Controller. If multiple reboots are not working, please contact technical support. If multiple reboots are invalid, please contact technical support.',
115
115
  },
116
116
  'cn': {
117
117
  'title': '驱动IC初始化异常',
@@ -221,7 +221,7 @@ ServoCodeMap = {
221
221
  40: {
222
222
  'en': {
223
223
  'title': 'Joint Voltage Insufficient',
224
- 'desc': 'Please reduce the acceleration value in the Motion Settings.Please check if the controller emergency stop switch is released.',
224
+ 'desc': 'Please reduce the acceleration value in the Motion Settings. Please check if the controller emergency stop switch is released.',
225
225
  },
226
226
  'cn': {
227
227
  'title': '关节欠压',
@@ -627,7 +627,7 @@ ControllerErrorCodeMap = {
627
627
  27: {
628
628
  'en': {
629
629
  'title': 'Command Reply Error',
630
- 'desc': 'Pleas retry, or restart the xArm with the Emergency Stop Button on the xArm Controller. If multiple reboots are not working, please contact technical support.'
630
+ 'desc': 'Please retry, or restart the xArm with the Emergency Stop Button on the xArm Controller. If multiple reboots are not working, please contact technical support.'
631
631
  },
632
632
  'cn': {
633
633
  'title': '回复指令错误 ',
@@ -924,7 +924,7 @@ RobotiqErrorCodeMap = {
924
924
  0x05: {
925
925
  'en': {
926
926
  'title': 'Robotiq Gripper',
927
- 'desc': 'Action delayed, activation(reactivation) must be completed prior to perfmoring the action'
927
+ 'desc': 'Action delayed, activation(reactivation) must be completed prior to performing the action'
928
928
  },
929
929
  'cn': {
930
930
  'title': 'Robotiq 机械爪',
@@ -994,7 +994,7 @@ RobotiqErrorCodeMap = {
994
994
  0x0D: {
995
995
  'en': {
996
996
  'title': 'Robotiq Gripper',
997
- 'desc': 'Activation fault, please verify that no interference or other erroro ccurred'
997
+ 'desc': 'Activation fault, please verify that no interference or other error occurred'
998
998
  },
999
999
  'cn': {
1000
1000
  'title': 'Robotiq 机械爪',
@@ -1210,7 +1210,7 @@ LinearMotorErrorCodeMap = {
1210
1210
  },
1211
1211
  40: {
1212
1212
  'en': {
1213
- 'title': 'Linear Moter undervoltage',
1213
+ 'title': 'Linear Motor undervoltage',
1214
1214
  'desc': 'please contact technical support.',
1215
1215
  },
1216
1216
  'cn': {
@@ -1284,7 +1284,7 @@ FtSensorErrorCodeMap = {
1284
1284
  },
1285
1285
  68: {
1286
1286
  'en': {
1287
- 'title': 'Six-axis Force Torque Sensor Z-direction Torque Exceeds Limitrection',
1287
+ 'title': 'Six-axis Force Torque Sensor Z-direction Torque Exceeds Limit',
1288
1288
  'desc': '',
1289
1289
  },
1290
1290
  'cn': {
@@ -14,13 +14,13 @@ class XCONF(object):
14
14
  MAX_CMD_NUM = 1024
15
15
 
16
16
  LINEAR_MOTOR_ID = 1
17
- TRACK_ID = LINEAR_MOTOR_ID # old
17
+ TRACK_ID = LINEAR_MOTOR_ID # 不再使用, 保留只为了兼容旧代码
18
18
  GRIPPER_ID = 8
19
19
 
20
20
  ROBOT_RS485_HOST_ID = 9
21
21
  CONTROL_BOX_RS485_HOST_ID = 11
22
- TGPIO_HOST_ID = ROBOT_RS485_HOST_ID # old
23
- LINEER_TRACK_HOST_ID = CONTROL_BOX_RS485_HOST_ID # old
22
+ TGPIO_HOST_ID = ROBOT_RS485_HOST_ID # 不再使用, 保留只为了兼容旧代码
23
+ LINEER_TRACK_HOST_ID = CONTROL_BOX_RS485_HOST_ID # 不再使用, 保留只为了兼容旧代码
24
24
 
25
25
  def __init__(self):
26
26
  pass
@@ -256,6 +256,7 @@ class XCONF(object):
256
256
 
257
257
  class SocketConf:
258
258
  TCP_CONTROL_PORT = 502
259
+ TCP_REPORT_RT_PORT = 30000
259
260
  TCP_REPORT_NORM_PORT = 30001
260
261
  TCP_REPORT_RICH_PORT = 30002
261
262
  TCP_REPORT_REAL_PORT = 30003