diff --git a/aio/README.md b/aio/README.md index a021168..d06c5fa 100644 --- a/aio/README.md +++ b/aio/README.md @@ -381,10 +381,13 @@ v0.1.7.2(2024/06/30) 4. 增加了解包原理性文档 v0.1.7.3(2024/07/01) -1. [APIs: openapi.py] 继续完善封包解包操作,并优化了所有调试信息,默认打开状态,直到bug数量明显减少 +1. [APIs: openapi.py] + - 继续完善封包解包操作,并优化了所有调试信息,默认打开状态,直到bug数量明显减少 + - 修复了两个bug,删除了一个多余的break,另一个是补齐了self.broke的重置 2. [APIs: do_current.py] 使用原工程的工程名进行move操作,语义更加明确 > 目前看openapi.py封包解包没有任何问题了,但是所有的调试信息都默认打开,以便可以第一时间保留现场 +> 打开诊断,跑了10多分钟,共计解包没有报错,应该是没有问题了 diff --git a/aio/assets/templates/c_msg.log b/aio/assets/templates/c_msg.log new file mode 100644 index 0000000..e4aefb9 --- /dev/null +++ b/aio/assets/templates/c_msg.log @@ -0,0 +1,27 @@ +{'command': 'alarm.report', 'data': {'id': 10020, 'level': 'warning', 'msg': False, 'title': '拒绝新示教器连接[2024-07-01 16:29:26]'}, 'module': 'system'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822570.4244733'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822567.92287'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822565.4212413'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822562.9190633'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822560.4154985'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822557.913359'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822555.4105828'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822552.9065998'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822550.4040146'} +{'command': 'alarm.report', 'data': {'id': 10135, 'level': 'info', 'msg': False, 'title': '切换热插拔模式成功[2024-07-01 16:29:03]'}, 'module': 'system'} +{'data': {'tp_mode': 'without'}, 'id': 'state.set_tp_mode-1719822549.450559'} +{'data': {'devices': [{'servo_axis': 1, 'type': 0, 'vendor': '748', 'version': ''}, {'servo_axis': 2, 'type': 0, 'vendor': '748', 'version': ''}, {'servo_axis': 3, 'type': 0, 'vendor': '748', 'version': ''}, {'servo_axis': 4, 'type': 0, 'vendor': '748', 'version': ''}, {'servo_axis': 5, 'type': 0, 'vendor': '748', 'version': ''}, {'servo_axis': 6, 'type': 0, 'vendor': '748', 'version': ''}, {'servo_axis': 1, 'type': 1, 'vendor': '748', 'version': ''}, {'servo_axis': 2, 'type': 1, 'vendor': '748', 'version': ''}, {'servo_axis': 3, 'type': 1, 'vendor': '748', 'version': ''}, {'servo_axis': 4, 'type': 1, 'vendor': '748', 'version': ''}, {'servo_axis': 5, 'type': 1, 'vendor': '748', 'version': ''}, {'servo_axis': 6, 'type': 1, 'vendor': '748', 'version': ''}, {'servo_axis': 1, 'type': 8, 'vendor': '748', 'version': 'none'}, {'servo_axis': 2, 'type': 8, 'vendor': '748', 'version': 'none'}, {'servo_axis': 3, 'type': 8, 'vendor': '748', 'version': 'none'}, {'servo_axis': 4, 'type': 8, 'vendor': '748', 'version': 'none'}, {'servo_axis': 5, 'type': 8, 'vendor': '748', 'version': 'none'}, {'servo_axis': 6, 'type': 8, 'vendor': '748', 'version': 'none'}, {'type': 2, 'vendor': 'rokae', 'version': 'RSC : 2.0.0.4 && RSC.Algorithm : 1.0.4'}, {'type': 3, 'vendor': 'rokae', 'version': '2.2.1.5'}, {'type': 4, 'vendor': 'rokae', 'version': '3.2.10'}, {'type': 5, 'vendor': 'rokae', 'version': 'v2.2.1.2'}, {'type': 6, 'vendor': 'rokae', 'version': '2.2.0.1'}, {'type': 9, 'vendor': 'rokae', 'version': 'none'}, {'type': 10, 'vendor': 'rokae', 'version': 'A0_xC.v2.2.0.R1'}, {'type': 11, 'vendor': 'rokae', 'version': '1.0.1'}]}, 'id': 'device.get_params-1719822548.7621348'} +{'command': 'move.monitor', 'data': {'elb': 0.0, 'euler': [89.99110467974835, 29.9853154646663, -104.00466319666923], 'ext_joint': [0.0, 0.0, 0.0, 0.0, 0.0, 0.0], 'joint': [76.01114273071289, -59.998823126376905, -150.00352478027347, -90.00099179534756, -90.0136906550481, 0.017031260758614768], 'position': [-192.41938657578066, -462.13248519925634, 310.74790278930976], 'quaternion': [-0.2763893828152837, -0.5646272736310524, 0.4255922997043593, 0.6509040984440838], 'torque': [0.0, -0.0, -0.0, -0.0, -0.0, -0.0]}, 'module': 'motion'} +{'data': {'engine': 'off', 'operate': 'manual', 'rc_state': 'normal', 'robot_action': 'idle', 'safety_mode': 'normal', 'servo_mode': 'position', 'task_space': 'ready'}, 'id': 'state.get_state-1719822548.1687336'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822547.9009733'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822545.399719'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822542.8978984'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822540.395304'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822537.893616'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822535.3915236'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822532.8891878'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822530.387109'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822527.8851492'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822525.3829527'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822522.8800979'} +{'data': {'name': 'xCore'}, 'id': 'controller.heart-1719822520.3775096'} diff --git a/aio/code/automatic_test/do_current.py b/aio/code/automatic_test/do_current.py index ba49752..8803c7d 100644 --- a/aio/code/automatic_test/do_current.py +++ b/aio/code/automatic_test/do_current.py @@ -139,11 +139,6 @@ def run_rl(hr, w2t): {"name": "device_servo_trq_feedback", "channel": 4}, {"name": "device_servo_trq_feedback", "channel": 5}, {"name": "device_safety_estop", "channel": 0}, - {"name": "device_safety_estop", "channel": 0}, - {"name": "device_safety_estop", "channel": 0}, - {"name": "device_safety_estop", "channel": 0}, - {"name": "device_safety_estop", "channel": 0}, - {"name": "device_safety_estop", "channel": 0}, ] _response = execution('diagnosis.set_params', hr, w2t, display_pdo_params=display_pdo_params) print(f"执行采样: {_response}") diff --git a/aio/code/automatic_test/openapi.py b/aio/code/automatic_test/openapi.py index a5c7233..0239c12 100644 --- a/aio/code/automatic_test/openapi.py +++ b/aio/code/automatic_test/openapi.py @@ -1,4 +1,4 @@ -from json import load, dumps +from json import load, dumps, loads from socket import socket, setdefaulttimeout, AF_INET, SOCK_STREAM from threading import Thread import selectors @@ -108,7 +108,7 @@ class HmiRequest(object): sleep(2) # with open(f"{current_path}/../../assets/templates/c_msg.log", "w", encoding='utf-8') as f: # for msg in self.c_msg: - # f.write(msg + '\n') + # f.write(str(loads(msg)) + '\n') def msg_storage(self, response, flag=0): messages = self.c_msg if flag == 0 else self.c_msg_xs @@ -215,13 +215,14 @@ class HmiRequest(object): print(f"in flag=0 else index = {self.index}") print(f"in flag=0 else pkg size = {self.pkg_size}") print(f"in flag=0 else leftover = {self.leftover}") - break + # break elif self.flag == 1: # 继续处理之前为接收完的数据,处理完之后将flag重置为0 # !!!需要注意的是,包头/帧头也是有可能被分割开的!!!但是目前该程序未实现此种情况!!! if self.broke == 1: self.index = 0 self.leftover = int.from_bytes(self.half, byteorder='big') + self.broke = 0 print(f"broke 1 leftover: {self.leftover}") elif self.broke == 2: self.leftover = int.from_bytes(self.half+data[:1], byteorder='big')