Skip to content

Wrong magnetometer values by driver LSM9DS1. #36

@ghost

Description

Hello.
I have a questions about output values for drivers MPU9250 and LSM9DS1.
Accelerometers values in both sensors is multipliers of g.
Gyroscopes values in both sensors is dps. But in drivers values conver to rps (why?).
But magnetometers is differ in these sensors. For MPU9250 values is µT and for LSM9DS1 is gauss.
In driver MPU9250:
_mx = bit_data[0] * magnetometer_ASA[0];
where magnetometer_ASA
magnetometer_ASA[i] = ((data - 128) / 256 + 1) * Magnetometer_Sensitivity_Scale_Factor;
Ok. We have a value.
But in driver LSM9DS1:
_mx = 100.0 * ((float)bit_data[0] * mag_scale);
What is the meaning of the multiplier 100.0? By ((float)bit_data[0] * mag_scale) we have a right value or no? This sensor have a gauss unit.
µT = 1e-6 T = 1e-2 Gs, if LSM9DS1 sensor had a unit of measurement for the µT, then it would be obvious. But this sensor have a gauss unit… Sounds like a issue. Sorry if not right.

Thank you in advance for your help.

P.S.
Datasheets
http://www.st.com/content/ccc/resource/technical/document/datasheet/1e/3f/2a/d6/25/eb/48/46/DM00103319.pdf/files/DM00103319.pdf/jcr:content/translations/en.DM00103319.pdf
https://www.invensense.com/wp-content/uploads/2015/02/PS-MPU-9250A-01-v1.1.pdf

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions