summaryrefslogtreecommitdiff
path: root/digital/mimot/src/dirty/main.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-31 09:39:16 +0200
committerNicolas Schodet2011-05-31 15:17:36 +0200
commit31f85163b5981a78a2b6704168d0ae12929b53be (patch)
treee971e092f63fbe975fe9ffa4b60ffbfc028ca92e /digital/mimot/src/dirty/main.c
parent2aff3a82387b86b390348adb63cde3fe92b041db (diff)
digital/mimot: better find zero/limit
Diffstat (limited to 'digital/mimot/src/dirty/main.c')
-rw-r--r--digital/mimot/src/dirty/main.c13
1 files changed, 10 insertions, 3 deletions
diff --git a/digital/mimot/src/dirty/main.c b/digital/mimot/src/dirty/main.c
index 5dcfd8c7..2b55259b 100644
--- a/digital/mimot/src/dirty/main.c
+++ b/digital/mimot/src/dirty/main.c
@@ -287,15 +287,22 @@ proto_callback (uint8_t cmd, uint8_t size, uint8_t *args)
aux_traj_clamp_start (auxp, args[1], v8_to_v16 (args[2], args[3]),
args[4]);
break;
- case c ('y', 3):
+ case c ('y', 6):
/* Auxiliary find zero.
* - b: aux index.
* - b: speed.
+ * - b: use switch.
+ * - w: reset position.
* - b: sequence number. */
if (!auxp) { proto_send0 ('?'); return; }
- if (args[2] == state->sequence)
+ if (args[5] == state->sequence)
break;
- aux_traj_find_limit_start (auxp, args[1], args[2]);
+ if (args[2])
+ aux_traj_find_zero_start (auxp, args[1],
+ v8_to_v16 (args[3], args[4]), args[5]);
+ else
+ aux_traj_find_limit_start (auxp, args[1],
+ v8_to_v16 (args[3], args[4]), args[5]);
break;
case c ('a', 2):
/* Set all acknoledge.