led

Dependencies:   mbed

main.cpp

Committer:
Peeraya
Date:
2015-10-25
Revision:
2:e06d96952cef
Parent:
1:a3a6e8f878da

File content as of revision 2:e06d96952cef:

#include "mbed.h"

//------------------------------------
// Hyperterminal configuration
// 9600 bauds, 8-bit data, no parity
//------------------------------------

Serial pc(SERIAL_TX, SERIAL_RX);

DigitalOut myled0(D15);
DigitalOut myled1(D14);
DigitalOut myled2(D13);
DigitalOut myled3(D12);
DigitalOut myled4(D11);
DigitalOut myled5(D10);
DigitalOut myled6(D9);
DigitalOut myled7(D8);

DigitalIn inbutton(D3);


int main()
{

    uint8_t state_menu=0;
    uint8_t state_show=0;
    uint8_t state_exit =0;
    uint8_t data;

    myled0 = 0;myled1 = 0;myled2 = 0;myled3 = 0;myled4 = 0;myled5 = 0;myled6 = 0;myled7 = 0;
    pc.printf("Select Mode\n");
    while(1) {
        if(state_show == 0) {
            pc.printf("Menu\n");
            pc.printf("1.Choose LED pattern\n");
            pc.printf("2.Print status\n");
            state_show =1;
        }
        if(pc.readable()) {
            data = pc.getc();
            pc.printf("\n");
            state_show =0;
            state_exit =0;

            switch(data) {
                case '1':
                    do {
                        if(state_menu == 0) {
                            pc.printf("Choose LED pattern\n");
                            pc.printf("a.Pattern1\n");
                            pc.printf("d.Pattern2\n");
                            pc.printf("s.Exit\n");
                            state_menu = 1;
                        }
                        if(pc.readable()) {
                            data = pc.getc();
                            pc.printf("\n");
                            state_menu=0;
                       
                                    if(data=='a'||data='A')
                                    {
                                      myled0=1;
                                    wait(1);
                                    myled0=0;
                                    
                                    myled1=1;
                                    wait(1);
                                    myled1=0;
                                    
                                    myled2=1;
                                    wait(1);
                                    myled2=0;
   
                                    myled3=1;
                                    wait(1);
                                    myled3=0;
                                    
                                    myled4=1;
                                    wait(1);
                                    myled4=0;
                                    
                                    myled5=1;
                                    wait(1);
                                    myled5=0;
                                    
                                    myled6=1;
                                    wait(1);
                                    myled6=0;
                                    
                                    myled7=1;
                                    wait(1);
                                    myled7=0;  
                                    }
                                    if(data=='d'||data=='D')
                                    {
                                    myled0 =1;
                                    myled1 =1;
                                    myled4 =1;
                                    myled5 =1;
                                    wait(1);
                                    myled0 =0;
                                    myled1 =0;
                                    myled4 =0;
                                    myled5 =0;
                                    
                                    myled2 =1;
                                    myled3 =1;
                                    myled6 =1;
                                    myled7 =1;
                                    wait(1);
                                    myled2 =0;
                                    myled3 =0;
                                    myled6 =0;
                                    myled7 =0;
                                    }

                            }
                        

                    } while(state_exit ==0);
                    pc.printf("\n");
                    break;

                case '2':

                        if(state_menu == 0) 
                        {
                            pc.printf("LED status\n");
                            state_menu = 1;
                        }
                        if(inbutton == 0) 
                        {
                            pc.printf("OFF\n");
                            state_menu=1;
                        }
                        if(inbutton == 1) 
                        {
                            pc.printf("ON\n");
                            state_menu=1;
                        }
                        
                    pc.printf("\n\n");
                    break;

                default:
                    pc.printf("plz select 1 or 2 only\n");
                    pc.printf("\n\n");
                    break;
            }
        }

    }
}