Dependencies: 4DGL-uLCD-SE mbed-rtos mbed
main.cpp
- Committer:
- jderemer3
- Date:
- 2017-02-27
- Revision:
- 1:554209140cec
- Parent:
- 0:471e3038d16a
File content as of revision 1:554209140cec:
#include "mbed.h" #include "rtos.h" #include "RGBLed.h" #include "uLCD_4DGL.h" DigitalOut led1(LED1); DigitalOut led2(LED2); DigitalOut led3(LED3); DigitalOut led4(LED4); // 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); Thread t1; Thread t2; Thread t3; Thread t4; Mutex lk_LCD; void rgb_t3() { while (true) { } } void lcd_t1() { while (true) { for (int i = 0; i < 10; i++) { lk_LCD.lock(); uLCD.locate(2,2); uLCD.printf("\n Hello World! \nCount by one is %d!\n", i); lk_LCD.unlock(); Thread::wait(1000); } } } void lcd_t2() { while (true) { for (int j = 0; j < 20; j += 2) { lk_LCD.lock(); uLCD.locate(4,4); uLCD.printf("\n Hello World! \nCount by two is %d!\n", j); lk_LCD.unlock(); Thread::wait(2000); } } } 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); } }