summaryrefslogtreecommitdiffstats
path: root/avr.c
diff options
context:
space:
mode:
authorneoraider <devnull@localhost>2007-04-03 14:48:00 +0200
committerneoraider <devnull@localhost>2007-04-03 14:48:00 +0200
commitdc1306244e3a7853c31cd94c5ac3d97aa6e6c0d5 (patch)
tree758cc525af6b6fca0af22482ec51c70017dbb7fc /avr.c
downloadrc2007-rescue-dc1306244e3a7853c31cd94c5ac3d97aa6e6c0d5.tar
rc2007-rescue-dc1306244e3a7853c31cd94c5ac3d97aa6e6c0d5.zip
Neues Rescue-Programm angefangen (2)
Diffstat (limited to 'avr.c')
-rw-r--r--avr.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/avr.c b/avr.c
new file mode 100644
index 0000000..ac303d0
--- /dev/null
+++ b/avr.c
@@ -0,0 +1,16 @@
+#include "avr.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);
+}