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@12:67a06c9b69d5, 2012-10-20 (annotated)
- Committer:
- maetugr
- Date:
- Sat Oct 20 17:28:28 2012 +0000
- Revision:
- 12:67a06c9b69d5
- Parent:
- 8:d25ecdcdbeb5
mit unterbrochenem RC signal, kompass fertig mit speicherung!
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
maetugr | 0:0c4fafa398b4 | 1 | #include "LED.h" |
maetugr | 0:0c4fafa398b4 | 2 | #include "mbed.h" |
maetugr | 0:0c4fafa398b4 | 3 | |
maetugr | 1:5a64632b1eb9 | 4 | LED::LED() : Led(LED1, LED2, LED3, LED4){ |
maetugr | 1:5a64632b1eb9 | 5 | roller = 0; |
maetugr | 1:5a64632b1eb9 | 6 | } |
maetugr | 0:0c4fafa398b4 | 7 | |
maetugr | 0:0c4fafa398b4 | 8 | void LED::shownumber(int number) { |
maetugr | 0:0c4fafa398b4 | 9 | Led = number; |
maetugr | 0:0c4fafa398b4 | 10 | } |
maetugr | 0:0c4fafa398b4 | 11 | |
maetugr | 1:5a64632b1eb9 | 12 | void LED::ride(int times = 1) { |
maetugr | 1:5a64632b1eb9 | 13 | Led = 0; |
maetugr | 0:0c4fafa398b4 | 14 | for (int j = 0; j < times; j++) { |
maetugr | 1:5a64632b1eb9 | 15 | for(int i=0; i < 4; i++) { |
maetugr | 0:0c4fafa398b4 | 16 | Led = 1 << i; |
maetugr | 1:5a64632b1eb9 | 17 | wait(0.2); |
maetugr | 0:0c4fafa398b4 | 18 | } |
maetugr | 0:0c4fafa398b4 | 19 | } |
maetugr | 1:5a64632b1eb9 | 20 | Led = 0; |
maetugr | 1:5a64632b1eb9 | 21 | } |
maetugr | 1:5a64632b1eb9 | 22 | |
maetugr | 1:5a64632b1eb9 | 23 | void LED::roll(int times = 1) { |
maetugr | 1:5a64632b1eb9 | 24 | Led = 0; |
maetugr | 1:5a64632b1eb9 | 25 | for (int j = 0; j < (times*2); j++) { |
maetugr | 1:5a64632b1eb9 | 26 | for(int roller = 1; roller <= 4; roller++) { |
maetugr | 1:5a64632b1eb9 | 27 | tilt(roller); |
maetugr | 1:5a64632b1eb9 | 28 | wait(0.1); |
maetugr | 1:5a64632b1eb9 | 29 | } |
maetugr | 1:5a64632b1eb9 | 30 | } |
maetugr | 1:5a64632b1eb9 | 31 | roller = 0; |
maetugr | 1:5a64632b1eb9 | 32 | Led = 0; |
maetugr | 1:5a64632b1eb9 | 33 | } |
maetugr | 1:5a64632b1eb9 | 34 | |
maetugr | 1:5a64632b1eb9 | 35 | void LED::rollnext() { |
maetugr | 1:5a64632b1eb9 | 36 | if (roller >= 4) |
maetugr | 1:5a64632b1eb9 | 37 | roller = 0; |
maetugr | 8:d25ecdcdbeb5 | 38 | roller++; |
maetugr | 1:5a64632b1eb9 | 39 | tilt(roller); |
maetugr | 0:0c4fafa398b4 | 40 | } |
maetugr | 0:0c4fafa398b4 | 41 | |
maetugr | 0:0c4fafa398b4 | 42 | void LED::tilt(int index) { |
maetugr | 12:67a06c9b69d5 | 43 | Led = Led ^ (1 << (index-1)); //XOR |
maetugr | 12:67a06c9b69d5 | 44 | } |
maetugr | 12:67a06c9b69d5 | 45 | |
maetugr | 12:67a06c9b69d5 | 46 | void LED::set(int index) { |
maetugr | 12:67a06c9b69d5 | 47 | Led = Led | (1 << (index-1)); //OR |
maetugr | 12:67a06c9b69d5 | 48 | } |
maetugr | 12:67a06c9b69d5 | 49 | |
maetugr | 12:67a06c9b69d5 | 50 | void LED::reset(int index) { |
maetugr | 12:67a06c9b69d5 | 51 | Led = Led & ~(1 << (index-1)); //OR |
maetugr | 12:67a06c9b69d5 | 52 | } |
maetugr | 12:67a06c9b69d5 | 53 | |
maetugr | 12:67a06c9b69d5 | 54 | int LED::check(int index) { |
maetugr | 12:67a06c9b69d5 | 55 | return Led & (1 << (index-1)); |
maetugr | 1:5a64632b1eb9 | 56 | } |
maetugr | 1:5a64632b1eb9 | 57 | |
maetugr | 1:5a64632b1eb9 | 58 | void LED::operator=(int value) { |
maetugr | 1:5a64632b1eb9 | 59 | Led = value; |
maetugr | 0:0c4fafa398b4 | 60 | } |