Ultra-low power high performance 3-axis magnetometer library written in C for 32-bit ST Microcontrollers