@@ -780,7 +780,7 @@ def calibration_parameters(**kwargs):
780780 raise MyCobot320DataException (
781781 "The range of 'gripper_angle' in {} is 0 ~ 100, but the received value is {}" .format (parameter ,
782782 gripper_angle ))
783- elif parameter == "gripper_id" :
783+ elif parameter == "gripper_id" or parameter == "set_id" :
784784 check_value_type (parameter , value_type , MyCobot320DataException , int )
785785 if value < 1 or value > 254 :
786786 raise MyCobot320DataException (
@@ -881,6 +881,56 @@ def calibration_parameters(**kwargs):
881881 raise MyCobot320DataException (
882882 "'address' in {} cannot be one of the following values: {}, but the received value is {}" .format (
883883 parameter , invalid_addresses , address ))
884+
885+ elif parameter == "gripper_joint_id" :
886+ check_value_type (parameter , value_type , MyCobot320DataException , int )
887+ if value < 1 or value > 6 :
888+ raise MyCobot320DataException (
889+ "The range of 'gripper_id' in {} is 1 ~ 6, but the received value is {}" .format (parameter ,
890+ value ))
891+ elif parameter == "gripper_angles" :
892+ if len (value ) != 6 :
893+ raise MyCobot320DataException (
894+ "{}: 'gripper_angles' must contain exactly 6 values, but received {}." .format (class_name ,
895+ len (value )))
896+
897+ for i , angle in enumerate (value ):
898+ if not isinstance (angle , int ):
899+ raise MyCobot320DataException (
900+ "{}: Value at position {} in 'gripper_angles' must be an integer, but received {}." .format (
901+ class_name , i + 1 , angle )
902+ )
903+ if angle < 0 or angle > 100 :
904+ raise MyCobot320DataException (
905+ "{}: Value {} at position {} in 'gripper_angles' is out of range (0 ~ 100)." .format (
906+ class_name , angle , i + 1 )
907+ )
908+ elif parameter == 'pinch_mode' :
909+ check_0_or_1 (parameter , value , [0 , 1 , 2 , 3 ], value_type , MyCobot320DataException , int )
910+ elif parameter == "gripper_finger_id" :
911+ check_value_type (parameter , value_type , MyCobot320DataException , int )
912+ if value < 1 or value > 5 :
913+ raise MyCobot320DataException (
914+ "The range of 'gripper_id' in {} is 1 ~ 6, but the received value is {}" .format (parameter ,
915+ value ))
916+ elif parameter == "clockwise" :
917+ check_value_type (parameter , value_type , MyCobot320DataException , int )
918+ if value < 0 or value > 16 :
919+ raise MyCobot320DataException (
920+ "The range of 'value' in {} is 0 ~ 16, but the received value is {}" .format (parameter ,
921+ value ))
922+ elif parameter in ["min_pressure" , "gripper_i" ]:
923+ check_value_type (parameter , value_type , MyCobot320DataException , int )
924+ if value < 0 or value > 254 :
925+ raise MyCobot320DataException (
926+ "The range of 'value' in {} is 0 ~ 254, but the received value is {}" .format (parameter ,
927+ value ))
928+ elif parameter in ["gripper_p" , "gripper_d" ]:
929+ check_value_type (parameter , value_type , MyCobot320DataException , int )
930+ if value < 0 or value > 150 :
931+ raise MyCobot320DataException (
932+ "The range of 'value' in {} is 0 ~ 150, but the received value is {}" .format (parameter ,
933+ value ))
884934 elif class_name in ["MechArm" , "MechArmSocket" ]:
885935 public_check (parameter_list , kwargs , robot_limit , class_name , MechArmDataException )
886936 elif class_name in ["MechArm270" , "MechArmSocket" ]:
@@ -1292,31 +1342,36 @@ def calibration_parameters(**kwargs):
12921342 value = kwargs [parameter ]
12931343 value_type = type (value )
12941344 if parameter in ("servo_id" , "joint_id" ) and value not in limit_info [parameter ]:
1295- raise ValueError (f"The { parameter } not right, should be in { limit_info [parameter ]} , but received { value } ." )
1345+ raise ValueError (
1346+ f"The { parameter } not right, should be in { limit_info [parameter ]} , but received { value } ." )
12961347 elif parameter == 'angle' :
12971348 i = kwargs ['joint_id' ] - 1
12981349 min_angle = limit_info ["angles_min" ][i ]
12991350 max_angle = limit_info ["angles_max" ][i ]
13001351 if value < min_angle or value > max_angle :
1301- raise ValueError (f"angle value not right, should be { min_angle } ~ { max_angle } , but received { value } " )
1352+ raise ValueError (
1353+ f"angle value not right, should be { min_angle } ~ { max_angle } , but received { value } " )
13021354 elif parameter == 'angles' :
13031355 for i , v in enumerate (value ):
13041356 min_angle = limit_info ["angles_min" ][i ]
13051357 max_angle = limit_info ["angles_max" ][i ]
13061358 if v < min_angle or v > max_angle :
1307- raise ValueError (f"angle value not right, should be { min_angle } ~ { max_angle } , but received { v } " )
1359+ raise ValueError (
1360+ f"angle value not right, should be { min_angle } ~ { max_angle } , but received { v } " )
13081361 elif parameter == 'encoder' :
13091362 i = kwargs ['servo_id' ] - 1
13101363 max_encoder = limit_info ["encoders_max" ][i ]
13111364 min_encoder = limit_info ["encoders_min" ][i ]
13121365 if value < min_encoder or value > max_encoder :
1313- raise ValueError (f"angle value not right, should be { min_encoder } ~ { max_encoder } , but received { value } " )
1366+ raise ValueError (
1367+ f"angle value not right, should be { min_encoder } ~ { max_encoder } , but received { value } " )
13141368 elif parameter == 'encoders' :
13151369 for i , v in enumerate (value ):
13161370 max_encoder = limit_info ["encoders_max" ][i ]
13171371 min_encoder = limit_info ["encoders_min" ][i ]
13181372 if v < min_encoder or v > max_encoder :
1319- raise ValueError (f"encoder value not right, should be { min_encoder } ~ { max_encoder } , but received { v } " )
1373+ raise ValueError (
1374+ f"encoder value not right, should be { min_encoder } ~ { max_encoder } , but received { v } " )
13201375 elif parameter == "speed" :
13211376 check_value_type (parameter , value_type , TypeError , int )
13221377 if not 1 <= value <= 100 :
0 commit comments