summaryrefslogtreecommitdiffhomepage
path: root/digital/asserv/src/asserv/speed.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/speed.c
parentbcfaa95e57d29918e4beb19f4f726d0336889ebd (diff)
* digital/asserv:
- added second auxiliary motor support.
Diffstat (limited to 'digital/asserv/src/asserv/speed.c')
-rw-r--r--digital/asserv/src/asserv/speed.c10
1 files changed, 7 insertions, 3 deletions
diff --git a/digital/asserv/src/asserv/speed.c b/digital/asserv/src/asserv/speed.c
index b9e6a714..5c221b7e 100644
--- a/digital/asserv/src/asserv/speed.c
+++ b/digital/asserv/src/asserv/speed.c
@@ -41,15 +41,17 @@
struct speed_t speed_theta, speed_alpha;
/** Auxiliaries speed control states. */
-struct speed_t speed_aux0;
+struct speed_t speed_aux[AC_ASSERV_AUX_NB];
/** Initialise speed control states. */
void
speed_init (void)
{
+ uint8_t i;
speed_theta.pos = &pos_theta;
speed_alpha.pos = &pos_alpha;
- speed_aux0.pos = &pos_aux0;
+ for (i = 0; i < AC_ASSERV_AUX_NB; i++)
+ speed_aux[i].pos = &pos_aux[i];
}
/** Update current speed according to a speed consign. */
@@ -147,7 +149,9 @@ speed_update_single (struct state_t *state, struct speed_t *speed)
void
speed_update (void)
{
+ uint8_t i;
speed_update_double (&state_main, &speed_theta, &speed_alpha);
- speed_update_single (&state_aux0, &speed_aux0);
+ for (i = 0; i < AC_ASSERV_AUX_NB; i++)
+ speed_update_single (&state_aux[i], &speed_aux[i]);
}