I2C driver for HMC5583L digital compass sensor

Dependents:   m3Dpi

Revision:
1:097089f0feb1
Parent:
0:91f08ac76444
--- a/hmc5583l.cpp	Thu Dec 03 07:52:58 2015 +0000
+++ b/hmc5583l.cpp	Sat Dec 19 10:40:55 2015 +0000
@@ -1,13 +1,23 @@
 #include "hmc5583l.h"
 #include "stdint.h"
 
+HMC5583L::HMC5583L(I2C &_i2c, int _address): i2c(_i2c), address(_address)
+{
+    initialize();
+}
+
 HMC5583L::HMC5583L(PinName sda, PinName scl, int _address): i2c(sda, scl), address(_address)
 {
+    initialize();
+}
+
+void HMC5583L::initialize()
+{
     char data[2];
     data[0] = 0x02; // select mode register
     data[1] = 0x00; // continous measurement mode
 
-    i2c.write(address, data, 2);
+    i2c.write(address, data, 2);   
 }
 
 coord HMC5583L::getCompass()