Letft Curve, Right Curve, Forward

Dependencies:   BertlLib mbed

Fork of BertlTemplate2 by michael hollegha

Committer:
TFuchsbichler
Date:
Mon Feb 29 07:50:08 2016 +0000
Revision:
2:d40301306dd7
dfssfdfsd

Who changed what in which revision?

UserRevisionLine numberNew contents of line
TFuchsbichler 2:d40301306dd7 1 #include "mbed.h"
TFuchsbichler 2:d40301306dd7 2 #include "Serial_HL.h"
TFuchsbichler 2:d40301306dd7 3 #include "Bertl14.h"
TFuchsbichler 2:d40301306dd7 4 #include "BertlObjects.h"
TFuchsbichler 2:d40301306dd7 5
TFuchsbichler 2:d40301306dd7 6 BusOut boardPow(p30, P1_6,P1_7);
TFuchsbichler 2:d40301306dd7 7
TFuchsbichler 2:d40301306dd7 8 Timer t_main;
TFuchsbichler 2:d40301306dd7 9 Timer t_blink;
TFuchsbichler 2:d40301306dd7 10
TFuchsbichler 2:d40301306dd7 11 void Forward();
TFuchsbichler 2:d40301306dd7 12 void RightCurve();
TFuchsbichler 2:d40301306dd7 13 void LeftCurve();
TFuchsbichler 2:d40301306dd7 14
TFuchsbichler 2:d40301306dd7 15 int main(void) {
TFuchsbichler 2:d40301306dd7 16 boardPow=1; wait_ms(10);
TFuchsbichler 2:d40301306dd7 17 InitBertl();
TFuchsbichler 2:d40301306dd7 18 pex.useISR=0; leds=9;
TFuchsbichler 2:d40301306dd7 19 pex.ClearLeds();
TFuchsbichler 2:d40301306dd7 20 pex.WaitUntilFrontButtonPressed();
TFuchsbichler 2:d40301306dd7 21 t_main.start();
TFuchsbichler 2:d40301306dd7 22 t_blink.start();
TFuchsbichler 2:d40301306dd7 23
TFuchsbichler 2:d40301306dd7 24 while(1) {
TFuchsbichler 2:d40301306dd7 25 pex.ReadButtons();
TFuchsbichler 2:d40301306dd7 26 if(pex.IsButton(BTN_FM)) Forward();
TFuchsbichler 2:d40301306dd7 27 if(pex.IsButton(BTN_FRR)) RightCurve();
TFuchsbichler 2:d40301306dd7 28 if(pex.IsButton(BTN_FLL)) LeftCurve();
TFuchsbichler 2:d40301306dd7 29 }
TFuchsbichler 2:d40301306dd7 30 }
TFuchsbichler 2:d40301306dd7 31
TFuchsbichler 2:d40301306dd7 32 void Forward() {
TFuchsbichler 2:d40301306dd7 33 t_main.reset();
TFuchsbichler 2:d40301306dd7 34 t_blink.reset();
TFuchsbichler 2:d40301306dd7 35 mL.SetPow(0.3);mR.SetPow(0.3);
TFuchsbichler 2:d40301306dd7 36
TFuchsbichler 2:d40301306dd7 37 while (t_main.read_ms() < 5000) {
TFuchsbichler 2:d40301306dd7 38 if (t_blink.read_ms() > 100) {
TFuchsbichler 2:d40301306dd7 39 t_blink.reset();
TFuchsbichler 2:d40301306dd7 40 pex.ToggleLeds(LED_FL1|LED_FR1);
TFuchsbichler 2:d40301306dd7 41 }
TFuchsbichler 2:d40301306dd7 42 }
TFuchsbichler 2:d40301306dd7 43 pex.ClearLeds();
TFuchsbichler 2:d40301306dd7 44 mL.SetPow(0);mR.SetPow(0);
TFuchsbichler 2:d40301306dd7 45 }
TFuchsbichler 2:d40301306dd7 46
TFuchsbichler 2:d40301306dd7 47 void RightCurve() {
TFuchsbichler 2:d40301306dd7 48 t_main.reset();
TFuchsbichler 2:d40301306dd7 49 t_blink.reset();
TFuchsbichler 2:d40301306dd7 50 mL.SetPow(0.3);mR.SetPow(0.15);
TFuchsbichler 2:d40301306dd7 51
TFuchsbichler 2:d40301306dd7 52 while (t_main.read_ms() < 5000) {
TFuchsbichler 2:d40301306dd7 53 if (t_blink.read_ms() > 100) {
TFuchsbichler 2:d40301306dd7 54 t_blink.reset();
TFuchsbichler 2:d40301306dd7 55 pex.ToggleLeds(LED_FR1);
TFuchsbichler 2:d40301306dd7 56 }
TFuchsbichler 2:d40301306dd7 57 }
TFuchsbichler 2:d40301306dd7 58 pex.ClearLeds();
TFuchsbichler 2:d40301306dd7 59 mL.SetPow(0);mR.SetPow(0);
TFuchsbichler 2:d40301306dd7 60 }
TFuchsbichler 2:d40301306dd7 61
TFuchsbichler 2:d40301306dd7 62 void LeftCurve() {
TFuchsbichler 2:d40301306dd7 63 t_main.reset();
TFuchsbichler 2:d40301306dd7 64 t_blink.reset();
TFuchsbichler 2:d40301306dd7 65 mL.SetPow(0.15);mR.SetPow(0.3);
TFuchsbichler 2:d40301306dd7 66
TFuchsbichler 2:d40301306dd7 67 while (t_main.read_ms() < 5000) {
TFuchsbichler 2:d40301306dd7 68 if (t_blink.read_ms() > 100) {
TFuchsbichler 2:d40301306dd7 69 t_blink.reset();
TFuchsbichler 2:d40301306dd7 70 pex.ToggleLeds(LED_FL1);
TFuchsbichler 2:d40301306dd7 71 }
TFuchsbichler 2:d40301306dd7 72 }
TFuchsbichler 2:d40301306dd7 73 pex.ClearLeds();
TFuchsbichler 2:d40301306dd7 74 mL.SetPow(0);mR.SetPow(0);
TFuchsbichler 2:d40301306dd7 75 }