From e26a1dc73313098cef235918d237f9b1a6e4cb5f Mon Sep 17 00:00:00 2001 From: neoraider Date: Wed, 4 Apr 2007 12:08:03 +0000 Subject: Rescue: Weitere Grundfunktionen implementiert --- avr.cpp | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 avr.cpp (limited to 'avr.cpp') diff --git a/avr.cpp b/avr.cpp new file mode 100644 index 0000000..a5194a4 --- /dev/null +++ b/avr.cpp @@ -0,0 +1,34 @@ +#include "avr.h" +#include "adc.h" +#include "util.h" + +void setMotorSpeed(MOTOR *motor, int speed) { + if(speed > 0) { + *motor->port &= ~motor->revMask; + *motor->port |= motor->fwdMask; + } + else if(speed < 0) { + *motor->port &= ~motor->fwdMask; + *motor->port |= motor->revMask; + } + else *motor->port |= motor->fwdMask|motor->revMask; + + *motor->pwmPort = CLAMP(0, ABS(speed), 255); +} + +int getButton() { + uint16_t val = getADCValue(7); + + if(val < 144) return 5; + if(val < 228) return 4; + if(val < 304) return 3; + if(val < 376) return 2; + if(val < 600) return 1; + + return 0; +} + +void waitForButton(int i) { + while(getButton() != CLAMP(0, i, 5)); + while(getButton() != 0); +} -- cgit v1.2.3