summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/robospierre/clamp.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-29 09:51:30 +0200
committerNicolas Schodet2011-05-29 09:57:32 +0200
commit21deab476ce421f04d367959110afbd85656bdde (patch)
treed3812e1da8269dc676a01ccc1ae6781ed649553c /digital/io-hub/src/robospierre/clamp.c
parent4042e67d5aed51502538b96c959d88fd3cc1779a (diff)
digital/io-hub: softer clamp & door control
Diffstat (limited to 'digital/io-hub/src/robospierre/clamp.c')
-rw-r--r--digital/io-hub/src/robospierre/clamp.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/digital/io-hub/src/robospierre/clamp.c b/digital/io-hub/src/robospierre/clamp.c
index f799e7d7..4c0fc9a7 100644
--- a/digital/io-hub/src/robospierre/clamp.c
+++ b/digital/io-hub/src/robospierre/clamp.c
@@ -264,7 +264,7 @@ clamp_door (uint8_t pos, uint8_t open)
else if (clamp_slot_door[pos] != 0xff)
{
if (open)
- pwm_set_timed (clamp_slot_door[pos], BOT_PWM_DOOR_OPEN);
+ pwm_set_timed (clamp_slot_door[pos], BOT_PWM_DOOR_OPEN (pos));
else
pwm_set_timed (clamp_slot_door[pos], BOT_PWM_DOOR_CLOSE (pos));
}
@@ -482,8 +482,8 @@ FSM_TRANS (CLAMP_IDLE, clamp_drop, CLAMP_DROPING_DOOR_OPENING)
/* If going forward, drop at back. */
uint8_t bay = ctx.drop_direction == DIRECTION_FORWARD
? CLAMP_SLOT_BACK_BOTTOM : CLAMP_SLOT_FRONT_BOTTOM;
- pwm_set_timed (clamp_slot_door[bay + 0], BOT_PWM_DOOR_OPEN);
- pwm_set_timed (clamp_slot_door[bay + 2], BOT_PWM_DOOR_OPEN);
+ pwm_set_timed (clamp_slot_door[bay + 0], BOT_PWM_DOOR_OPEN (bay + 0));
+ pwm_set_timed (clamp_slot_door[bay + 2], BOT_PWM_DOOR_OPEN (bay + 2));
return FSM_NEXT (CLAMP_IDLE, clamp_drop);
}
@@ -599,8 +599,8 @@ FSM_TRANS (CLAMP_LOCKED, clamp_drop, CLAMP_DROPING_DOOR_OPENING)
/* If going forward, drop at back. */
uint8_t bay = ctx.drop_direction == DIRECTION_FORWARD
? CLAMP_SLOT_BACK_BOTTOM : CLAMP_SLOT_FRONT_BOTTOM;
- pwm_set_timed (clamp_slot_door[bay + 0], BOT_PWM_DOOR_OPEN);
- pwm_set_timed (clamp_slot_door[bay + 2], BOT_PWM_DOOR_OPEN);
+ pwm_set_timed (clamp_slot_door[bay + 0], BOT_PWM_DOOR_OPEN (bay + 0));
+ pwm_set_timed (clamp_slot_door[bay + 2], BOT_PWM_DOOR_OPEN (bay + 2));
return FSM_NEXT (CLAMP_LOCKED, clamp_drop);
}
@@ -673,7 +673,8 @@ FSM_TRANS_TIMEOUT (CLAMP_MOVE_SRC_CLAMP_CLOSING, BOT_PWM_CLAMP_CLOSE_TIME,
{
if (clamp_slot_door[ctx.pos_current] != 0xff)
{
- pwm_set_timed (clamp_slot_door[ctx.pos_current], BOT_PWM_DOOR_OPEN);
+ pwm_set_timed (clamp_slot_door[ctx.pos_current],
+ BOT_PWM_DOOR_OPEN (ctx.pos_current));
return FSM_NEXT_TIMEOUT (CLAMP_MOVE_SRC_CLAMP_CLOSING, open_door);
}
else