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?


%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20191025131021

%E5%BE%AE%E4%BF%A1%E6%88%AA%E5%9B%BE_20191025131833

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