carm 0.0.20250812__tar.gz → 0.0.20250822__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.
@@ -0,0 +1,10 @@
1
+ Metadata-Version: 2.1
2
+ Name: carm
3
+ Version: 0.0.20250822
4
+ Summary: Python interface for cvte arm.
5
+ Author-email: Yong Zhao <zhaoyong11933@cvte.com>
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Programming Language :: Python :: Implementation :: CPython
8
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
9
+ Requires-Python: >=3.6
10
+ Requires-Dist: websocket-client
@@ -2,6 +2,7 @@ import websocket
2
2
  import threading
3
3
  import json
4
4
  import uuid
5
+ import time
5
6
 
6
7
  class Carm:
7
8
  def __init__(self, addr = "ws://100.84.147.120:8090"):
@@ -22,7 +23,7 @@ class Carm:
22
23
  self.res_pool = {}
23
24
  self.task_pool = {}
24
25
 
25
- self.reader = threading.Thread(target=self.recv_loop).start()
26
+ self.reader = threading.Thread(target=self.recv_loop, daemon=True).start()
26
27
  self.open_ready = threading.Event()
27
28
  self.open_ready.wait()
28
29
  self.limit = self.get_limits()["params"]
@@ -42,6 +43,8 @@ class Carm:
42
43
  "type":"version"})
43
44
 
44
45
  def set_ready(self):
46
+ while self.state is None:
47
+ time.sleep(0.1)
45
48
  arm = self.state["arm"][0]
46
49
  if arm["fsm_state"] == "POSITION" or arm["fsm_state"] == "MIT":
47
50
  return True
@@ -204,6 +207,20 @@ class Carm:
204
207
  self.wait_task(res["task_key"])
205
208
 
206
209
  return res
210
+
211
+
212
+ def move_line(self, pos, speed=50, sync=True, user=0, tool=0):
213
+ res = self.request({"command":"webRecieveTasks",
214
+ "task_id":"TASK_MOVL",
215
+ "task_level":"Task_General",
216
+ "arm_index":0,
217
+ "point_type":{"space":1},
218
+ "data":{"user":user,"tool":tool, "target_pos": pos, "speed":speed}})
219
+
220
+ if sync and res["recv"]=="Task_Recieve":
221
+ self.wait_task(res["task_key"])
222
+
223
+ return res
207
224
 
208
225
  def wait_task(self, task_key):
209
226
  event = threading.Event()
@@ -48,7 +48,7 @@ class ArmDriver:
48
48
  time.sleep(0.005)
49
49
 
50
50
  def send_cmd(args):
51
- arm = carm.Carm(args.addr,mit=args.mit)
51
+ arm = carm.Carm(args.addr)
52
52
 
53
53
  cmd = args.cmd
54
54
 
@@ -72,10 +72,7 @@ def driver_main(args):
72
72
 
73
73
  driver.loop()
74
74
 
75
-
76
-
77
- # 测试代码
78
- if __name__ == "__main__":
75
+ def main():
79
76
  parser = argparse.ArgumentParser()
80
77
  parser.add_argument("--addr", type=str, default="ws://localhost:8090", help="Device address, including ip and port")
81
78
  parser.add_argument("--cmd", type=str, default="", help="Send command instead of start driver, support enable,disable,remote")
@@ -102,5 +99,10 @@ if __name__ == "__main__":
102
99
  driver_main(args)
103
100
  else:
104
101
  send_cmd(args)
102
+
103
+
104
+ # 测试代码
105
+ if __name__ == "__main__":
106
+ main()
105
107
 
106
108
 
@@ -19,7 +19,7 @@ class ArmDriver(Node):
19
19
 
20
20
  self.arm = carm.Carm(args.addr)
21
21
  if args.mit:
22
- self.arm.set_control_mode(3)
22
+ self.arm.set_control_mode(2)
23
23
  else:
24
24
  self.arm.set_control_mode(1)
25
25
 
@@ -60,9 +60,8 @@ class ArmDriver(Node):
60
60
  self.pub_end.publish(end_msg)
61
61
 
62
62
  time.sleep(0.005)
63
-
64
- # 测试代码
65
- if __name__ == "__main__":
63
+
64
+ def main():
66
65
  parser = argparse.ArgumentParser()
67
66
  parser.add_argument("--addr", type=str, default="ws://localhost:8090", help="Device address, including ip and port")
68
67
  parser.add_argument("--device", type=str, default="carm", help="device name, used as topic prefix")
@@ -90,5 +89,8 @@ if __name__ == "__main__":
90
89
  rclpy.spin(node)
91
90
  node.destroy_node()
92
91
  rclpy.shutdown()
93
-
92
+
93
+ # 测试代码
94
+ if __name__ == "__main__":
95
+ main()
94
96
 
@@ -0,0 +1,10 @@
1
+ Metadata-Version: 2.1
2
+ Name: carm
3
+ Version: 0.0.20250822
4
+ Summary: Python interface for cvte arm.
5
+ Author-email: Yong Zhao <zhaoyong11933@cvte.com>
6
+ Classifier: Programming Language :: Python :: 3
7
+ Classifier: Programming Language :: Python :: Implementation :: CPython
8
+ Classifier: Programming Language :: Python :: Implementation :: PyPy
9
+ Requires-Python: >=3.6
10
+ Requires-Dist: websocket-client
@@ -1,12 +1,12 @@
1
1
  README.md
2
- setup.py
2
+ pyproject.toml
3
3
  carm/__init__.py
4
4
  carm/carm.py
5
+ carm/carm_dds.py
6
+ carm/carm_ros2.py
5
7
  carm.egg-info/PKG-INFO
6
8
  carm.egg-info/SOURCES.txt
7
9
  carm.egg-info/dependency_links.txt
10
+ carm.egg-info/entry_points.txt
8
11
  carm.egg-info/requires.txt
9
- carm.egg-info/top_level.txt
10
- carm.egg-info/zip-safe
11
- scripts/carm
12
- scripts/carm_ros2
12
+ carm.egg-info/top_level.txt
@@ -0,0 +1,3 @@
1
+ [console_scripts]
2
+ carm = carm.carm_dds:main
3
+ carm_ros2 = carm.carm_ros2:main
@@ -0,0 +1,32 @@
1
+ [build-system]
2
+ requires = ["setuptools>=42"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [project]
6
+ name = "carm"
7
+ version = "0.0.20250822"
8
+ authors = [
9
+ {name = "Yong Zhao", email = "zhaoyong11933@cvte.com"},
10
+ ]
11
+ description = "Python interface for cvte arm."
12
+ requires-python = ">=3.6"
13
+ dependencies = ["websocket-client"]
14
+ classifiers = [
15
+ "Programming Language :: Python :: 3",
16
+ "Programming Language :: Python :: Implementation :: CPython",
17
+ "Programming Language :: Python :: Implementation :: PyPy",
18
+ ]
19
+
20
+ [project.scripts]
21
+ carm = "carm.carm_dds:main"
22
+ carm_ros2 = "carm.carm_ros2:main"
23
+
24
+ [tool.setuptools]
25
+ packages = ["carm"]
26
+
27
+ [tool.setuptools.package-data]
28
+ carm = [
29
+ "__init__.py",
30
+ "carm.py",
31
+ "carm_dds.py",
32
+ ]
@@ -1,9 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: carm
3
- Version: 0.0.20250812
4
- Summary: Python interface for cvte arm.
5
- Author: Yong Zhao
6
- Author-email: zhaoyong11933@cvte.com
7
- Requires-Dist: websocket-client
8
-
9
- Python interface for cvte arm.
@@ -1,9 +0,0 @@
1
- Metadata-Version: 2.1
2
- Name: carm
3
- Version: 0.0.20250812
4
- Summary: Python interface for cvte arm.
5
- Author: Yong Zhao
6
- Author-email: zhaoyong11933@cvte.com
7
- Requires-Dist: websocket-client
8
-
9
- Python interface for cvte arm.
@@ -1 +0,0 @@
1
-
@@ -1,21 +0,0 @@
1
- from setuptools import setup, find_packages
2
-
3
- setup(
4
- name="carm",
5
- version="0.0.20250812",
6
- packages=find_packages(),
7
- package_data={
8
- "carm": [
9
- "__init__.py",
10
- "carm.py",
11
- ],
12
- },
13
- scripts=['scripts/carm','scripts/carm_ros2'],
14
- include_package_data=True,
15
- install_requires=["websocket-client"],
16
- zip_safe=True,
17
- author='Yong Zhao',
18
- author_email='zhaoyong11933@cvte.com',
19
- description="Python interface for cvte arm.",
20
- long_description='Python interface for cvte arm.',
21
- )
File without changes
File without changes