Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
main.cpp@0:f0b38301c780, 2010-11-09 (annotated)
- Committer:
- mindless
- Date:
- Tue Nov 09 19:23:55 2010 +0000
- Revision:
- 0:f0b38301c780
Who changed what in which revision?
| User | Revision | Line number | New 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 | } |