From c4d20dd9ffa1c479de2858dd1b77ff014d1073dd Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 20 Apr 2008 19:17:07 +0200 Subject: * digital/asserv/src/asserv: - added separate setting of position control for theta/alpha. - disable angular position control for go to the dispenser. --- digital/asserv/src/asserv/pos.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'digital/asserv/src/asserv/pos.c') diff --git a/digital/asserv/src/asserv/pos.c b/digital/asserv/src/asserv/pos.c index 02cde731..49c7f7eb 100644 --- a/digital/asserv/src/asserv/pos.c +++ b/digital/asserv/src/asserv/pos.c @@ -99,8 +99,10 @@ pos_update (void) int16_t pid_theta, pid_alpha; int32_t diff_theta, diff_alpha; /* Update current shaft positions. */ - pos_theta.cur += counter_left_diff + counter_right_diff; - pos_alpha.cur += counter_right_diff - counter_left_diff; + if (!(state_main.variant & 1)) + pos_theta.cur += counter_left_diff + counter_right_diff; + if (!(state_main.variant & 2)) + pos_alpha.cur += counter_right_diff - counter_left_diff; /* Compute PID. */ diff_theta = pos_theta.cons - pos_theta.cur; diff_alpha = pos_alpha.cons - pos_alpha.cur; -- cgit v1.2.3