@@ -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,13 @@ 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+ state = self .x01 + self .x04
260+ if len (state ) < 10 :
261+ self .send_frame (0x01 ,[],sleep = 0.005 )
262+ self .send_frame (0x04 ,[],sleep = 0.005 )
263+ time .sleep (0.001 )
264+ state = self .x01 + self .x04
265+ return state
262266 def get_speed (self ):
263267 '''Get current speed'''
264268 # self.send_frame(0x05,[],sleep=0.005)
@@ -308,6 +312,7 @@ def get_torque(self):
308312 self .send_frame (0x02 , [])
309313 time .sleep (0.002 )
310314 self .send_frame (0x03 ,[])
315+ time .sleep (0.002 )
311316 #self.set_max_torque_limits(pressures=[0.0], type="get")
312317 #time.sleep(0.001)
313318 return self .x02 + self .x03
@@ -316,9 +321,16 @@ def get_fault(self):
316321 '''Get motor fault'''
317322 self .get_motor_fault_code ()
318323 return self .x35 + self .x36
324+
319325 def get_current (self ):
320326 '''Get current'''
321- return [None ]* 10
327+ self .send_frame (0x02 , [])
328+ time .sleep (0.002 )
329+ self .send_frame (0x03 ,[])
330+ #self.set_max_torque_limits(pressures=[0.0], type="get")
331+ #time.sleep(0.001)
332+ return self .x02 + self .x03
333+
322334 def close_can_interface (self ):
323335 """Stop the CAN communication."""
324336 self .running = False
0 commit comments