summaryrefslogtreecommitdiff
path: root/digital/asserv/src/asserv/twi_proto.c
diff options
context:
space:
mode:
Diffstat (limited to 'digital/asserv/src/asserv/twi_proto.c')
-rw-r--r--digital/asserv/src/asserv/twi_proto.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/digital/asserv/src/asserv/twi_proto.c b/digital/asserv/src/asserv/twi_proto.c
index 7c649e1c..cd79bf3e 100644
--- a/digital/asserv/src/asserv/twi_proto.c
+++ b/digital/asserv/src/asserv/twi_proto.c
@@ -138,9 +138,7 @@ twi_proto_callback (u8 *buf, u8 size)
break;
case c ('s', 0):
/* Stop (set zero speed). */
- speed_control_set_speed (&cs_main.speed_theta, 0);
- speed_control_set_speed (&cs_main.speed_alpha, 0);
- control_state_set_mode (&cs_main.state, CS_MODE_SPEED_CONTROL, 0);
+ traj_stop_start ();
break;
case c ('l', 3):
/* Set linear speed controlled position consign.
@@ -315,6 +313,15 @@ twi_proto_params (u8 *buf, u8 size)
cs_main.speed_alpha.slow = v8_to_v16 (buf[6], buf[7]);
eat = 4;
break;
+ case 'a':
+ /* Set acceleration.
+ * - w: theta acc.
+ * - w: alpha acc. */
+ if (size < 4)
+ return 1;
+ cs_main.speed_theta.acc_f = v8_to_v16 (buf[0], buf[1]);
+ cs_main.speed_alpha.acc_f = v8_to_v16 (buf[2], buf[3]);
+ break;
default:
return 1;
}