complete1

Dependencies:   mbed

main.cpp

Committer:
NamSom
Date:
2015-10-14
Revision:
4:4a2d17de21cf
Parent:
3:3bf1a7613e06

File content as of revision 4:4a2d17de21cf:

#include "mbed.h"


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 inbutton1(D3);
DigitalIn inbutton2(D4);
DigitalIn inbutton3(D5);
DigitalIn inbutton6(D6);
DigitalIn inbutton7(D7);

float delay = 0.5;

void checkDelay()
{
    if(inbutton6==1) {
        if(delay<2.0) delay+=0.3;
    }
    if(inbutton7==1) {
        if(delay>0.4) delay-=0.3;
    }
}

int checkState()
{
    checkDelay();
    if(inbutton1==1 && inbutton2==0 && inbutton3==0) {
        return 1;
    }
    if(inbutton1==0 && inbutton2==1 && inbutton3==0) {
        return 2;
    }
    if(inbutton1==0 && inbutton2==0 && inbutton3==1) {
        return 3;

    } else {
        return 0;
    }
}

int pt1()
{
    myled0=1;
    wait(delay);
    myled0=0;
    if(checkState()!=1) return 0;
    myled1=1;
    wait(delay);
    myled1=0;
    if(checkState()!=1) return 0;
    myled2=1;
    wait(delay);
    myled2=0;
    if(checkState()!=1) return 0;
    myled3=1;
    wait(delay);
    myled3=0;
    if(checkState()!=1) return 0;
    myled4=1;
    wait(delay);
    myled4=0;
    if(checkState()!=1) return 0;
    myled5=1;
    wait(delay);
    myled5=0;
    if(checkState()!=1) return 0;
    myled6=1;
    wait(delay);
    myled6=0;
    if(checkState()!=1) return 0;
    myled7=1;
    wait(delay);
    myled7=0;

    return 0;
}

int pt2()
{
    myled3=1;
    myled4=1;
    wait(delay);
    myled3=0;
    myled4=0;
    if(checkState()!=2) return 0;
    myled2=1;
    myled5=1;
    wait(delay);
    myled2=0;
    myled5=0;
    if(checkState()!=2) return 0;
    myled1=1;
    myled6=1;
    wait(delay);
    myled1=0;
    myled6=0;
    if(checkState()!=2) return 0;
    myled0=1;
    myled7=1;
    wait(delay);
    myled0=0;
    myled7=0;
    if(checkState()!=2) return 0;
    myled0=1;
    myled7=1;
    wait(delay);
    myled0=0;
    myled7=0;
    if(checkState()!=2) return 0;
    myled1=1;
    myled6=1;
    wait(delay);
    myled1=0;
    myled6=0;
    if(checkState()!=2) return 0;
    myled2=1;
    myled5=1;
    wait(delay);
    myled2=0;
    myled5=0;
    if(checkState()!=2) return 0;
    myled3=1;
    myled4=1;
    wait(delay);
    myled3=0;
    myled4=0;

    return 0;
}

int pt3()
{
    myled0=1;
    myled2=1;
    myled4=1;
    myled6=1;
    wait(delay);
    myled0=0;
    myled2=0;
    myled4=0;
    myled6=0;
    if(checkState()!=3) return 0;
    myled1=1;
    myled3=1;
    myled5=1;
    myled7=1;
    wait(delay);
    myled1=0;
    myled3=0;
    myled5=0;
    myled7=0;
    return 0;
}

void black()
{
    myled0=0;
    myled1=0;
    myled2=0;
    myled3=0;
    myled4=0;
    myled5=0;
    myled6=0;
    myled7=0;
}


int main()
{
    while(1) {
        if(inbutton1==1 && inbutton2==0 && inbutton3==0)

        {
            pt1();
        }
        if(inbutton1==0 && inbutton2==1 && inbutton3==0) {
            pt2();
        }
        if(inbutton1==0 && inbutton2==0 && inbutton3==1) {
            pt3();

        } else {
            black();
        }
    }
}