adfdadf

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

Fork of rtos_mutex by mbed official

Files at this revision

API Documentation at this revision

Comitter:
ashea6
Date:
Fri Feb 26 18:05:50 2016 +0000
Parent:
5:840304520132
Child:
7:2122726e9b46
Commit message:
okay

Changed in this revision

4DGL-uLCD-SE.lib Show annotated file Show diff for this revision Revisions of this file
ShiftBrite.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
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/4DGL-uLCD-SE.lib	Fri Feb 26 18:05:50 2016 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/4180_1/code/4DGL-uLCD-SE/#2cb1845d7681
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ShiftBrite.lib	Fri Feb 26 18:05:50 2016 +0000
@@ -0,0 +1,1 @@
+http://developer.mbed.org/users/jwaters9/code/ShiftBrite/#466ea48e852a
--- a/main.cpp	Fri Feb 26 16:20:20 2016 +0000
+++ b/main.cpp	Fri Feb 26 18:05:50 2016 +0000
@@ -1,8 +1,87 @@
 #include "mbed.h"
 #include "rtos.h"
+#include "SDFileSystem.h"
+#include "wave_player.h"
+//additional for Lab4
+//#include "PinDetect.h"
+#include "uLCD_4DGL.h"
+#include <vector>
+#include <string>
+#include "ShiftBrite.h"
+
+uLCD_4DGL uLCD(p28,p27,p29); // create a global LCD object
+//uLCD_4DGL uLCD(p28, p27, p29);
+SDFileSystem sd(p5, p6, p7, p8, "sd"); //SD card
+DigitalIn detectSD(p12); //connect CD 
+AnalogOut DACout(p18); //speaker
+wave_player waver(&DACout);  //wave player library
+//DigitalOut latch(p15);
+//DigitalOut enable(p16);
+SPI spi(p11, p12, p13);
+DigitalOut led1(LED1);
+DigitalOut led2(LED2);
+ShiftBrite myBrite(p15,p16,spi); //latch, enable, spi
+
 
 Mutex stdio_mutex; 
 
+//shiftbrite
+/*void RGB_LED(int red, int green, int blue) {
+    unsigned int low_color=0;
+    unsigned int high_color=0;
+    high_color=(blue<<4)|((red&0x3C0)>>6);
+    low_color=(((red&0x3F)<<10)|(green));
+    spi.write(high_color);
+    spi.write(low_color);
+    latch=1;
+    latch=0;
+}
+*/
+
+void wav_thread(void const *args) {
+    FILE *wave_file;
+    printf("\n\n\nHello, wave world!\n");
+    wave_file=fopen("/sd/beethoven.wav","r");
+    //while(1){
+       waver.play(wave_file);
+    //}
+    fclose(wave_file);
+}
+
+void shift_thread(void const *args){
+
+int r,g,b;
+r=g=b=50;
+    
+    while(1) {
+        myBrite.Write(255,255,255);
+        Thread::wait(500);
+        myBrite.Write(0,0,255);
+        Thread::wait(500);
+        myBrite.Write(0,255,0);
+        Thread::wait(500);
+        myBrite.Write(255,0,0);
+        Thread::wait(500);
+        
+        myBrite.Brightness(r,g,b);
+        if(r<1023)
+            r+=50;
+        else
+            r=50;
+        g=b=r;
+        
+    }
+
+    
+}
+
+void led2_thread(void const *args) {
+    while (true) {
+        led2 = !led2;
+        Thread::wait(1000);
+    }
+}
+
 void notify(const char* name, int state) {
     stdio_mutex.lock();
     printf("%s: %d\n\r", name, state);
@@ -17,8 +96,19 @@
 }
 
 int main() {
+    Thread wav_thread(wav_thread);
+    Thread thread(led2_thread);
+    Thread shift_thread(shift_thread);
+
+    
+    while (true) {
+        led1 = !led1;
+        Thread::wait(500);
+        }
+        
     Thread t2(test_thread, (void *)"Th 2");
     Thread t3(test_thread, (void *)"Th 3");
     
     test_thread((void *)"Th 1");
+    
 }