we need the raw readx and ready values when the module is held level and :-

1 facing magnetic north
2 south
3 east
4 west
these readings should represent maxima and minima also. if not this setup is not going to work

if the min- max readings are not the full 4096 range then the existing 360 degree scaling will be way off' and will need to allowed for .

you may also need to "normalise" the readings in some way to compensate for varying field strengths (or adjust the gain).

the reading results may need to rotated by a fraction of pi to achieve proper orientation (ie to make 0 equate to north).