Hello Ma,
You need to distinguish between the embedded auto-calibration function on the FXOS8700CQ and the complex magnetic calibration software which provides both hard and soft iron corrections and quality-of-fit indication in the GUI.
The embedded auto-calibration function when enabled (m_acal = 1) calculates the hard-iron estimate (calibration) and automatically subtracts it (compensation) from the current magnetic-field readings. This is usually sufficient for applications where hard-iron interference is the primary source of error and soft-iron distortion is minimal or non-existent. For more info please refer to the AN4459.
In our eCompass demo we employ a more complex hard as well as soft iron calibration. For more info please have a look at the AN4246.
Best regards,
Tomas
PS: If this answer helps to solve your question, please mark it as "Correct" or “Helpful”. Thank you.