Ben Laskowski
/
Larsen2
A second version of the Larsen scanner, this time using the mbed's PwmOut library.
Revision 0:2f868430865c, committed 2010-02-27
- Comitter:
- benbitwonder
- Date:
- Sat Feb 27 20:11:32 2010 +0000
- Commit message:
Changed in this revision
main.cpp | Show annotated file Show diff for this revision Revisions of this file |
mbed.bld | Show annotated file Show diff for this revision Revisions of this file |
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/main.cpp Sat Feb 27 20:11:32 2010 +0000 @@ -0,0 +1,65 @@ +#include "mbed.h" + +PwmOut onb_led1(LED1); +PwmOut onb_led2(LED2); +PwmOut onb_led3(LED3); +PwmOut onb_led4(LED4); + +#define led_fade 0.10 //The multiplier for one time step of fade + +int main(void) { + //A flag to indicate which direction we should rotate + bool flag = 0; + //the states of the outputs + char outstates = 1; + + onb_led1.period_ms(5); + onb_led2.period_ms(5); + onb_led3.period_ms(5); + onb_led4.period_ms(5); + + //Infinite loop + while(1) { + wait(0.25); + if (!flag) { + outstates *= 2; + if ((outstates>>3)&&1) flag=1; + } else { + outstates /=2; + if (outstates==1) flag=0; + } + + switch(outstates){ + case(1):{ + onb_led1=1.0f; + onb_led2=led_fade*(onb_led2); + onb_led3=led_fade*(onb_led3); + onb_led4=led_fade*(onb_led4); + break; + } + case(2):{ + onb_led1=led_fade*(onb_led1); + onb_led2=1.0f; + onb_led3=led_fade*(onb_led3); + onb_led4=led_fade*(onb_led4); + break; + } + case(4):{ + onb_led1=led_fade*(onb_led1); + onb_led2=led_fade*(onb_led2); + onb_led3=1.0f; + onb_led4=led_fade*(onb_led4); + break; + } + case(8):{ + onb_led1=led_fade*(onb_led1); + onb_led2=led_fade*(onb_led2); + onb_led3=led_fade*(onb_led3); + onb_led4=1.0f; + break; + } + } + } +} + + \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mbed.bld Sat Feb 27 20:11:32 2010 +0000 @@ -0,0 +1,1 @@ +http://mbed.org/users/mbed_official/code/mbed/builds/49a220cc26e0