Skip to content

Commit 24d9a20

Browse files
committed
修改已知bug
1 parent 2212e24 commit 24d9a20

File tree

4 files changed

+34
-15
lines changed

4 files changed

+34
-15
lines changed

LinkerHand/core/can/linker_hand_l10_can.py

Lines changed: 21 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -73,7 +73,7 @@ def init_can_bus(self, channel, baudrate):
7373
if sys.platform == "linux":
7474
return can.interface.Bus(channel=channel, interface="socketcan", bitrate=baudrate)
7575
elif sys.platform == "win32":
76-
return can.interface.Bus(channel='PCAN_USBBUS1', interface='pcan', bitrate=baudrate)
76+
return can.interface.Bus(channel=channel, interface='pcan', bitrate=baudrate)
7777
else:
7878
raise EnvironmentError("Unsupported platform for CAN interface")
7979

@@ -256,9 +256,11 @@ def get_version(self):
256256
return self.version
257257
def get_current_status(self):
258258
'''Get current joint status'''
259-
# self.send_frame(0x01,[],sleep=0.005)
260-
# self.send_frame(0x04,[],sleep=0.005)
261-
return self.x01 + self.x04
259+
if self.version[4] > 35:
260+
self.send_frame(0x01,[],sleep=0.002)
261+
self.send_frame(0x04,[],sleep=0.002)
262+
state = self.x01 + self.x04
263+
return state
262264
def get_speed(self):
263265
'''Get current speed'''
264266
# self.send_frame(0x05,[],sleep=0.005)
@@ -305,20 +307,28 @@ def get_matrix_touch(self):
305307

306308
def get_torque(self):
307309
'''Get current motor torque'''
308-
self.send_frame(0x02, [])
309-
time.sleep(0.002)
310-
self.send_frame(0x03,[])
311-
#self.set_max_torque_limits(pressures=[0.0], type="get")
312-
#time.sleep(0.001)
313-
return self.x02+self.x03
310+
if self.version[4]< 36:
311+
return [-1] * 5
312+
else:
313+
self.send_frame(0x02, [])
314+
time.sleep(0.002)
315+
self.send_frame(0x03,[])
316+
time.sleep(0.002)
317+
return self.x02+self.x03
314318

315319
def get_fault(self):
316320
'''Get motor fault'''
317321
self.get_motor_fault_code()
318322
return self.x35+self.x36
323+
319324
def get_current(self):
320325
'''Get current'''
321-
return [None]*10
326+
return [-1] * 5
327+
self.send_frame(0x02, [])
328+
time.sleep(0.002)
329+
self.send_frame(0x03,[])
330+
return self.x02+self.x03
331+
322332
def close_can_interface(self):
323333
"""Stop the CAN communication."""
324334
self.running = False

LinkerHand/core/can/linker_hand_l7_can.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
class LinkerHandL7Can:
88
def __init__(self, can_id, can_channel='can0', baudrate=1000000):
99
self.x01 = [0] * 7
10-
self.x02 = [0] * 7
10+
self.x02 = [-1] * 7
1111
self.x05 = [0] * 7
1212
self.x33 = [0] * 7
1313
self.xb0,self.xb1,self.xb2,self.xb3,self.xb4,self.xb5 = [-1] * 5,[-1] * 5,[-1] * 5,[-1] * 5,[-1] * 5,[-1] * 5
@@ -48,7 +48,7 @@ def init_can_bus(self, channel, baudrate):
4848
if sys.platform == "linux":
4949
return can.interface.Bus(channel=channel, interface="socketcan", bitrate=baudrate)
5050
elif sys.platform == "win32":
51-
return can.interface.Bus(channel='PCAN_USBBUS1', interface='pcan', bitrate=baudrate)
51+
return can.interface.Bus(channel=channel, interface='pcan', bitrate=baudrate)
5252
else:
5353
raise EnvironmentError("Unsupported platform for CAN interface")
5454

@@ -199,12 +199,14 @@ def process_response(self, msg):
199199
elif frame_type == 0x64: # L7 version number
200200
self.version = list(response_data)
201201

202+
202203
def get_version(self):
203204
self.send_frame(0x64, [],sleep=0.1)
204205
return self.version
205206

206207
def get_current_status(self):
207-
#self.send_frame(0x01, [],sleep=0.01)
208+
if self.version[4] > 50:
209+
self.send_frame(0x01, [],sleep=0.002)
208210
return self.x01
209211

210212
def get_speed(self):
@@ -214,9 +216,11 @@ def get_current(self):
214216
'''Not supported yet.'''
215217
return [-1] * 7
216218

219+
217220
def get_torque(self):
218221
'''Not supported yet.'''
219-
return [-1] * 7
222+
self.send_frame(0x2, [],sleep=0.01)
223+
return self.x02
220224

221225
def get_touch_type(self):
222226
'''Get touch type'''

LinkerHand/linker_hand_api.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ def __init__(self, hand_type="left", hand_joint="L10", modbus = "None",can="can0
5757
if not self.is_can:
5858
ColorMsg(msg=f"{self.can} interface is not open", color="red")
5959
sys.exit(1)
60+
version = self.get_version()
61+
ColorMsg(msg=f"Embedded:{version}", color="green")
6062

6163
# Five-finger movement
6264
def finger_move(self, pose=[]):
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
release_2.1.7
2+
1、修改已知BUG
3+
14
release_2.1.4
25
1、新增支持L21
36
2、新增支持矩阵式压力传感器

0 commit comments

Comments
 (0)