From 18b32888e823fef06f9e9e35895d796611fa3e8c Mon Sep 17 00:00:00 2001 From: Nicolas Haller Date: Thu, 21 May 2009 08:19:43 +0200 Subject: * digital/io/src: - change fb_idle to fb_empty --- digital/io/src/elevator.fsm | 14 +++++++------- digital/io/src/elevator_cb.c | 12 ++++++------ digital/io/src/filterbridge.c | 1 - digital/io/src/filterbridge.h | 3 --- digital/io/src/filterbridge_cb.c | 3 --- digital/io/src/main.c | 4 ++-- 6 files changed, 15 insertions(+), 22 deletions(-) (limited to 'digital/io') diff --git a/digital/io/src/elevator.fsm b/digital/io/src/elevator.fsm index 8befad77..fd06c55a 100644 --- a/digital/io/src/elevator.fsm +++ b/digital/io/src/elevator.fsm @@ -13,8 +13,8 @@ States: go to a position to be ready to get a new puck WAIT_A_PUCK waiting for a new puck (hurry up filter bridge!) - WAIT_FB_IDLE - waiting for the fb is idle + WAIT_FB_EMPTY + waiting for the fb is empty WAIT_POS_ORDER waiting for position order (depending where we want to drop our column) GO_TO_POS_Y @@ -42,8 +42,8 @@ Events: elevator is in position new_puck we received a new puck from FB (filter bridge, not facebook) - fb_idle - filterbridge idle + fb_empty + filterbridge empty order_received we received a new order doors_opened @@ -76,11 +76,11 @@ WAIT_A_PUCK: new_puck: not_ok_for_other_pucks -> WAIT_POS_ORDER incrementing nb_puck var no more time to wait a new puck - order_received -> WAIT_FB_IDLE + order_received -> WAIT_FB_EMPTY elevator filling has been shut, get ready to drop pucks -WAIT_FB_IDLE: - fb_idle -> GO_TO_POS_Y +WAIT_FB_EMPTY: + fb_empty -> GO_TO_POS_Y execute order WAIT_POS_ORDER: diff --git a/digital/io/src/elevator_cb.c b/digital/io/src/elevator_cb.c index caef50c2..e1799879 100644 --- a/digital/io/src/elevator_cb.c +++ b/digital/io/src/elevator_cb.c @@ -94,7 +94,7 @@ elevator__INIT__doors_opened (void) /* FIXME: why this is here? */ elvt_is_ready = 0; /* Close the door. */ - pwm_set (CLOSE_DOOR_PWM, TIME_DOORS_PWM); + pwm_set (CLOSE_DOOR_PWM, 2*TIME_DOORS_PWM); return elevator_next (INIT, doors_opened); } @@ -145,7 +145,7 @@ elevator__WAIT_A_PUCK__new_puck (void) /* * WAIT_A_PUCK =order_received=> - * => WAIT_FB_IDLE + * => WAIT_FB_EMPTY * elevator filling has been shut, get ready to drop pucks */ fsm_branch_t @@ -156,17 +156,17 @@ elevator__WAIT_A_PUCK__order_received (void) } /* - * WAIT_FB_IDLE =fb_idle=> + * WAIT_FB_EMPTY =fb_empty=> * => GO_TO_POS_Y * execute order */ fsm_branch_t -elevator__WAIT_FB_IDLE__fb_idle (void) +elevator__WAIT_FB_EMPTY__fb_empty (void) { elvt_new_puck = 0; asserv_move_elevator_absolute(posy[elvt_order - 1] - MAJ_POSY, ASSERV_ELVT_SPEED_DEFAULT); - return elevator_next (WAIT_FB_IDLE, fb_idle); + return elevator_next (WAIT_FB_EMPTY, fb_empty); } /* @@ -215,7 +215,6 @@ elevator__WAIT_FOR_RELEASE_ORDER__order_received (void) fsm_branch_t elevator__LAND_ELEVATOR__in_position (void) { - elvt_order = 0; pwm_set(OPEN_DOOR_PWM, 0); return elevator_next (LAND_ELEVATOR, in_position); } @@ -243,6 +242,7 @@ elevator__OPEN_DOORS__doors_opened (void) top_puck_inside_bot -= elvt_nb_puck; elvt_nb_puck = 0; pwm_set(0,0); + elvt_order = 0; return elevator_next (OPEN_DOORS, doors_opened); } diff --git a/digital/io/src/filterbridge.c b/digital/io/src/filterbridge.c index f61cd27d..64fcbbfc 100644 --- a/digital/io/src/filterbridge.c +++ b/digital/io/src/filterbridge.c @@ -25,7 +25,6 @@ #include "filterbridge.h" uint8_t fb_nb_puck = 0; -uint8_t fb_work_in_progress = 0; /* +AutoDec */ /* -AutoDec */ diff --git a/digital/io/src/filterbridge.h b/digital/io/src/filterbridge.h index 49f3819c..235d29ee 100644 --- a/digital/io/src/filterbridge.h +++ b/digital/io/src/filterbridge.h @@ -29,7 +29,4 @@ extern uint8_t fb_nb_puck; -/* Is servo moving ? */ -extern uint8_t fb_work_in_progress; - #endif // filterbridge_h diff --git a/digital/io/src/filterbridge_cb.c b/digital/io/src/filterbridge_cb.c index f8db2e2c..9393a702 100644 --- a/digital/io/src/filterbridge_cb.c +++ b/digital/io/src/filterbridge_cb.c @@ -49,7 +49,6 @@ filterbridge__IDLE__start (void) fsm_branch_t filterbridge__WAIT_JACK_IN__jack_inserted_into_bot (void) { - fb_work_in_progress = 1; servo_pos_move_to(SERVO_FINGER_ID, SERVO_FINGER_IDLE); servo_pos_move_to(SERVO_DOOR_ID, SERVO_DOOR_CLOSE); return filterbridge_next (WAIT_JACK_IN, jack_inserted_into_bot); @@ -63,7 +62,6 @@ filterbridge__WAIT_JACK_IN__jack_inserted_into_bot (void) fsm_branch_t filterbridge__CLOSE_DOOR__state_timeout (void) { - fb_work_in_progress = 0; return filterbridge_next (CLOSE_DOOR, state_timeout); } @@ -93,7 +91,6 @@ filterbridge__WAIT_A_PUCK__puck_on_pos2 (void) fsm_branch_t filterbridge__MARCEL_WAIT__state_timeout (void) { - fb_work_in_progress = 1; servo_pos_move_to(SERVO_DOOR_ID, SERVO_DOOR_OPEN); return filterbridge_next (MARCEL_WAIT, state_timeout); } diff --git a/digital/io/src/main.c b/digital/io/src/main.c index 39df3357..d905a21f 100644 --- a/digital/io/src/main.c +++ b/digital/io/src/main.c @@ -240,9 +240,9 @@ main_event_to_fsm (void) if(fb_nb_puck < 2) FSM_HANDLE_EVENT (&cylinder_fsm, CYLINDER_EVENT_bridge_ready); - if(!fb_work_in_progress) + if(!fb_nb_puck) FSM_HANDLE_EVENT (&elevator_fsm, - ELEVATOR_EVENT_fb_idle); + ELEVATOR_EVENT_fb_empty); /* bot empty */ if(top_puck_inside_bot < 4) -- cgit v1.2.3