Oskar Weigl
/
Quadcopterv2
This is for ICRS\' second generation Quadcopter
System.h@0:0bbf2f16da9c, 2011-11-18 (annotated)
- Committer:
- madcowswe
- Date:
- Fri Nov 18 18:23:33 2011 +0000
- Revision:
- 0:0bbf2f16da9c
Who changed what in which revision?
User | Revision | Line number | New 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 | } |