summaryrefslogtreecommitdiff
path: root/n/line-follower/src/speed.c
diff options
context:
space:
mode:
authorschodet2005-01-18 11:51:11 +0000
committerschodet2005-01-18 11:51:11 +0000
commit2ebd29d1b3aa8acd3f250714a7b3059373273831 (patch)
tree65d5ed00938c0df75367c17df247680124f9406d /n/line-follower/src/speed.c
parent86c65de3ae99420ca7a2af406a97ade6aa989774 (diff)
Mises à jour au Muxen
Diffstat (limited to 'n/line-follower/src/speed.c')
-rw-r--r--n/line-follower/src/speed.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/n/line-follower/src/speed.c b/n/line-follower/src/speed.c
index ea31286..861fac8 100644
--- a/n/line-follower/src/speed.c
+++ b/n/line-follower/src/speed.c
@@ -28,6 +28,9 @@
// C'est porc :
extern uint8_t motor_mode;
+/** couunter for the sequence of zeros. */
+uint16_t zeroCnt;
+
/** Statistics about pid components. */
int16_t pid_pid,pid_p,pid_i,pid_d;
@@ -203,6 +206,7 @@ speed_compute_linefol_pwm (void)
e_old = e;
if(lineActiveBits > 1)
{
+ zeroCnt = 0;
if(pwm > 0)
{
speed_left = linefol_saturate (((linefol_max_pwm * PWM_MAX) >> 8) - pwm);
@@ -216,9 +220,14 @@ speed_compute_linefol_pwm (void)
}
else
{
+ zeroCnt++;
+ if (zeroCnt > 22)
+ {
motor_mode = 2;
speed_left_aim = 0;
speed_right_aim = 0;
+ }
+
// pwm_left = 0;
// pwm_right = 0;
}