A flickering 27-way LED light program

Dependencies:   mbed

Revision:
0:51ca5dbf6087
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/main.cpp	Mon Sep 12 11:13:22 2016 +0000
@@ -0,0 +1,49 @@
+#include "mbed.h"
+
+//Appearantly I cannot declare leds as volatile. I whish I could.
+DigitalOut ledRed(LED_RED);
+DigitalOut ledBlue(LED_BLUE);
+DigitalOut ledGreen(LED_GREEN);
+
+Serial pc(USBTX, USBRX, "YOLO");
+
+Ticker ticker;
+
+volatile bool red = false;
+volatile bool green = false;
+volatile bool blue = false;
+
+void tick() {
+    if (red) {
+        ledRed = !ledRed;
+    }
+    if (green) {
+        ledGreen = !ledGreen;
+    }
+    if (blue) {
+        ledBlue = !ledBlue;
+    }
+}
+
+int main()
+{    
+    ticker.attach(&tick, 1); //schedule the tick function to be executed every second.
+    
+    pc.baud(115200);
+    pc.printf("Press 'r', 'g' or 'b' to toggle the RGB LEDs \r\n");
+    
+    while (true) {
+        char c = pc.getc();
+        switch(c) {
+        case 'r':
+            red = !red;
+            break;
+        case 'b':
+            blue = !blue;
+            break;
+        case 'g':
+            green = !green;
+            break;
+        }
+    }
+}
\ No newline at end of file