Shape shifter - controller

Dependencies:   DebounceIn MMA8451Q USBDevice mbed

Revision:
0:a80df48a0372
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Wed Sep 16 23:40:54 2015 +0000
@@ -0,0 +1,63 @@
+#include "mbed.h"
+//#include "PinDetect.h"
+#include "MMA8451Q.h"
+#include "USBKeyboard.h"
+
+USBKeyboard key;
+
+// define I2C Pins and address for KL25Z. Taken from default sample code.
+PinName const SDA = PTE25;
+PinName const SCL = PTE24;
+//PinDetect P0(D2);
+
+#define MMA8451_I2C_ADDRESS (0x1d<<1)
+
+//serial connection to PC via USB
+//Serial pc(USBTX, USBRX);
+
+int main(void)
+{
+    //configure on-board I2C accelerometer on KL25Z
+    MMA8451Q acc(SDA, SCL, MMA8451_I2C_ADDRESS); 
+    //map read acceleration to PWM output on red status LED
+
+    while (true) {
+        float x, y, z;
+            x = acc.getAccX();
+            y = acc.getAccY();
+            wait(0.05f);
+            
+            while (y<-0.2){            
+                key.keyCode(LEFT_ARROW);
+                x = acc.getAccX();
+                y = acc.getAccY();
+                //key.printf("left arrow\n");
+                if (x<-1.9)
+                    {
+                    //   key.printf("Salto\n");
+                    key.keyCode(UP_ARROW);
+                    wait(0.3f);                  
+                    }
+                }
+            while (y>0.2){
+                key.keyCode(RIGHT_ARROW);
+                x = acc.getAccX();
+                y = acc.getAccY();
+                //key.printf("right arrow\n");
+                if (x<-1.9)
+                    {
+                    //   key.printf("Salto\n");
+                    key.keyCode(UP_ARROW);
+                    wait(0.3f);
+                    }
+                }      
+            if (x<-1.9)
+                {
+             //   key.printf("Salto\n");
+                key.keyCode(UP_ARROW);
+                x = acc.getAccX();
+                wait(0.3f);
+               }
+            //wait(0.5);*/
+        }
+    }