@@ -96,6 +96,8 @@ def _mesg(self, genre, *args, **kwargs):
9696 result = self ._int2angle (result )
9797 return result
9898 if genre in (ProtocolCode .GET_ATOM_PRESS_STATUS , ):
99+ if self .__class__ .__name__ == 'MyArmM' :
100+ return res [0 ]
99101 return res
100102 elif genre in [
101103 ProtocolCode .GET_ANGLES , ProtocolCode .GET_JOINT_MAX_ANGLE , ProtocolCode .GET_JOINT_MIN_ANGLE ,
@@ -115,7 +117,7 @@ def _mesg(self, genre, *args, **kwargs):
115117 rank = [i for i , e in enumerate (reverse_bins ) if e != '0' ]
116118 result .append (rank )
117119 return result
118- elif genre == ProtocolCode .GET_ROBOT_FIRMWARE_VERSION :
120+ elif genre in ( ProtocolCode .GET_ROBOT_FIRMWARE_VERSION , ProtocolCode . GET_ROBOT_TOOL_FIRMWARE_VERSION ) :
119121 return self ._int2coord (res [0 ])
120122 else :
121123 return res
@@ -144,10 +146,6 @@ def get_robot_tool_firmware_version(self):
144146 """Get the Robot Tool Firmware Version (End Atom)"""
145147 return self ._mesg (ProtocolCode .GET_ROBOT_TOOL_FIRMWARE_VERSION , has_reply = True )
146148
147- # def get_robot_serial_number(self):
148- # """Get the bot number"""
149- # return self._mesg(ProtocolCode.GET_ROBOT_SERIAL_NUMBER, has_reply=True)
150-
151149 def set_robot_err_check_state (self , status ):
152150 """Set Error Detection Status You can turn off error detection, but do not turn it off unless necessary
153151
@@ -175,7 +173,8 @@ def get_recv_queue_max_len(self):
175173
176174 def set_recv_queue_max_len (self , max_len ):
177175 """Set the total length of the receiving command queue"""
178- self ._mesg (ProtocolCode .SET_RECV_QUEUE_SIZE , max_len , has_reply = True )
176+ assert 0 < max_len <= 100 , "queue size must be in range 1 - 100"
177+ self ._mesg (ProtocolCode .SET_RECV_QUEUE_SIZE , max_len )
179178
180179 def get_recv_queue_len (self ):
181180 """The current length of the read receive queue"""
@@ -275,7 +274,9 @@ def set_servo_p(self, servo_id, data):
275274 data (int): 0-254
276275
277276 """
278- self ._mesg (ProtocolCode .MERCURY_DRAG_TECH_SAVE , servo_id , data )
277+ assert 0 <= data <= 254 , "data must be between 0 and 254"
278+ self .calibration_parameters (class_name = self .__class__ .__name__ , servo_id = servo_id )
279+ self ._mesg (ProtocolCode .SET_SERVO_P , servo_id , data )
279280
280281 def get_servo_p (self , servo_id ):
281282 """Reads the position loop P scale factor of the specified servo motor
@@ -292,6 +293,8 @@ def set_servo_d(self, servo_id, data):
292293 servo_id (int): 0-254
293294 data (int): 0-254
294295 """
296+ assert 0 <= data <= 254 , "data must be between 0 and 254"
297+ self .calibration_parameters (class_name = self .__class__ .__name__ , servo_id = servo_id )
295298 self ._mesg (ProtocolCode .MERCURY_DRAG_TECH_EXECUTE , servo_id , data )
296299
297300 def get_servo_d (self , servo_id ):
@@ -309,6 +312,8 @@ def set_servo_i(self, servo_id, data):
309312 servo_id (int): 0 - 254
310313 data (int): 0 - 254
311314 """
315+ assert 0 <= data <= 254 , "data must be between 0 and 254"
316+ self .calibration_parameters (class_name = self .__class__ .__name__ , servo_id = servo_id )
312317 self ._mesg (ProtocolCode .MERCURY_DRAG_TECH_PAUSE , servo_id , data )
313318
314319 def get_servo_i (self , servo_id ):
@@ -322,6 +327,8 @@ def set_servo_cw(self, servo_id, data):
322327 servo_id (int): 0 - 254
323328 data (int): 0 - 32
324329 """
330+ assert 0 <= data <= 32 , "data must be between 0 and 32"
331+ self .calibration_parameters (class_name = self .__class__ .__name__ , servo_id = servo_id )
325332 self ._mesg (ProtocolCode .SET_SERVO_MOTOR_CLOCKWISE , servo_id , data )
326333
327334 def get_servo_cw (self , servo_id ):
@@ -339,6 +346,8 @@ def set_servo_cww(self, servo_id, data):
339346 servo_id (int): 0 - 254
340347 data (int): 0 - 32
341348 """
349+ assert 0 <= data <= 32 , "data must be between 0 and 32"
350+ self .calibration_parameters (class_name = self .__class__ .__name__ , servo_id = servo_id )
342351 return self ._mesg (ProtocolCode .SET_SERVO_MOTOR_COUNTER_CLOCKWISE , servo_id , data )
343352
344353 def get_servo_cww (self , servo_id ):
0 commit comments