summaryrefslogtreecommitdiff
path: root/n/line-follower/src/speed.c
diff options
context:
space:
mode:
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;
}