From 72a92126009f81d64d58500a8784786e3c525076 Mon Sep 17 00:00:00 2001 From: Miroslav Lichvar Date: Wed, 12 Mar 2014 12:51:02 +0100 Subject: [PATCH] Don't always step clock on PI servo reset. The initial check if the clock should be stepped always passed after the servo was reset (e.g. from clock sanity check). Fix the condition to step only when the threshold is exceeded. Signed-off-by: Miroslav Lichvar --- pi.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pi.c b/pi.c index 171ff55..52d4c2f 100644 --- a/pi.c +++ b/pi.c @@ -116,8 +116,8 @@ static double pi_sample(struct servo *servo, else if (s->drift > s->maxppb) s->drift = s->maxppb; - if (!s->first_update || - (s->max_f_offset && (s->max_f_offset < fabs(offset))) || + if ((s->first_update && + s->max_f_offset && (s->max_f_offset < fabs(offset))) || (s->max_offset && (s->max_offset < fabs(offset)))) *state = SERVO_JUMP; else