MAG3110 Virgo robot adaptation
Fork of MAG3110 by
Diff: MAG3110.cpp
- Revision:
- 10:33eb06fe479c
- Parent:
- 9:f86b9453bb46
- Child:
- 11:31b140f32906
diff -r f86b9453bb46 -r 33eb06fe479c MAG3110.cpp --- a/MAG3110.cpp Mon Aug 01 05:57:01 2016 +0000 +++ b/MAG3110.cpp Wed Aug 17 05:55:13 2016 +0000 @@ -5,7 +5,7 @@ ******************************************************************************/ MAG3110::MAG3110(PinName sda, PinName scl): _i2c(sda, scl) { - begin(); + //begin(); } void MAG3110::begin() @@ -69,7 +69,7 @@ _avgZ=(maxZ+minZ)/2; } -void MAG3110::get_uT(float *uT) +void MAG3110::get_uT(float *uT_x, float *uT_y, float *uT_z) { char data_bytes[7]; char d[1]; @@ -78,9 +78,9 @@ _i2c.write(MAG_ADDR,d,1,true); _i2c.read(MAG_ADDR,data_bytes,7);// Read the 6 data bytes - LSB and MSB for X, Y and Z Axes. - uT[0] = (float)((int16_t)((data_bytes[1]*256) + (data_bytes[2]))) * 0.1; - uT[1] = (float)((int16_t)((data_bytes[3]*256) + (data_bytes[4]))) * 0.1; - uT[2] = (float)((int16_t)((data_bytes[5]*256) + (data_bytes[6]))) * 0.1; + *uT_x = (float)((int16_t)((data_bytes[1]*256) + (data_bytes[2]))) * 0.1; + *uT_y = (float)((int16_t)((data_bytes[3]*256) + (data_bytes[4]))) * 0.1; + *uT_y = (float)((int16_t)((data_bytes[5]*256) + (data_bytes[6]))) * 0.1; }