Thomas B. / Mbed 2 deprecated DimmingKnight2

Dependencies:   mbed

Committer:
mindless
Date:
Tue Nov 09 19:23:55 2010 +0000
Revision:
0:f0b38301c780

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mindless 0:f0b38301c780 1 #include "mbed.h"
mindless 0:f0b38301c780 2
mindless 0:f0b38301c780 3 // create PWM objects for leds
mindless 0:f0b38301c780 4 PwmOut led1(LED1),led2(LED2),led3(LED3),led4(LED4);
mindless 0:f0b38301c780 5
mindless 0:f0b38301c780 6 // start que
mindless 0:f0b38301c780 7 float a=0.25f,b=0,c=-0.25f,d=-0.5f;
mindless 0:f0b38301c780 8
mindless 0:f0b38301c780 9 // init down or uplight
mindless 0:f0b38301c780 10 int aa=0,bb=0,cc=0,dd=0;
mindless 0:f0b38301c780 11
mindless 0:f0b38301c780 12 void blinky(int &dir,float &val){
mindless 0:f0b38301c780 13 if (val>=0.5){
mindless 0:f0b38301c780 14 dir=1;
mindless 0:f0b38301c780 15 } else if (val<-1) {
mindless 0:f0b38301c780 16 dir=0;
mindless 0:f0b38301c780 17 }
mindless 0:f0b38301c780 18
mindless 0:f0b38301c780 19 if (dir==0) {
mindless 0:f0b38301c780 20 val+=0.025f;
mindless 0:f0b38301c780 21 } else {
mindless 0:f0b38301c780 22 val-=0.025f;
mindless 0:f0b38301c780 23 };
mindless 0:f0b38301c780 24 }
mindless 0:f0b38301c780 25
mindless 0:f0b38301c780 26 int globaldir=0;
mindless 0:f0b38301c780 27 int cnt=0;
mindless 0:f0b38301c780 28 int main() {
mindless 0:f0b38301c780 29 while (1) {
mindless 0:f0b38301c780 30 // Toggle directions every 3rd cycle
mindless 0:f0b38301c780 31 if ((!aa && d<-1) || (!dd && a<-1)) {
mindless 0:f0b38301c780 32 cnt+=1;
mindless 0:f0b38301c780 33 if ( cnt>(3-1) ) {
mindless 0:f0b38301c780 34 cnt=0;
mindless 0:f0b38301c780 35 if (!globaldir) {
mindless 0:f0b38301c780 36 d=0.00f,c=-0.25f,b=-0.50f,a=-0.75f;
mindless 0:f0b38301c780 37 } else {
mindless 0:f0b38301c780 38 a=0.00f,b=-0.25f,c=-0.50f,d=-0.75f;
mindless 0:f0b38301c780 39 }
mindless 0:f0b38301c780 40 aa=0,bb=0,cc=0,dd=0;
mindless 0:f0b38301c780 41 globaldir=(!globaldir);
mindless 0:f0b38301c780 42 }
mindless 0:f0b38301c780 43 }
mindless 0:f0b38301c780 44
mindless 0:f0b38301c780 45 // calc led-values
mindless 0:f0b38301c780 46 blinky(aa,a);
mindless 0:f0b38301c780 47 blinky(bb,b);
mindless 0:f0b38301c780 48 blinky(cc,c);
mindless 0:f0b38301c780 49 blinky(dd,d);
mindless 0:f0b38301c780 50
mindless 0:f0b38301c780 51 // set leds
mindless 0:f0b38301c780 52 led1 = a;
mindless 0:f0b38301c780 53 led2 = b;
mindless 0:f0b38301c780 54 led3 = c;
mindless 0:f0b38301c780 55 led4 = d;
mindless 0:f0b38301c780 56
mindless 0:f0b38301c780 57 wait(0.010);
mindless 0:f0b38301c780 58 }
mindless 0:f0b38301c780 59 }