From a367d0c7148a6de0c16aa8f9dabd597be01d3584 Mon Sep 17 00:00:00 2001 From: Nicolas Haller Date: Sat, 9 May 2009 05:05:39 +0200 Subject: * digital/io/src: - fix init FSM (fix angle values) - implement filterbridge FSM --- digital/io/src/filterbridge_cb.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) (limited to 'digital/io/src/filterbridge_cb.c') diff --git a/digital/io/src/filterbridge_cb.c b/digital/io/src/filterbridge_cb.c index 12210416..00848d57 100644 --- a/digital/io/src/filterbridge_cb.c +++ b/digital/io/src/filterbridge_cb.c @@ -68,21 +68,32 @@ filterbridge__CLOSE_DOOR__state_timeout (void) * WAIT_A_PUCK =puck_on_pos2=> * lift_not_ready => WAIT_A_PUCK * Lift not ready, we stand by - * lift_ready => OPEN_DOOR - * Lift ok, we deliver + * lift_ready => MARCEL_WAIT + * wait the puck is entirely on pos2 */ fsm_branch_t filterbridge__WAIT_A_PUCK__puck_on_pos2 (void) { if(elevator_is_ready) { - servo_pos_move_to(SERVO_DOOR_ID, SERVO_DOOR_OPEN); return filterbridge_next_branch (WAIT_A_PUCK, puck_on_pos2, lift_ready); } else return filterbridge_next_branch (WAIT_A_PUCK, puck_on_pos2, lift_not_ready); } +/* + * MARCEL_WAIT =state_timeout=> + * => OPEN_DOOR + * lift ready, we deliver + */ +fsm_branch_t +filterbridge__MARCEL_WAIT__state_timeout (void) +{ + servo_pos_move_to(SERVO_DOOR_ID, SERVO_DOOR_OPEN); + return filterbridge_next (MARCEL_WAIT, state_timeout); +} + /* * OPEN_DOOR =state_timeout=> * => PUSH_PUCK -- cgit v1.2.3