I'm surprised that, even the raw values:
- When the frame X points to the north, pitch down 60°, Z is high instead of X.
- When the frame Y points to the same direction, X is high instead of Y
- When I point Z, Y is high instead of Z.
[60, 4, 110]
It measures [150 0 0] when the nose points 4 degrees right from north and 60 deg down in the ground.
It seems that my magnetometer is oriented ZXY instead of XYZ. It's not a problem of IMU orientation versus frame orientation because my accelerometer and gyrometer values are OK.
Is indeed what I expected. Which version of aspirin are you using? 1.1 1.2 1.3 1.4 1.5 or newer still?