summaryrefslogtreecommitdiffhomepage
path: root/digital/asserv/src/asserv/pos.c
diff options
context:
space:
mode:
authorNicolas Schodet2009-04-04 16:22:53 +0200
committerNicolas Schodet2009-04-04 16:22:53 +0200
commit1431438a2b0f3fafbafb61a4a15296164dadf5e1 (patch)
tree5d62fd3881d20756988bcf1d7af69dc53b984319 /digital/asserv/src/asserv/pos.c
parentbcfaa95e57d29918e4beb19f4f726d0336889ebd (diff)
* digital/asserv:
- added second auxiliary motor support.
Diffstat (limited to 'digital/asserv/src/asserv/pos.c')
-rw-r--r--digital/asserv/src/asserv/pos.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/digital/asserv/src/asserv/pos.c b/digital/asserv/src/asserv/pos.c
index eafd2877..0679de40 100644
--- a/digital/asserv/src/asserv/pos.c
+++ b/digital/asserv/src/asserv/pos.c
@@ -44,7 +44,7 @@
struct pos_t pos_theta, pos_alpha;
/** Auxiliaries control states. */
-struct pos_t pos_aux0;
+struct pos_t pos_aux[AC_ASSERV_AUX_NB];
/** Error saturation. */
int32_t pos_e_sat = 1023;
@@ -183,10 +183,13 @@ pos_update_single (struct state_t *state, struct pos_t *pos,
void
pos_update (void)
{
+ uint8_t i;
pos_update_polar (&state_main, &pos_theta, &pos_alpha,
counter_left_diff, counter_right_diff,
&pwm_left, &pwm_right);
- pos_update_single (&state_aux0, &pos_aux0, counter_aux0_diff, &pwm_aux0);
+ for (i = 0; i < AC_ASSERV_AUX_NB; i++)
+ pos_update_single (&state_aux[i], &pos_aux[i], counter_aux_diff[i],
+ &pwm_aux[i]);
}
/** Reset position control state. To be called when the position control is