Rasenmaeher_Angabe

Dependencies:   BertlLib mbed

RasenMaeher.cpp

Committer:
hollegha2
Date:
2018-06-12
Revision:
5:952090ddc8eb
Child:
6:5d2d394eb087

File content as of revision 5:952090ddc8eb:


#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);
AnalogInHL ls1(p18), ls2(p16), ls3(p20), ls4(p19), ls5(p17); // B15

// Alle Funktionen die den Bertl bewegen werden mit
// ausgeschalteten Motoren betreten und mit ausgeschalteten Motoren
// wieder verlassen

void ForewardUntilWall();

void SomeStepsBack();

void TurnLeft();

void TurnRight();

void FrontBlinkerTask();

void BackBlinkerTask();

// Line==left ret 1   Line==right ret 2
int CheckLineSensors();

int main(void)
{
    boardPow=3; wait_ms(10);
    InitBertl(); leds=9;
    pex.ClearLeds();
    
    int dir;
    while(1)
    {
        ForewardUntilWall();
        dir = CheckLineSensors();
        wait_ms(200); // for debugging
        SomeStepsBack();
        wait_ms(200); // for debugging
        if( dir==1 )
          TurnLeft();
        else
          TurnRight();
        wait_ms(200); // for debugging
    }
    
    return 1;
}

void ForewardUntilWall()
{
  // Motorten einschalten
  while(1)
  {
    FrontBlinkerTask();
    // CheckLineSensors();
    // für Aufgabe 3 CheckButtons()
    // if( Button_pressed or LinSensor )
    //    break;
  }
  // Motoren ausschalten
}

void SomeStepsBack()
{
  // Motoren auf rückwärts
  // wait_ms(100);
  // Motoren ausschalten
}

void TurnLeft()
{
}

void TurnRight()
{
}

void FrontBlinkerTask()
{
}

void BackBlinkerTask()
{
}