Dependents:
ProjetInterfacage
Diff: LSM303D.h
- 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