Hacking into the iClicker2 for adding remote access abilities. http://www.amazon.com/I-Clicker-2-I-CLICKER/dp/1429280476

Dependencies:   mbed

Revision:
2:77c859f607ac
Parent:
1:7ea05d050158
--- a/main.cpp	Mon Dec 08 20:31:02 2014 +0000
+++ b/main.cpp	Tue Dec 09 13:43:26 2014 +0000
@@ -1,11 +1,12 @@
 #include "mbed.h"
 #include <string>
 #include <vector>
+#include "Speaker.h"
 
 // These are used for setting the serial buffer size and how long the mbed should wait between updates
 static const float SLEEP_TIME = 0.5;    // x86 background process will only have updates every 1 second in ideal situations
 static const float PIN_DELAY = 0.05;   // the time to wait for allowing the relays to fully cycle between transitions
-static const float POWER_UP_TIME = 5.0; // seconds for the device clicker to go from an OFF to ON state
+static const float POWER_UP_TIME = 0; // seconds for the device clicker to go from an OFF to ON state
 static const int NUM_CMDS = 8;
 
 // Used for signaling to the main loop if new serial data has arrived by the serial rx interrupt
@@ -23,6 +24,12 @@
 // Global string for storing the received serial data on the serial rx interrupt
 string gStr;
 
+Speaker mySpeaker(p18);
+//AnalogOut DACout(p18);
+//wave_player waver(&DACout);
+//LocalFileSystem local("local");
+//FILE *wave_file;
+
 
 void rx_interrupt(void)
 {
@@ -93,6 +100,8 @@
     commands[5] = "clickerC\n";
     commands[6] = "clickerD\n";
     commands[7] = "clickerE\n";
+    
+    //wave_file = fopen("/local/p.wav","r");
 
     // Initialize all relays to off state
     for (int i=0; i<6; i++)
@@ -151,7 +160,11 @@
                     break;
 
                 case 3:  // sayHere
-                    pc.printf("    Audio currently unsupported\r\n");
+                    pc.printf("    Audio playing...\r\n");
+                    mySpeaker.PlayNote(969.0,1.5,1.0);
+                    //wave_file=fopen("/local/P.WAV","r");
+                    //waver.play(wave_file);
+                    //fclose(wave_file);
                     break;
 
                 case 4: // clickerA