summaryrefslogtreecommitdiff
path: root/digital/asserv/src/asserv/twi_proto.c
diff options
context:
space:
mode:
authorNicolas Schodet2008-04-20 19:17:07 +0200
committerNicolas Schodet2008-04-20 19:17:07 +0200
commitc4d20dd9ffa1c479de2858dd1b77ff014d1073dd (patch)
treeee30f90e46f60c15ab69514f6889671c134f745d /digital/asserv/src/asserv/twi_proto.c
parent1d6b510b0394562c6e9d52990986b4ddbd0263c5 (diff)
* digital/asserv/src/asserv:
- added separate setting of position control for theta/alpha. - disable angular position control for go to the dispenser.
Diffstat (limited to 'digital/asserv/src/asserv/twi_proto.c')
-rw-r--r--digital/asserv/src/asserv/twi_proto.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/digital/asserv/src/asserv/twi_proto.c b/digital/asserv/src/asserv/twi_proto.c
index db6bac41..171a6895 100644
--- a/digital/asserv/src/asserv/twi_proto.c
+++ b/digital/asserv/src/asserv/twi_proto.c
@@ -112,6 +112,7 @@ twi_proto_callback (u8 *buf, u8 size)
case c ('s', 0):
/* Stop (set zero speed). */
state_main.mode = MODE_SPEED;
+ state_main.variant = 0;
speed_theta.use_pos = speed_alpha.use_pos = 0;
speed_theta.cons = 0;
speed_alpha.cons = 0;
@@ -119,12 +120,11 @@ twi_proto_callback (u8 *buf, u8 size)
case c ('l', 3):
/* Set linear speed controlled position consign.
* - 3b: theta consign offset. */
- state_main.mode = MODE_SPEED;
speed_theta.use_pos = speed_alpha.use_pos = 1;
speed_theta.pos_cons = pos_theta.cons;
speed_theta.pos_cons += v8_to_v32 (0, buf[2], buf[3], buf[4]);
speed_alpha.pos_cons = pos_alpha.cons;
- state_start (&state_main, 0);
+ state_start (&state_main, MODE_SPEED, 0);
break;
case c ('a', 2):
/* Set angular speed controlled position consign.
@@ -156,13 +156,12 @@ twi_proto_callback (u8 *buf, u8 size)
/* Move the arm.
* - w: new position.
* - b: speed. */
- state_aux0.mode = MODE_SPEED;
speed_aux0.use_pos = 1;
speed_aux0.pos_cons = pos_aux0.cons;
speed_aux0.pos_cons += v8_to_v32 (0, 0, buf[2], buf[3]);
speed_aux0.max = buf[4];
speed_aux0.slow = buf[4];
- state_start (&state_aux0, 0);
+ state_start (&state_aux0, MODE_SPEED, 0);
break;
case c ('p', x):
/* Set parameters. */