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

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);
     }