Uses the APDS_9960 Digital Proximity, Ambient Light, RGB and Gesture Sensor library to play detected gesture sounds on a speaker from the SDcard

Dependencies:   mbed SDFileSystem wave_player

Revision:
11:ea43b0b83222
Parent:
10:e8adab2fb829
Child:
12:63c81930b5d9
--- a/main.cpp	Mon Mar 09 21:17:34 2015 +0000
+++ b/main.cpp	Wed Mar 11 14:56:59 2015 +0000
@@ -1,15 +1,12 @@
 #include "mbed.h"
 #include "glibr.h"
-//#include <Wire.h>
-//#include <SparkFun_APDS9960.h>
+#include "SDFileSystem.h"
+#include "wave_player.h"
 
-// Pins
-//#define APDS9960_INT    2 // Needs to be an interrupt pin
-
-// Constants
-
-// Global Variables
 glibr test(p9,p10);
+SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card
+AnalogOut DACout(p18);
+wave_player waver(&DACout);
 //SparkFun_APDS9960 apds = SparkFun_APDS9960();
 int isr_flag = 0;
 DigitalOut myled(LED1);
@@ -36,6 +33,20 @@
         pc.printf("Something went wrong during gesture sensor init!\n\r");
     }
 
+    FILE *Up;
+    FILE *Down;
+    FILE *Left;
+    FILE *Right;
+    FILE *Far;
+    FILE *Near;
+
+    Up=fopen("/sd/myMusic/up.wav","r");
+    Down=fopen("/sd/myMusic/down.wav","r");
+    Left=fopen("/sd/myMusic/left.wav","r");
+    Right=fopen("/sd/myMusic/right.wav","r");
+    Far=fopen("/sd/myMusic/far.wav","r");
+    Near=fopen("/sd/myMusic/near.wav","r");
+    //   waver.play(wave_file);
     while(1) {
         /* ret = test.isGestureAvailable();
          pc.printf("Is Gesture Available?: %d\n", ret);
@@ -46,28 +57,44 @@
             switch ( test.readGesture() ) {
                 case DIR_UP:
                     pc.printf("UP\n");
+                    waver.play(Up);
                     break;
                 case DIR_DOWN:
                     pc.printf("DOWN\n");
+                    waver.play(Down);
                     break;
                 case DIR_LEFT:
                     pc.printf("LEFT\n");
+                    waver.play(Left);
                     break;
                 case DIR_RIGHT:
                     pc.printf("RIGHT\n");
+                    waver.play(Right);
                     break;
                 case DIR_NEAR:
                     pc.printf("NEAR\n");
+                    waver.play(Near);
                     break;
                 case DIR_FAR:
                     pc.printf("FAR\n");
+                    waver.play(Far);
                     break;
                 default:
                     pc.printf("NONE\n");
             }
         }
 
-        wait(1);
+
+        //   wait(1);
 
     }
+     fclose(Up);
+     fclose(Down);
+     fclose(Left);
+     fclose(Right);
+     fclose(Near);
+     fclose(Far);
+     fclose(Left);
+     
+
 }
\ No newline at end of file