This is for ICRS\' second generation Quadcopter

Dependencies:   mbed

Committer:
madcowswe
Date:
Fri Nov 18 18:23:33 2011 +0000
Revision:
0:0bbf2f16da9c

        

Who changed what in which revision?

UserRevisionLine numberNew contents of line
madcowswe 0:0bbf2f16da9c 1
madcowswe 0:0bbf2f16da9c 2 //General system functions
madcowswe 0:0bbf2f16da9c 3
madcowswe 0:0bbf2f16da9c 4 #include <string>
madcowswe 0:0bbf2f16da9c 5
madcowswe 0:0bbf2f16da9c 6 //
madcowswe 0:0bbf2f16da9c 7 void kill(string reason = "Killed for no reason!") {
madcowswe 0:0bbf2f16da9c 8 PWMleft = NOPOWER - 0.004;
madcowswe 0:0bbf2f16da9c 9 PWMright = NOPOWER - 0.004;
madcowswe 0:0bbf2f16da9c 10 PWMfront = NOPOWER - 0.004;
madcowswe 0:0bbf2f16da9c 11 PWMrear = NOPOWER - 0.004;
madcowswe 0:0bbf2f16da9c 12 //TODO: send this over RF as well..
madcowswe 0:0bbf2f16da9c 13 pc.printf("%s\r\n", reason.c_str());
madcowswe 0:0bbf2f16da9c 14 /*wait(0.5);
madcowswe 0:0bbf2f16da9c 15 left = 0;
madcowswe 0:0bbf2f16da9c 16 right = 0;
madcowswe 0:0bbf2f16da9c 17 front = 0;
madcowswe 0:0bbf2f16da9c 18 rear = 0;
madcowswe 0:0bbf2f16da9c 19 */
madcowswe 0:0bbf2f16da9c 20 while (1);
madcowswe 0:0bbf2f16da9c 21 }
madcowswe 0:0bbf2f16da9c 22
madcowswe 0:0bbf2f16da9c 23 //
madcowswe 0:0bbf2f16da9c 24 void wdt() {
madcowswe 0:0bbf2f16da9c 25 if (!loopalive)
madcowswe 0:0bbf2f16da9c 26 kill("Killed by WDT: loop has stalled");
madcowswe 0:0bbf2f16da9c 27 if (!commandsalive)
madcowswe 0:0bbf2f16da9c 28 kill("Killed by WDT: command starvation");
madcowswe 0:0bbf2f16da9c 29
madcowswe 0:0bbf2f16da9c 30 loopalive = 0;
madcowswe 0:0bbf2f16da9c 31 commandsalive = 0;
madcowswe 0:0bbf2f16da9c 32 }