Example program for FRDM boards with a Freescale MMA8451Q accelerometer

Dependencies:   MMA8451Q mbed

Fork of FRDM_MMA8451Q by Freescale

Revision:
8:d797bfa9f76e
Parent:
5:bf5becf7469c
Child:
9:d4bffe27a7bf
--- a/main.cpp	Tue Feb 19 23:46:45 2013 +0000
+++ b/main.cpp	Fri Feb 21 15:33:38 2014 +0000
@@ -1,18 +1,32 @@
 #include "mbed.h"
 #include "MMA8451Q.h"
 
+#if   defined (TARGET_KL25Z) || defined (TARGET_KL46Z)
+  PinName const SDA = PTE25;
+  PinName const SCL = PTE24;
+#elif defined (TARGET_KL05Z)
+  PinName const SDA = PTB4;
+  PinName const SCL = PTB3;
+#else
+  #error TARGET NOT DEFINED
+#endif
+
 #define MMA8451_I2C_ADDRESS (0x1d<<1)
 
 int main(void) {
-    MMA8451Q acc(PTE25, PTE24, MMA8451_I2C_ADDRESS);
-    PwmOut rled(LED_RED);
-    PwmOut gled(LED_GREEN);
-    PwmOut bled(LED_BLUE);
+    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS);
+    PwmOut rled(LED1);
+    PwmOut gled(LED2);
+    PwmOut bled(LED3);
+    
+    printf("MMA8451 ID: %d\n", acc.getWhoAmI());
 
     while (true) {
-        rled = 1.0 - abs(acc.getAccX());
-        gled = 1.0 - abs(acc.getAccY());
-        bled = 1.0 - abs(acc.getAccZ());
+        float x, y, z;
+        x = rled = 1.0 - abs(acc.getAccX());
+        y = gled = 1.0 - abs(acc.getAccY());
+        z = bled = 1.0 - abs(acc.getAccZ());
         wait(0.1);
+        printf("X: %1.2f, Y: %1.2f, Z: %1.2f\n", x, y, z);
     }
 }