Port of LSM303DLHC with modified registers to work with LSM303D

Dependents:   Altimu10v4

Revision:
0:5b930e09bd6e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/LSM303D.h	Wed Feb 03 20:57:01 2016 +0000
@@ -0,0 +1,38 @@
+
+#ifndef __LSM303D_H
+#define __LSM303D_H
+#include "mbed.h"
+
+
+
+class LSM303D {
+    public:
+        /** Create a new interface for an LSM303D
+         *
+         * @param sda is the pin for the I2C SDA line
+         * @param scl is the pin for the I2C SCL line
+         */
+        LSM303D(PinName sda, PinName scl);
+
+  
+        /** read the raw accelerometer and compass values
+         *
+         * @param ax,ay,az is the accelerometer 3d vector, written by the function
+         * @param mx,my,mz is the magnetometer 3d vector, written by the function
+         */
+         bool read(float *ax, float *ay, float *az, float *mx, float *my, float *mz);
+
+
+    private:
+        I2C _LSM303;
+
+         
+        float ax, ay, az;
+        float mx, my, mz;         
+         
+        bool write_reg(int addr_i2c,int addr_reg, char v);
+        bool read_reg(int addr_i2c,int addr_reg, char *v);
+        bool recv(char sad, char sub, char *buf, int length);
+};
+
+#endif
\ No newline at end of file