From 10713d68a2db1c61516a1c823cf855ea858ff497 Mon Sep 17 00:00:00 2001 From: prot Date: Thu, 16 Dec 2004 10:28:15 +0000 Subject: Corrected calculation of linepos (division by zero) Doubled range of linepos (from -31 to +31) --- n/line-follower/src/linesensor.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) 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. -- cgit v1.2.3