Según AN4602, el chip puede compensar la deriva térmica con el sensor de temperatura interno
No exactamente. De acuerdo con AN4602, el sensor "compensando internamente la sensibilidad deriva sobre las variaciones de temperatura utilizando un algoritmo integrado avanzado"
Lo anterior significa que se compensa la sensibilidad del dispositivo, no el valor absoluto. Esto se confirma en las Preguntas frecuentes en el sitio de soporte en línea de ST:
Q:
We do some initial validation of LIS3MDL and experienced a problem when we do
a temperature cycle and no external magnetic field present. It seems like the
sensors get an offset in the output. We have tried to enable the TEMP_EN bit,
but the output is more or less the same.
A:
In LIS3MDL please consider that embedded temperature compensation can be used
to reduce the thermal drift of the sensitivity, while it is not able to
compensate the thermal drift of the offset. Thermal drift can be up to +/-8mG/°C.
LIS3MDL is TMR sensor. New products like LSM303AGR are AMR technology sensors
and in those mechanism is available which is able to remove offset thermal drift.
Entonces, tienes dos opciones aquí. Busque sus nuevos sensores AMR o lea la salida del sensor térmico y compense en su software.