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