From 98c623dc8969151c0872a2d102d486f9a735d614 Mon Sep 17 00:00:00 2001 From: neoraider Date: Tue, 3 Apr 2007 12:47:03 +0000 Subject: Neues Rescue-Programm angefangen --- Navigation.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 Navigation.c (limited to 'Navigation.c') diff --git a/Navigation.c b/Navigation.c new file mode 100644 index 0000000..9a3f69d --- /dev/null +++ b/Navigation.c @@ -0,0 +1,46 @@ +#include "Navigation.h" + + +void Navigation::start() { + int r = m_speed, l = m_speed; + + + switch(m_richtung) + { + case -2: + l = 0; + break; + case -1: + l /= 4; + break; + case 1: + r /= 4; + break; + case 2: + r = 0; + } + + m_board->motor(MOTOR_PORT_LINKS, l); + m_board->motor(MOTOR_PORT_RECHTS, r); + + m_gestartet = true; +} + +void Navigation::stop() { + m_board->motor(MOTOR_PORT_LINKS, 0); + m_board->motor(MOTOR_PORT_RECHTS, 0); + + m_gestartet = false; +} + +void Navigation::setSpeed(int speed) { + m_speed = (speed > 255) ? 255 : (speed < -255) ? -255 : speed; + + if(m_gestartet) start(); +} + +void Navigation::setRichtung(int richtung) { + m_richtung = richtung; + + if(m_gestartet) start(); +} -- cgit v1.2.3