Dependencies: 4DGL-uLCD-SE mbed-rtos mbed
Diff: main.cpp
- Revision:
- 1:554209140cec
- Parent:
- 0:471e3038d16a
--- a/main.cpp Mon Feb 27 01:45:59 2017 +0000 +++ b/main.cpp Mon Feb 27 04:00:50 2017 +0000 @@ -8,7 +8,12 @@ DigitalOut led3(LED3); DigitalOut led4(LED4); -RGBLed myRGBled(p23,p22,p21); //RGB PWM pins +// RGBLed myRGBled(p21,p22,p23); //RGB PWM pins + +Serial bluemod(p28,p27); +PwmOut red(p21); +PwmOut green(p22); +PwmOut blue(p23); uLCD_4DGL uLCD(p9, p10, p11); @@ -20,13 +25,9 @@ Mutex lk_LCD; void rgb_t3() { + while (true) { - myRGBled.write(1.0,0.0,0.0); //red - Thread::wait(2000); - myRGBled.write(0.0,1.0,0.0); //green - Thread::wait(2000); - myRGBled.write(0.0,0.0,1.0); //blue - Thread::wait(2000); + } } @@ -56,11 +57,32 @@ } } + + int main() { + // myRGBled.write(0.0, 0.0, 0.0); + char bred=0; + char bgreen=0; + char bblue=0; + red = green = blue = 0; + t3.start(rgb_t3); t1.start(lcd_t1); t2.start(lcd_t2); + while (true) { + if (bluemod.getc()=='!') { + if (bluemod.getc()=='C') { //color data packet + bred = bluemod.getc(); // RGB color values + bgreen = bluemod.getc(); + bblue = bluemod.getc(); + if (bluemod.getc()==char(~('!' + 'C' + bred + bgreen + bblue))) { //checksum OK? + red = bred/255.0; //send new color to RGB LED PWM outputs + green = bgreen/255.0; + blue = bblue/255.0; + } + } + } led1 = !led1; Thread::wait(500); }