summaryrefslogtreecommitdiff
path: root/digital/asserv/src/asserv
diff options
context:
space:
mode:
authorNicolas Schodet2008-04-09 14:28:24 +0200
committerNicolas Schodet2008-04-09 14:28:24 +0200
commit175831d2c1a3c52305431cc824cf233286a87eb4 (patch)
treeff322a46cdd77379cca60d458c7f1f137841cc27 /digital/asserv/src/asserv
parentb9d646e41511eb5443faad66b8fc1c7323b2e738 (diff)
* digital/asserv/src/asserv:
- added proto 'l' command (sick of typing the long 's').
Diffstat (limited to 'digital/asserv/src/asserv')
-rw-r--r--digital/asserv/src/asserv/main.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/digital/asserv/src/asserv/main.c b/digital/asserv/src/asserv/main.c
index 3a0cf7cb..c4e601df 100644
--- a/digital/asserv/src/asserv/main.c
+++ b/digital/asserv/src/asserv/main.c
@@ -312,6 +312,19 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
speed_aux0.pos_cons += v8_to_v32 (args[0], args[1], args[2], args[3]);
state_start (&state_aux0, args[4]);
break;
+ case c ('l', 5):
+ /* Set linear speed controlled position consign.
+ * - d: consign offset.
+ * - b: sequence number. */
+ if (args[4] == state_main.sequence)
+ break;
+ 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 (args[0], args[1], args[2], args[3]);
+ speed_alpha.pos_cons = pos_alpha.cons;
+ state_start (&state_main, args[8]);
+ break;
case c ('a', 5):
/* Set angular speed controlled position consign.
* - d: angle offset.