Overview

Driver for a Freescale MAG3110 magnetometer.

Resources

All correct at time of writing, but as always, manufacturers love to move things around on their website.

Web page

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=MAG3110&

Datasheet

http://cache.freescale.com/files/sensors/doc/data_sheet/MAG3110.pdf

Test hardware

This code has been tested using a Freescale LFSTBEB3110 sensor daughterboard:

http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=LFSTBEB3110

This was wired to a CoreProto and plugged into a SenseCore:

http://soldercore.com/products/sensecore/

And finally installed on a SolderCore:

http://soldercore.com/products/soldercore/

Specification
Parameter Supported settings
Bandwidth (Hz) 0.625, 1.25, 2.5, 5, 10, 20, 40
Range (µT) ±1000
Communication up to 400 kHz (I2C)

API Summary

Macros
MAG3110_I2C_ADDR MAG3110 8-bit I2C address
Functions
mag3110_initialize_i2c Initialize sensor on I2C bus
mag3110_read_die_temperature Read die temperature
mag3110_set_oversampling_ratio Set oversampling ratio