summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorprot2004-12-16 10:28:15 +0000
committerprot2004-12-16 10:28:15 +0000
commit10713d68a2db1c61516a1c823cf855ea858ff497 (patch)
tree9f7772f534783f70430439bf971e6e236f69a476
parent9f0fe8403094c9c33a2f3a9a8f0959dd10c95ed7 (diff)
Corrected calculation of linepos (division by zero)
Doubled range of linepos (from -31 to +31)
-rw-r--r--n/line-follower/src/linesensor.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/n/line-follower/src/linesensor.c b/n/line-follower/src/linesensor.c
index 545d48f..e425e66 100644
--- a/n/line-follower/src/linesensor.c
+++ b/n/line-follower/src/linesensor.c
@@ -70,7 +70,11 @@ linesensor_poll (void)
a >>= 1;
}
- linepos = sum / lineActiveBits;
+ if(lineActiveBits != 0)
+ // 2(sum/lineActiveBits - 7.5) (sum is [0,15])
+ linepos = (2 * sum) / lineActiveBits - 15;
+ else
+ linepos = 0;
}
/** Poll linesensor and returns the state on the RS232 output.