Sound update

Dependencies:   4DGL-uLCD-SE Physac-MBED PinDetect SDFileSystem mbed-rtos mbed

Revision:
21:df9e8f45e14c
Parent:
20:73e4f12277bd
Child:
23:214c0c828d98
--- a/main.cpp	Mon Dec 05 20:51:36 2022 +0000
+++ b/main.cpp	Tue Dec 06 22:09:51 2022 +0000
@@ -5,7 +5,7 @@
 #include "hockey.h"
 #include "tetris.h"
 
-//#include "Speaker.h"
+#include "Speaker.h"
 #include "SDFileSystem.h"
 #include "uLCD_4DGL.h"
 
@@ -27,15 +27,14 @@
 Mutex uLCD_mutex;
 
 BluefruitController blue(p13,p14);
-BusIn navSwitch(p15, p16, p17, p18, p19);
+BusIn navSwitch(p15, p16, p17, p19, p20);
 
 SDFileSystem sd(p5, p6, p7, p8, "sd");
 PwmOut Rgb(p23);
 PwmOut rGb(p24);
 PwmOut rgB(p25);
-PwmOut PWMout(p21);
-//AnalogOut DACout(p20);
-//wave_player waver(&DACout);
+AnalogOut DACout(p18);
+wave_player waver(&DACout);
 
 
 
@@ -44,7 +43,10 @@
 ////////////////////////////////
 // The following variables are *not* from "globals.h" and are not meant for
 // reference outside of main.cpp
-DigitalOut myled(LED1);
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+DigitalOut led3(LED3);
+DigitalOut led4(LED4);
 
 
 
@@ -53,26 +55,30 @@
 //////////////////////
 void audioThread()
 {
-    while(true) Thread::wait(1000);
-    /*
-    FILE *wave_file;
-    PWMout.period(1.0/400000.0);
-    while (game1 == false && game2 == false) {
-        wave_file=fopen("/sd/MiiMenu.wav","r");
-        waver.play(wave_file);
-        fclose(wave_file);
+    while (true) {
+        FILE *wave_file;
+        while (game1 == false && game2 == false) {
+            led2 = true;
+            wave_file=fopen("/sd/MiiMenu.wav","r");
+            waver.play(wave_file);
+            fclose(wave_file);
+            led2 = false;
+        }
+        while (game1 == true && game2 == false) {
+            led2 = true;
+            wave_file=fopen("/sd/tetris.wav","r");
+            waver.play(wave_file);
+            fclose(wave_file);
+            led2 = false;
+        }
+        while (game2 == true && game1 == false) {
+            led2 = true;
+            wave_file=fopen("/sd/WiiPlayAirHockey.wav","r");
+            waver.play(wave_file);
+            fclose(wave_file);
+            led2 = false;
+        }
     }
-    while (game1 == true && game2 == false) {
-        wave_file=fopen("/sd/tetris.wav","r");
-        waver.play(wave_file);
-        fclose(wave_file);
-    }
-    while (game2 == true && game1 == false) {
-        wave_file=fopen("/sd/WiiPlayAirHockey.wav","r");
-        waver.play(wave_file);
-        fclose(wave_file);
-    }
-    */
 }
 
 void ledThread()
@@ -109,9 +115,9 @@
 
     // The main thread goes on to blink LEDs
     while (true) {
-        myled = 1;
+        led1 = 1;
         Thread::wait(500);
-        myled = 0;
+        led1 = 0;
         Thread::wait(500);
         
         PRINTF("[MAIN] Thread stacks: %lu %lu %lu %lu\r\n",