STS_SERIES_CONTROL_TABLE = { "Model": (3, 2), "ID": (5, 1), "Baud_Rate": (6, 1), "Return_Delay": (7, 1), "Response_Status_Level": (8, 1), "Min_Angle_Limit": (9, 2), "Max_Angle_Limit": (11, 2), "Max_Temperature_Limit": (13, 1), "Max_Voltage_Limit": (14, 1), "Min_Voltage_Limit": (15, 1), "Max_Torque_Limit": (16, 2), "Phase": (18, 1), "Unloading_Condition": (19, 1), "LED_Alarm_Condition": (20, 1), "P_Coefficient": (21, 1), "D_Coefficient": (22, 1), "I_Coefficient": (23, 1), "Minimum_Startup_Force": (24, 2), "CW_Dead_Zone": (26, 1), "CCW_Dead_Zone": (27, 1), "Protection_Current": (28, 2), "Angular_Resolution": (30, 1), "Offset": (31, 2), "Mode": (33, 1), "Protective_Torque": (34, 1), "Protection_Time": (35, 1), "Overload_Torque": (36, 1), "Speed_closed_loop_P_proportional_coefficient": (37, 1), "Over_Current_Protection_Time": (38, 1), "Velocity_closed_loop_I_integral_coefficient": (39, 1), "Torque_Enable": (40, 1), "Acceleration": (41, 1), "Goal_Position": (42, 2), "Goal_Time": (44, 2), "Goal_Speed": (46, 2), "Torque_Limit": (48, 2), "Lock": (55, 1), "Present_Position": (56, 2), "Present_Speed": (58, 2), "Present_Load": (60, 2), "Present_Voltage": (62, 1), "Present_Temperature": (63, 1), "Status": (65, 1), "Moving": (66, 1), "Present_Current": (69, 2), # Not in the Memory Table "Maximum_Acceleration": (85, 2), } import time # Assuming STS_SERIES_CONTROL_TABLE is defined globally def print_all_params(robot): """ Reads all parameters from the STS_SERIES_CONTROL_TABLE and prints their values. """ for param in STS_SERIES_CONTROL_TABLE.keys(): try: val = robot.arm_bus.read(param) print(f"{param} = {val}") except Exception as e: print(f"{param} read failed: {e}") # Example usage: print_all_params(robot)