From c4d20dd9ffa1c479de2858dd1b77ff014d1073dd Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Sun, 20 Apr 2008 19:17:07 +0200 Subject: * digital/asserv/src/asserv: - added separate setting of position control for theta/alpha. - disable angular position control for go to the dispenser. --- digital/asserv/src/asserv/state.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'digital/asserv/src/asserv/state.h') diff --git a/digital/asserv/src/asserv/state.h b/digital/asserv/src/asserv/state.h index 75f2fdb1..ebfa11dd 100644 --- a/digital/asserv/src/asserv/state.h +++ b/digital/asserv/src/asserv/state.h @@ -52,6 +52,11 @@ struct state_t { /** Current motor control mode. */ uint8_t mode; + /** Control mode variant. + * Used for main motors: + * - bit 0: disable theta position control. + * - bit 1: disable alpha position control. */ + uint8_t variant; /** Sequence number of the currently processed command, should be between * 1 and 127. When a command is received on the serial port it is ignored * if its sequence number is equal to the current sequence number. In @@ -79,8 +84,10 @@ extern struct state_t state_aux0; /** Start a new command execution. */ static inline void -state_start (struct state_t *motor, uint8_t sequence) +state_start (struct state_t *motor, uint8_t mode, uint8_t sequence) { + motor->mode = mode; + motor->variant = 0; motor->sequence = sequence; motor->finished = 0; motor->blocked = 0; -- cgit v1.2.3