summaryrefslogtreecommitdiffhomepage
path: root/digital/asserv/src/asserv/speed.c
diff options
context:
space:
mode:
authorNicolas Schodet2008-04-17 23:51:47 +0200
committerNicolas Schodet2008-04-17 23:51:47 +0200
commit707f39c85ea1f20f436dbcd08f9de51ffa609a03 (patch)
tree5f909dd0ca8a54ad31eac684f6a2cacb8de1bc33 /digital/asserv/src/asserv/speed.c
parent8add28be0060c0e23a79128b45d4992bd66c65fd (diff)
* digital/asserv/src/assserv:
- speed will finish the movement only if the current mode is speed.
Diffstat (limited to 'digital/asserv/src/asserv/speed.c')
-rw-r--r--digital/asserv/src/asserv/speed.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/digital/asserv/src/asserv/speed.c b/digital/asserv/src/asserv/speed.c
index 39da4f14..a3bb6666 100644
--- a/digital/asserv/src/asserv/speed.c
+++ b/digital/asserv/src/asserv/speed.c
@@ -110,7 +110,8 @@ speed_update (void)
speed_update_by (&speed_theta, &pos_theta);
speed_update_by (&speed_alpha, &pos_alpha);
/* Check for completion. */
- if ((speed_theta.use_pos || speed_alpha.use_pos)
+ if (state_main.mode == MODE_SPEED
+ && (speed_theta.use_pos || speed_alpha.use_pos)
&& (!speed_theta.use_pos || speed_theta.cur == 0)
&& (!speed_alpha.use_pos || speed_alpha.cur == 0))
{
@@ -122,7 +123,8 @@ speed_update (void)
/* Update speed. */
speed_update_by (&speed_aux0, &pos_aux0);
/* Check for completion. */
- if (speed_aux0.use_pos && speed_aux0.cur == 0)
+ if (state_aux0.mode == MODE_SPEED
+ && speed_aux0.use_pos && speed_aux0.cur == 0)
state_finish (&state_aux0);
}
}