Skip to content

Magnetometer: Update imu.c to read hall effect data and convert mag data to float #82

Description

@ETSells

Description

The magnetometer on the flight computer is a super useful sensor that, if used correctly, can help us during sensor fusion to determine an approximate magnetic heading, which we can fuse with gyroscope data for better state estimations. Since we've improved the euler angle estimations on 6 axes, we've reached a point where this data is actually super critical to the accuracy of the flight computer's positional state.

Right now, we read some magnetometer data but don't do anything with it. In the form we have (raw readings from the mag X, mag Y, and mag Z registers), it's kinda unusable.

We need to convert this data from the proprietary unit to float, and we need to apply compensation based on the contents of the hall effect register in order to get useful magnetometer data.

We'll also probably want to store this converted data in flash somewhere, which will mess with our sensor data schema. Contact @ETSells for help on this step.

References

Datasheet: https://www.bosch-sensortec.com/media/boschsensortec/downloads/datasheets/bst-bmm150-ds001.pdf

Bosch Driver: https://github.com/boschsensortec/BMM150_SensorAPI/tree/master

Metadata

Metadata

Assignees

Labels

advancedMarked for senior members to take on

Fields

No fields configured for Feature.

Projects

Status
Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions