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.

Dependencies:   mbed MODI2C

Committer:
maetugr
Date:
Fri Feb 14 14:17:32 2014 +0000
Revision:
40:2ca410923691
Parent:
32:e2e02338805e
now with MPU6050 before taking it too FlyBed2

Who changed what in which revision?

UserRevisionLine numberNew 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 }