WHILE_TASK 1 & 2

Dependencies:   mbed

Meine Projekte

Dieses Projekte habe ich im SS 2015 in FSST programmiert.
Task_if : While Task

Committer:
feldgrill1
Date:
Fri Apr 24 09:17:19 2015 +0000
Revision:
0:26ddfe6c824d
WHILE_TASK 1 & 2

Who changed what in which revision?

UserRevisionLine numberNew contents of line
feldgrill1 0:26ddfe6c824d 1 #include "ur_Bertl.h"
feldgrill1 0:26ddfe6c824d 2 #include "mbed.h"
feldgrill1 0:26ddfe6c824d 3 #include "const.h"
feldgrill1 0:26ddfe6c824d 4 #include "Robot.h"
feldgrill1 0:26ddfe6c824d 5
feldgrill1 0:26ddfe6c824d 6 class task_Bertl : public ur_Bertl
feldgrill1 0:26ddfe6c824d 7 {
feldgrill1 0:26ddfe6c824d 8 public:
feldgrill1 0:26ddfe6c824d 9 void TurnRight() {
feldgrill1 0:26ddfe6c824d 10 TurnLeft();
feldgrill1 0:26ddfe6c824d 11 TurnLeft();
feldgrill1 0:26ddfe6c824d 12 TurnLeft();
feldgrill1 0:26ddfe6c824d 13 }
feldgrill1 0:26ddfe6c824d 14 void Move2Boxes() {
feldgrill1 0:26ddfe6c824d 15 Move();
feldgrill1 0:26ddfe6c824d 16 Move();
feldgrill1 0:26ddfe6c824d 17 }
feldgrill1 0:26ddfe6c824d 18 void ClearAllBeepersToTheWall();
feldgrill1 0:26ddfe6c824d 19 };
feldgrill1 0:26ddfe6c824d 20
feldgrill1 0:26ddfe6c824d 21
feldgrill1 0:26ddfe6c824d 22
feldgrill1 0:26ddfe6c824d 23 void task_Bertl :: ClearAllBeepersToTheWall()
feldgrill1 0:26ddfe6c824d 24 {
feldgrill1 0:26ddfe6c824d 25 while (FrontIsClear()) {
feldgrill1 0:26ddfe6c824d 26 if ( NextToABeeper()) {
feldgrill1 0:26ddfe6c824d 27 PickBeeper();
feldgrill1 0:26ddfe6c824d 28 Move();}
feldgrill1 0:26ddfe6c824d 29 else {
feldgrill1 0:26ddfe6c824d 30 Move();}
feldgrill1 0:26ddfe6c824d 31 }
feldgrill1 0:26ddfe6c824d 32 }
feldgrill1 0:26ddfe6c824d 33
feldgrill1 0:26ddfe6c824d 34 int main ()
feldgrill1 0:26ddfe6c824d 35 {
feldgrill1 0:26ddfe6c824d 36 task_Bertl karel;
feldgrill1 0:26ddfe6c824d 37
feldgrill1 0:26ddfe6c824d 38 // Task 1 & 2
feldgrill1 0:26ddfe6c824d 39
feldgrill1 0:26ddfe6c824d 40 while(karel.WaitUntilButtonPressed()){}
feldgrill1 0:26ddfe6c824d 41
feldgrill1 0:26ddfe6c824d 42 while(karel.IsButtonPressed(BTN_FLL)) { // Vorne Links
feldgrill1 0:26ddfe6c824d 43 karel.TurnLedOn(0x01);
feldgrill1 0:26ddfe6c824d 44 wait(0.3);
feldgrill1 0:26ddfe6c824d 45 karel.TurnLedOn(0x00);
feldgrill1 0:26ddfe6c824d 46 wait(0.3);
feldgrill1 0:26ddfe6c824d 47 }
feldgrill1 0:26ddfe6c824d 48
feldgrill1 0:26ddfe6c824d 49 while(karel.IsButtonPressed(BTN_FRR)) { // Vorne Rechts
feldgrill1 0:26ddfe6c824d 50 karel.TurnLedOn(0x04);
feldgrill1 0:26ddfe6c824d 51 wait(0.3);
feldgrill1 0:26ddfe6c824d 52 karel.TurnLedOn(0x00);
feldgrill1 0:26ddfe6c824d 53 wait(0.3);
feldgrill1 0:26ddfe6c824d 54 }
feldgrill1 0:26ddfe6c824d 55
feldgrill1 0:26ddfe6c824d 56 while(karel.IsButtonPressed(BTN_BR)) { // Hinten Rechts
feldgrill1 0:26ddfe6c824d 57 karel.TurnLedOn(0x80 | 0x40);
feldgrill1 0:26ddfe6c824d 58 wait(0.3);
feldgrill1 0:26ddfe6c824d 59 karel.TurnLedOn(0x00);
feldgrill1 0:26ddfe6c824d 60 wait(0.3);
feldgrill1 0:26ddfe6c824d 61 }
feldgrill1 0:26ddfe6c824d 62
feldgrill1 0:26ddfe6c824d 63 while(karel.IsButtonPressed(BTN_BL)) { // Hinten Links
feldgrill1 0:26ddfe6c824d 64 karel.TurnLedOn(0x20 | 0x10 );
feldgrill1 0:26ddfe6c824d 65 wait(0.3);
feldgrill1 0:26ddfe6c824d 66 karel.TurnLedOn(0x00);
feldgrill1 0:26ddfe6c824d 67 wait(0.3);
feldgrill1 0:26ddfe6c824d 68 }
feldgrill1 0:26ddfe6c824d 69
feldgrill1 0:26ddfe6c824d 70 while(!karel.IsButtonPressed(BTN_FLL && BTN_FRR && BTN_BR && BTN_BL)) {
feldgrill1 0:26ddfe6c824d 71 karel.TurnLedOn(0x00);}
feldgrill1 0:26ddfe6c824d 72
feldgrill1 0:26ddfe6c824d 73
feldgrill1 0:26ddfe6c824d 74 if(karel.IsButtonPressed(BTN_BM))
feldgrill1 0:26ddfe6c824d 75 karel.TurnLedOff(0xFF);
feldgrill1 0:26ddfe6c824d 76
feldgrill1 0:26ddfe6c824d 77 }