test

Fork of MMA8652 by Jim Carver

Revision:
1:ff30cc4759b4
Parent:
0:3ae1e808e61c
Child:
2:29c2dd97ca95
--- a/MMA8652.h	Mon Apr 07 00:59:06 2014 +0000
+++ b/MMA8652.h	Sat Apr 19 01:28:26 2014 +0000
@@ -1,3 +1,21 @@
+/* Copyright (c) 2010-2011 mbed.org, MIT License
+*
+* Permission is hereby granted, free of charge, to any person obtaining a copy of this software
+* and associated documentation files (the "Software"), to deal in the Software without
+* restriction, including without limitation the rights to use, copy, modify, merge, publish,
+* distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the
+* Software is furnished to do so, subject to the following conditions:
+*
+* The above copyright notice and this permission notice shall be included in all copies or
+* substantial portions of the Software.
+*
+* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING
+* BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
+* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+*/
+
 #ifndef MMA8652_H
 #define MMA8652_H
 
@@ -9,6 +27,7 @@
 
 // MMA8652 internal register addresses
 #define MMA8652_STATUS 0x00
+#define MMA8652_OUT_X_MSB 0x01
 #define MMA8652_WHOAMI 0x0D
 #define MMA8652_XYZ_DATA_CFG 0x0E
 #define MMA8652_CTRL_REG1 0x2A
@@ -18,38 +37,33 @@
 {
 public:
     /**
-    * MPL3115A2 constructor
+    * MMA8652 constructor
     *
     * @param sda SDA pin
     * @param sdl SCL pin
     * @param addr addr of the I2C peripheral
     */
     MMA8652(PinName sda, PinName scl);
-    
-    /**
-    * Get the value of the WHO_AM_I register
-    *
-    * @returns DEVICE_ID value == ??
-    */
-    //uint8_t getDeviceID();
+
+  /**
+  * MMA8652 destructor
+  */
+  ~MMA8652();    
+  /**
+   * Get XYZ axis acceleration in floating point G's
+   *
+   * @param res array where acceleration data will be stored
+   */
+    void ReadXYZ(float * a);
     
-    /**
-    * Return the STATUS register value
-    *
-    * @returns STATUS register value
-    */
-    //unsigned char getStatus( void);
+   /**
+   * Get XYZ axis acceleration, signed 16 bit values
+   *
+   * @param res array where acceleration data will be stored
+   */    
+    void ReadXYZraw(int16_t * d);
+    char getWhoAmI(void);
     
-    /**
-    * Get the Accelerometer & Magnetometer values
-    * Accelerometer data is in G's
-    * MAgnetometer Data is in microteslas
-    *
-    * @returns altimeter value as float
-    */
-    void ReadXYZ(float * a);
-      
-
 private:
 
     I2C _i2c;
@@ -59,7 +73,6 @@
     
     void RegRead( char reg, char * d, int len);
 
-
 };
 
 #endif