From 0f5fb480d954339158033be901a19f15c3815847 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 20 Apr 2008 19:18:20 +0200 Subject: * digital/asserv/src/asserv: - added goto_xya command. - reduced the goto_angle proto parameter size. * digital/io/doc: - added goto_xya command. * digital/asserv/tools: - added goto_xya command. --- digital/asserv/src/asserv/main.c | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) (limited to 'digital/asserv/src/asserv/main.c') diff --git a/digital/asserv/src/asserv/main.c b/digital/asserv/src/asserv/main.c index 0a746149..f0813fba 100644 --- a/digital/asserv/src/asserv/main.c +++ b/digital/asserv/src/asserv/main.c @@ -361,14 +361,27 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args) v8_to_v32 (args[4], args[5], args[6], args[7]), args[8]); break; - case c ('x', 5): + case c ('x', 3): /* Go to angle. - * - d: a, f8.24. + * - d: a, f0.16. * - b: sequence number. */ - if (args[4] == state_main.sequence) + if (args[2] == state_main.sequence) + break; + traj_goto_angle_start (v8_to_v32 (0, args[0], args[1], 0), + args[2]); + break; + case c ('x', 11): + /* Go to position, then angle. + * - d: x, f24.8. + * - d: y, f24.8. + * - w: a, f0.16. + * - b: sequence number. */ + if (args[10] == state_main.sequence) break; - traj_goto_angle_start (v8_to_v32 (args[0], args[1], args[2], args[3]), - args[4]); + traj_goto_xya_start (v8_to_v32 (args[0], args[1], args[2], args[3]), + v8_to_v32 (args[4], args[5], args[6], args[7]), + v8_to_v32 (0, args[8], args[9], 0), + args[10]); break; case c ('a', 2): /* Set both acknoledge. -- cgit v1.2.3