mbed application board demo includes lcd, pot, joystick, rgb led, websocket, mbed rtos. websocket demo url is => http://sockets.mbed.org/gordonlu/viewer

Dependencies:   C12832 EthernetInterface WebSocketClient mbed-rtos mbed

Fork of rtos_basic by mbed official

Revision:
7:71124ec77f83
Parent:
3:c92e21f305d8
Child:
8:421c13d323a0
--- a/main.cpp	Tue Jun 04 16:01:32 2013 +0100
+++ b/main.cpp	Fri Feb 06 04:11:33 2015 +0000
@@ -1,8 +1,10 @@
-#include "mbed.h"
+/*#include "mbed.h"
 #include "rtos.h"
+#include "C12832.h"
  
 DigitalOut led1(LED1);
 DigitalOut led2(LED2);
+C12832 lcd(p5, p7, p6, p8, p11);
  
 void led2_thread(void const *args) {
     while (true) {
@@ -13,9 +15,87 @@
  
 int main() {
     Thread thread(led2_thread);
-    
+      lcd.cls();
+    lcd.locate(0,3);
+    lcd.printf("mbed application board!");
     while (true) {
         led1 = !led1;
         Thread::wait(500);
     }
 }
+*/
+#include "mbed.h"
+#include "rtos.h"
+#include "C12832.h"
+
+      
+C12832 lcd(p5, p7, p6, p8, p11);
+DigitalOut myled1(LED1);
+DigitalOut myled2(LED2);
+DigitalOut myled3(LED3);
+DigitalOut myled4(LED4);
+PwmOut r (p23);
+PwmOut g (p24);
+PwmOut b (p25);
+AnalogIn pot1(p19);
+AnalogIn pot2(p20);
+BusIn joystick(p12, p13, p14, p15, p16);
+ 
+
+const int LEDNUM = 4;
+
+void rollingLed()
+{
+    static int onled = 0;
+    int led[LEDNUM] = {0,0,0,0};
+    
+    led[onled] = 1;
+    ++onled;
+    if(onled == 4) onled = 0;
+    
+    myled1 = led[0];
+    myled2 = led[1];
+    myled3 = led[2];
+    myled4 = led[3];
+}
+int main()
+{
+    int j=1;
+    lcd.cls();
+
+    r.period(0.001);
+    g.period(0.001);
+    b.period(0.001);
+      
+    r = 1;
+    g = 1;
+    b = 1;
+              
+    while(true)
+    {  
+        float pt1 = pot1.read();
+        float pt2 = pot2.read();
+        int js = joystick.read();
+        
+        
+        lcd.locate(0,1);
+        lcd.printf("Counting : %d  JoyStick:%02X",j++ , js);
+        lcd.locate(0,11);
+        lcd.printf("Pot1 : %.3f  Pot2 : %.3f", pt1,pt2);
+        lcd.locate(0,21);
+        lcd.printf("-----------Pot END-----------");
+        
+        r = 1 - pt1;
+        g = 1 - pt2;
+        
+        if(0x10 == js)b = 0; //right, turn on blue led 
+        else if (0x02 == js)  b = 1;   //left, turn of blue led
+        else if(0x01 == js)   b.write( b + 0.1); //down
+        else if(0x08 == js)   b.write( b - 0.1); //up
+        
+        printf("Pot1 : %.3f  Pot2 : %.3f  Joystick:%02X\r\n", pt1, pt2, js);
+        rollingLed();
+        Thread::wait(100);
+ 
+    }
+}
\ No newline at end of file