Alexander M / Mbed 2 deprecated LEDDemo2

Dependencies:   mbed

main.cpp

Committer:
fuenfundachtzig
Date:
2010-11-07
Revision:
0:f7be784c668a

File content as of revision 0:f7be784c668a:


// show a "progress bar" using the four blue LED
//
// by (85)

#include "mbed.h"

PwmOut led1(LED1);
PwmOut led2(LED2);
PwmOut led3(LED3);
PwmOut led4(LED4);

float done = 0.0;
int mode = 0;

float zerolim(float a) {
    // returns a^2 for a >= 0
    return a < 0. ? 0. : a*a;
}

int main() {
    while (1) {
        if (!(mode & 1)) {
            done += 0.01;
            if (done >= 1.1)
                ++mode;
        }
        if (mode & 1) {
            done -= 0.01;
            if (done <= -0.1)
                ++mode;
        }
/*
        // interesting, but not intended
        led1 = (done*4)*(done*4);
        led2 = (done*4-1)*(done*4-1);
        led3 = (done*4-2)*(done*4-2);
        led4 = (done*4-3)*(done*4-3);
*/
/*
        // linear
        led1 = done*4;
        led2 = done*4-1;
        led3 = done*4-2;
        led4 = done*4-3;
*/        
        led1 = zerolim(done*4);
        led2 = zerolim(done*4-1);
        led3 = zerolim(done*4-2);
        led4 = zerolim(done*4-3);
        wait(0.01);
    }
}