Hi. We are using the IMU BNO055 in order to receive some measures of magnetic field. The problem is that we don't know what is the data type of output registers. We know that in order to receive a measure, it's necessary to read the MSL and LSB output registers of magnetic fields, but we don't know how to treat this data to get the signed decimal value in uT. So, we'll thank any help you can give us. Thanks for your time.
The unit of magnetometer data output is 1µT = 16LSB, therefore you will need to divide the signed 16bits raw integer values from the register map by 16 to get a signed decimal output in µT.
We highly recommend using the BNO055 sensor API/driver directly or as reference for your project, which already includes some functions to convert raw sensor data into µT (e.g. bno055_convert_double_mag_xyz_uT()).