~

Dependencies:   mbed SimpleRGB mbed-rtos 4DGL-uLCD-SE SDFileSystem wave_player

Files at this revision

API Documentation at this revision

Comitter:
kswanson31
Date:
Tue Oct 11 03:42:42 2016 +0000
Parent:
8:38419fb4e242
Commit message:
Completed sound thread (haven't tested), formatted other threads

Changed in this revision

SDFileSystem.lib Show annotated file Show diff for this revision Revisions of this file
main.cpp Show annotated file Show diff for this revision Revisions of this file
wave_player.lib Show annotated file Show diff for this revision Revisions of this file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SDFileSystem.lib	Tue Oct 11 03:42:42 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/SDFileSystem/#c8f66dc765d4
--- a/main.cpp	Tue Oct 11 03:30:07 2016 +0000
+++ b/main.cpp	Tue Oct 11 03:42:42 2016 +0000
@@ -3,6 +3,8 @@
 #include <string>
 #include "uLCD_4DGL.h"
 #include "SimpleRGB.h"
+#include "SDFileSystem.h"
+#include "wave_player.h"
 
 #define SECOND 1000 // used with threads
 DigitalOut led(LED1); // test led
@@ -84,7 +86,7 @@
         strftime(buffer, 32, "%I:%M %p\n", localtime(&seconds));
         // lock, update time at top right with smiley at top left
         stdio_mutex.lock();
-        lcd.text_string(buffer, 5, 1, FONT_7X8, RED);
+        lcd.text_string(buffer, 8, 1, FONT_7X8, BLUE);
         lcd.text_string(":-)", 1, 1, FONT_7X8, WHITE);
         // unlock, wait for 20 sec
         stdio_mutex.unlock();
@@ -148,6 +150,10 @@
         Thread::wait(9 * SECOND);
     }
 }
+
+SDFileSystem sd(p5, p6, p7, p8, "sd"); // SD card with .wav files
+AnalogOut DACout(p18);                 // DAC for producing sound
+wave_player waver(&DACout);            // wavplayer object
 // - 2
 
 
@@ -165,33 +171,37 @@
     /* 2 calls */
     Thread thread2(uLCD_reboot_thread);
     Thread thread3(uLCD_status_thread);
-    //Thread thread4(rainbow_led_thread);
+    Thread thread4(rainbow_led_thread);
     //Thread thread5(uLCD_video_thread);
+    
+    FILE *wave_file;
+    
     // - 2
     
     
     led = 1;
     
     while(true) {
-        /* 2 speaker 'thread' calls
+        
+        /* 2 speaker 'thread' calls */
         // speaker plays mac reboot sound, error sound occasionally
         // play reboot sound
-        // wait 20
-        // error
-        // wait 20
-        // error
+        wave_file = fopen("/sd/reboot.wav","r");
+        waver.play(wave_file);
+        fclose(wave_file);
         // wait 20
-        */// - 2
-        
-        
-        // thread testing
-        led = !led;
-        Thread::wait(2000);
-        led = !led;
-        Thread::wait(1000);
-        led = !led;
-        Thread::wait(500);
-        // - test
-        
+        Thread::wait(20 * SECOND);
+        // error
+        wave_file = fopen("/sd/error.wav","r");
+        waver.play(wave_file);
+        fclose(wave_file);
+        // wait 20
+        Thread::wait(20 * SECOND);
+        // error
+        waver.play(wave_file);
+        fclose(wave_file);
+        // wait 20
+        Thread::wait(20 * SECOND);
+        // - 2
     }                // interupts will occur automatically
 }
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/wave_player.lib	Tue Oct 11 03:42:42 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/sravet/code/wave_player/#acc3e18e77ad