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

main.cpp

Committer:
gordonlu
Date:
2015-02-06
Revision:
7:71124ec77f83
Parent:
3:c92e21f305d8
Child:
8:421c13d323a0

File content as of revision 7:71124ec77f83:

/*#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) {
        led2 = !led2;
        Thread::wait(1000);
    }
}
 
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);
 
    }
}