Christian Weiß
/
BertlTemplate3
BertlTemplate3
BertlPingPongBlink.cpp
- Committer:
- Wizo
- Date:
- 2018-11-15
- Revision:
- 0:5fd8e02b1e0e
File content as of revision 0:5fd8e02b1e0e:
#include "mbed.h" #include "Serial_HL.h" #include "Bertl14.h" #include "BertlObjects.h" // main=2^0 LS ENC 2^2 BusOut boardPow(p30, P1_6, P1_7); // ls5 nur beim Betrl15 // AnalogInHL ls1(p18), ls2(p16), ls3(p19), ls4(p17); // B14 //AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17); // B15 void ButonBlinker(); //void MotorTest (); void BackW (); void ForW (); void BlinkTask(); int direction = 0; //0 = zrueck und 1 = vorwaerts Timer t1; int main(void) { boardPow=1; wait_ms(10); InitBertl(); pex.useISR=0; leds=9; pex.ClearLeds(); t1.start(); pex.WaitUntilButtonPressed(); while(1) { //ButonBlinker(); //MotorTest (); BackW(); wait_ms(1000); ForW(); wait_ms(1000); } return 1; } void ButonBlinker() { pex.ReadButtons(); if (pex.IsButton(BTN_FLL)) { pex.SetLeds(LED_FL1|LED_FL2); } if (pex.IsButton(BTN_FRR)) { pex.SetLeds(LED_FR1|LED_FR2); } wait_ms(100); pex.ClearLeds(); wait_ms(100); } /* void MotorTest () { if (pex.IsButton(BTN_FRR||BTN_FLL)) { mL.SetPow(-0.2); mR.SetPow(-0.2); } else if (pex.IsButton(BTN_BR||BTN_BL)) { mL.SetPow(0.2); mR.SetPow(0.2); } //mL.SetPow(0.2); //mR.SetPow(0.2); //wait_ms(2000); //mL.SetPow(-0.2); //mR.SetPow(-0.2); //wait_ms(2000); } */ void BackW () { pex.ClearLeds(); mL.SetPow(0.3); mR.SetPow(0.3); direction = 0; pex.SetLeds(LED_FL1|LED_FL2); pex.SetLeds(LED_FR1|LED_FR2); while (1 ) { pex.ReadButtons(); BlinkTask(); if( pex.IsAnyFrontButton() ) { break; } } mL.SetPow(0); mR.SetPow(0); } void ForW () { pex.ClearLeds(); mL.SetPow(-0.3); mR.SetPow(-0.3); direction = 1; pex.SetLeds(LED_BL1|LED_BL2); pex.SetLeds(LED_BR1|LED_BR2); while (1 ) { pex.ReadButtons(); BlinkTask(); if( pex.IsAnyBackButton() ) { break; } } mL.SetPow(0); mR.SetPow(0); } void BlinkTask() { if( t1.read_ms()>100 ) // alle 100ms = 10Hz { t1.reset(); // timer neu starten if(direction == 0) { pex.ToggleLeds(LED_BL1| LED_BR1); pex.ToggleLeds(LED_BL2| LED_BR2); } else { pex.ToggleLeds(LED_FL1| LED_FR1); pex.ToggleLeds(LED_FL2| LED_FR2); } } }