Calibration of the onboard compass qmc5883l

I am using qmc5883l as my internal compass. According to the direction in the data sheet, the x axis is facing forward and the z axis is up. I can read the data normally, but I have no way to complete the compass calibration. It always starts again and again. . . . What is the reason for this?



If Compass_auto _rot is enabled it should detect and update the orientation.