Dream Team / Mbed 2 deprecated rtos5waytactile

Dependencies:   4DGL-uLCD-SE PinDetect mbed-rtos mbed

Files at this revision

API Documentation at this revision

Comitter:
jbaker66
Date:
Mon Feb 29 18:04:52 2016 +0000
Commit message:
hey george;

Changed in this revision

4DGL-uLCD-SE.lib Show annotated file Show diff for this revision Revisions of this file
PinDetect.lib Show annotated file Show diff for this revision Revisions of this file
Speaker.h 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
mbed-rtos.lib Show annotated file Show diff for this revision Revisions of this file
mbed.bld Show annotated file Show diff for this revision Revisions of this file
diff -r 000000000000 -r 4322dd0d6f9f 4DGL-uLCD-SE.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/4DGL-uLCD-SE.lib	Mon Feb 29 18:04:52 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/4180_1/code/4DGL-uLCD-SE/#2cb1845d7681
diff -r 000000000000 -r 4322dd0d6f9f PinDetect.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PinDetect.lib	Mon Feb 29 18:04:52 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/AjK/code/PinDetect/#cb3afc45028b
diff -r 000000000000 -r 4322dd0d6f9f Speaker.h
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Speaker.h	Mon Feb 29 18:04:52 2016 +0000
@@ -0,0 +1,19 @@
+#include "mbed.h"
+// a new class to play a note on Speaker based on PwmOut class
+class Speaker
+{
+public:
+    Speaker(PinName pin) : _pin(pin) {
+// _pin(pin) means pass pin to the Speaker Constructor
+    }
+// class method to play a note based on PwmOut class
+    void PlayNote(float frequency, float duration, float volume) {
+        _pin.period(1.0/frequency);
+        _pin = volume/2.0;
+        wait(duration);
+        _pin = 0.0;
+    }
+
+private:
+    PwmOut _pin;
+};
\ No newline at end of file
diff -r 000000000000 -r 4322dd0d6f9f main.cpp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Feb 29 18:04:52 2016 +0000
@@ -0,0 +1,154 @@
+#include "mbed.h"
+#include "rtos.h"
+#include "uLCD_4DGL.h"
+#include "Speaker.h"
+#include "PinDetect.h"
+
+int * frequency = NULL;
+enum Color { red, green, blue };
+Color myCol = red;
+
+uLCD_4DGL uLCD(p28,p27,p30); // serial tx, serial rx, reset pin
+PwmOut RGBLED_r(p23);
+PwmOut RGBLED_g(p24);
+PwmOut RGBLED_b(p25);
+Speaker mySpeaker(p21); //setup speaker thread;
+PinDetect up(p20);
+PinDetect left(p19);
+PinDetect down(p17);
+PinDetect right(p16);
+PinDetect center(p15);
+
+Serial pc(USBTX, USBRX);
+void center_button(void);
+
+// Thread 1
+// print counter into first line and wait for 1 s
+//void uLCD_thread(void const *args)
+//{
+//    while(true) {       // thread loop
+//        uLCD.locate(0,0);
+//        uLCD.printf("Frequency: %d",*frequency);
+//        uLCD.locate(3,0);
+//        //uLCD.printf("Color: %d", (int)Color));
+//        Thread::wait(1000);
+//    }
+//}
+ 
+// Thread 2
+// print counter into third line and wait for 0.5s
+void sound_thread(void const *args)
+{
+    while(true) {       // thread loop
+        Thread::signal_wait(0x2);
+        mySpeaker.PlayNote(*frequency, .1, .8);
+    }
+}
+
+// Thread 3
+// RGB LED
+//void RGB_thread(void const *args)
+//{
+//    while(true) {         // thread loop
+//        Thread::signal_wait(0x3);    // wait 0.5s
+//        switch (myCol) {
+//            case red :
+//                RGBLED_r = .5;
+//                RGBLED_g = 0;
+//                RGBLED_b = 0;
+//                break;
+//            case green :
+//                RGBLED_r = 0;
+//                RGBLED_g = 0.5;
+//                RGBLED_b = 0;
+//                break;
+//            case blue :
+//                RGBLED_r = 0;
+//                RGBLED_g = 0;
+//                RGBLED_b = 0.5;
+//                break;
+//        }
+//    }
+//}
+
+
+
+//
+
+
+
+//Thread t1(uLCD_thread);
+
+//Thread t3(RGB_thread);
+
+int main() {
+    Thread t2(sound_thread);
+    pc.printf("Initializing...\n");
+    
+    
+    *frequency = 440;
+    
+    
+    
+    
+//    center.attach_asserted(&center_button);
+//    center.setSampleFrequency();
+//    up.attach_asserted(&up_button);
+//    up.setSampleFrequency();
+//    left.attach_asserted(&left_button);
+//    left.setSampleFrequency();
+//    down.attach_asserted(&down_button);
+//    down.setSampleFrequency();
+//    right.attach_asserted(&right_button);
+//    right.setSampleFrequency();
+    
+    
+    
+    while(true) {         // thread loop
+        pc.printf("is this even working?\n");
+        Thread::wait(1000);
+        t2.signal_set(0x2);
+        
+    }
+}
+
+//void center_button(void) {
+//    t2.signal_set(0x2);
+//}
+//void up_button(void) {
+//    *frequency += 50;
+//}
+//void down_button(void) {
+//    *frequency -= 50;
+//}
+//void left_button(void) {
+//    switch (myCol) {
+//        case red :
+//            myCol = blue;
+//            break;
+//        case green :
+//            myCol = red;
+//            break;
+//        case blue :
+//            myCol = green;
+//            break;
+//    }
+//    t3.signal_set(0x3);
+//}
+//void right_button(void) {
+//    switch (myCol) {
+//        case red :
+//            myCol = green;
+//            break;
+//        case green :
+//            myCol = blue;
+//            break;
+//        case blue :
+//            myCol = red;
+//            break;
+//    }
+//    t3.signal_set(0x3);
+//}
+
+
+
diff -r 000000000000 -r 4322dd0d6f9f mbed-rtos.lib
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed-rtos.lib	Mon Feb 29 18:04:52 2016 +0000
@@ -0,0 +1,1 @@
+https://mbed.org/users/mbed_official/code/mbed-rtos/#b4c5542476ba
diff -r 000000000000 -r 4322dd0d6f9f mbed.bld
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mbed.bld	Mon Feb 29 18:04:52 2016 +0000
@@ -0,0 +1,1 @@
+http://mbed.org/users/mbed_official/code/mbed/builds/252557024ec3
\ No newline at end of file