This is a simple device driver for the 3 axis accelerometer MMA8452 that works with mbed.

Dependents:   MMA8452_test S05APP3_routeur

Files at this revision

API Documentation at this revision

Comitter:
nherriot
Date:
Thu Oct 17 09:40:10 2013 +0000
Parent:
5:b3d0abd97e55
Commit message:
Fixing bug in write IIC methods -where register pointer was being reset to 0 as the write function was not doing a repeated 'start' for multiple register reads.... :-)

Changed in this revision

MMA8452.cpp Show annotated file Show diff for this revision Revisions of this file
diff -r b3d0abd97e55 -r 8aa5123d403f MMA8452.cpp
--- a/MMA8452.cpp	Wed Oct 16 18:55:16 2013 +0000
+++ b/MMA8452.cpp	Thu Oct 17 09:40:10 2013 +0000
@@ -240,7 +240,7 @@
     xaxis_register[0] = OUT_X_MSB;                          // this is the register we want to get data from
     //signed short s = 0;
     
-    if(m_i2c.write(mcu_address,xaxis_register,1) == 0)
+    if(m_i2c.write(mcu_address,xaxis_register,1,true) == 0)
     {
         if(m_i2c.read(mcu_address,xaxis_buffer,2) == 0)
         {
@@ -280,7 +280,7 @@
     yaxis_register[0] = OUT_Y_MSB;                          // this is the register we want to get data from
     //signed short s = 0;
     
-    if(m_i2c.write(mcu_address,yaxis_register,1) == 0)
+    if(m_i2c.write(mcu_address,yaxis_register,1,true) == 0)
     {
         if(m_i2c.read(mcu_address,yaxis_buffer,2) == 0)
         {
@@ -321,7 +321,7 @@
     zaxis_register[0] = OUT_Z_MSB;                          // this is the register we want to get data from
     //signed short s = 0;
     
-    if(m_i2c.write(mcu_address,zaxis_register,1) == 0)
+    if(m_i2c.write(mcu_address,zaxis_register,1,true) == 0)
     {
         //if(m_i2c.read(mcu_address,zaxis_buffer,2) == 0)
         if(m_i2c.read(mcu_address,zaxis,2) == 0)