Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: 4DGL-uLCD-SE PinDetect mbed-rtos mbed
Revision 0:4322dd0d6f9f, committed 2016-02-29
- Comitter:
- jbaker66
- Date:
- Mon Feb 29 18:04:52 2016 +0000
- Commit message:
- hey george;
Changed in this revision
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(¢er_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