NOT FINISHED YET!!! My first try to get a self built fully working Quadrocopter based on an mbed, a self built frame and some other more or less cheap parts.
LED/LED.cpp@32:e2e02338805e, 2013-04-02 (annotated)
- Committer:
- maetugr
- Date:
- Tue Apr 02 16:57:56 2013 +0000
- Revision:
- 32:e2e02338805e
version of the testvideo: http://www.youtube.com/watch?v=UMTZ6K-T_kc
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
maetugr | 32:e2e02338805e | 1 | #include "LED.h" |
maetugr | 32:e2e02338805e | 2 | #include "mbed.h" |
maetugr | 32:e2e02338805e | 3 | |
maetugr | 32:e2e02338805e | 4 | LED::LED() : Led(LED1, LED2, LED3, LED4){ |
maetugr | 32:e2e02338805e | 5 | roller = 0; |
maetugr | 32:e2e02338805e | 6 | } |
maetugr | 32:e2e02338805e | 7 | |
maetugr | 32:e2e02338805e | 8 | void LED::shownumber(int number) { |
maetugr | 32:e2e02338805e | 9 | Led = number; |
maetugr | 32:e2e02338805e | 10 | } |
maetugr | 32:e2e02338805e | 11 | |
maetugr | 32:e2e02338805e | 12 | void LED::ride(int times = 1) { |
maetugr | 32:e2e02338805e | 13 | Led = 0; |
maetugr | 32:e2e02338805e | 14 | for (int j = 0; j < times; j++) { |
maetugr | 32:e2e02338805e | 15 | for(int i=0; i < 4; i++) { |
maetugr | 32:e2e02338805e | 16 | Led = 1 << i; |
maetugr | 32:e2e02338805e | 17 | wait(0.2); |
maetugr | 32:e2e02338805e | 18 | } |
maetugr | 32:e2e02338805e | 19 | } |
maetugr | 32:e2e02338805e | 20 | Led = 0; |
maetugr | 32:e2e02338805e | 21 | } |
maetugr | 32:e2e02338805e | 22 | |
maetugr | 32:e2e02338805e | 23 | void LED::roll(int times = 1) { |
maetugr | 32:e2e02338805e | 24 | Led = 0; |
maetugr | 32:e2e02338805e | 25 | for (int j = 0; j < (times*2); j++) { |
maetugr | 32:e2e02338805e | 26 | for(int roller = 1; roller <= 4; roller++) { |
maetugr | 32:e2e02338805e | 27 | tilt(roller); |
maetugr | 32:e2e02338805e | 28 | wait(0.1); |
maetugr | 32:e2e02338805e | 29 | } |
maetugr | 32:e2e02338805e | 30 | } |
maetugr | 32:e2e02338805e | 31 | roller = 0; |
maetugr | 32:e2e02338805e | 32 | Led = 0; |
maetugr | 32:e2e02338805e | 33 | } |
maetugr | 32:e2e02338805e | 34 | |
maetugr | 32:e2e02338805e | 35 | void LED::rollnext() { |
maetugr | 32:e2e02338805e | 36 | if (roller >= 4) |
maetugr | 32:e2e02338805e | 37 | roller = 0; |
maetugr | 32:e2e02338805e | 38 | roller++; |
maetugr | 32:e2e02338805e | 39 | tilt(roller); |
maetugr | 32:e2e02338805e | 40 | } |
maetugr | 32:e2e02338805e | 41 | |
maetugr | 32:e2e02338805e | 42 | void LED::tilt(int index) { |
maetugr | 32:e2e02338805e | 43 | Led = Led ^ (1 << (index-1)); //XOR |
maetugr | 32:e2e02338805e | 44 | } |
maetugr | 32:e2e02338805e | 45 | |
maetugr | 32:e2e02338805e | 46 | void LED::set(int index) { |
maetugr | 32:e2e02338805e | 47 | Led = Led | (1 << (index-1)); //OR |
maetugr | 32:e2e02338805e | 48 | } |
maetugr | 32:e2e02338805e | 49 | |
maetugr | 32:e2e02338805e | 50 | void LED::reset(int index) { |
maetugr | 32:e2e02338805e | 51 | Led = Led & ~(1 << (index-1)); //OR |
maetugr | 32:e2e02338805e | 52 | } |
maetugr | 32:e2e02338805e | 53 | |
maetugr | 32:e2e02338805e | 54 | int LED::check(int index) { |
maetugr | 32:e2e02338805e | 55 | return Led & (1 << (index-1)); |
maetugr | 32:e2e02338805e | 56 | } |
maetugr | 32:e2e02338805e | 57 | |
maetugr | 32:e2e02338805e | 58 | void LED::operator=(int value) { |
maetugr | 32:e2e02338805e | 59 | Led = value; |
maetugr | 32:e2e02338805e | 60 | } |