From: Filip Jares Date: Thu, 14 May 2009 12:34:33 +0000 (+0200) Subject: robofsm/competition: correcting EV_SHORT_TIME_TO_END handling added in hurry by Michal X-Git-Tag: start2011~282 X-Git-Url: https://rtime.felk.cvut.cz/gitweb/eurobot/public.git/commitdiff_plain/1b914411f5a165abd65b92ec01f169cc049084e2 robofsm/competition: correcting EV_SHORT_TIME_TO_END handling added in hurry by Michal - EV_SHORT_TIME_TO_END: absence of 'break' statements was ignored - EV_GOAL_NOT_REACHABLE: comment added (this event is currently not used and not sent from anywhere) --- diff --git a/src/robofsm/competition.cc b/src/robofsm/competition.cc index b226a47b..89004a00 100644 --- a/src/robofsm/competition.cc +++ b/src/robofsm/competition.cc @@ -323,7 +323,7 @@ FSM_STATE(wait_for_start) case EV_TIMER: case EV_RETURN: case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_SHORT_TIME_TO_END: case EV_STACK_FULL: case EV_ACTION_DONE: @@ -358,10 +358,10 @@ FSM_STATE(decide_what_next) case EV_RETURN: case EV_TIMER: case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_SHORT_TIME_TO_END: - FSM_TRANSITION(deposit_at_acropolis); - break; + FSM_TRANSITION(deposit_at_acropolis); //FIXME fsm transition to decide_what_next + break; // everywhere and ... case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: @@ -418,12 +418,12 @@ FSM_STATE(deposit_at_acropolis) deposit_status++; } break; - case EV_TIMER: - case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: case EV_SHORT_TIME_TO_END: - FSM_TRANSITION(deposit_at_acropolis); + //FSM_TRANSITION(deposit_at_acropolis); break; + case EV_TIMER: + case EV_LASER_POWER: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: @@ -459,14 +459,14 @@ FSM_STATE(collect_free_pucks) free_puck_to_try_to_get_next++; FSM_TRANSITION(decide_what_next); break; + case EV_SHORT_TIME_TO_END: + FSM_TRANSITION(deposit_at_acropolis); + break; case EV_PUCK_REACHABLE: case EV_ACTION_DONE: case EV_TIMER: case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: - case EV_SHORT_TIME_TO_END: - FSM_TRANSITION(deposit_at_acropolis); - break; + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_START: @@ -491,15 +491,14 @@ FSM_STATE(approach_acropolis) SUBFSM_RET(NULL); // FIXME SUBFSM_RET((void*)true); break; - case EV_GOAL_NOT_REACHABLE: // FIXME... + case EV_GOAL_NOT_REACHABLE: // currently not used + break; + case EV_SHORT_TIME_TO_END: break; case EV_ACTION_DONE: case EV_RETURN: case EV_TIMER: case EV_LASER_POWER: - case EV_SHORT_TIME_TO_END: - FSM_TRANSITION(deposit_at_acropolis); - break; case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: @@ -522,14 +521,14 @@ FSM_STATE(simple_construction_zone_approach) case EV_MOTION_DONE: //FSM_SIGNAL(ACT, EV_UNLOAD_THE_PUCK, NULL); break; + case EV_SHORT_TIME_TO_END: + FSM_TRANSITION(deposit_at_acropolis); + break; case EV_ACTION_DONE: case EV_RETURN: case EV_TIMER: case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: - case EV_SHORT_TIME_TO_END: - FSM_TRANSITION(deposit_at_acropolis); - break; + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: @@ -563,14 +562,13 @@ FSM_STATE(approach_our_static_dispenser) case EV_ACTION_DONE: printf("A Puck picked up\n"); break; - case EV_RETURN: - case EV_TIMER: - case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: case EV_SHORT_TIME_TO_END: FSM_TRANSITION(deposit_at_acropolis); break; - //case EV_PUCK_REACHABLE: // FIXME: handle this + case EV_RETURN: + case EV_TIMER: + case EV_LASER_POWER: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: @@ -604,14 +602,13 @@ FSM_STATE(approach_opponents_static_dispenser) case EV_ACTION_DONE: printf("A Puck picked up\n"); break; - case EV_RETURN: - case EV_TIMER: - case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: case EV_SHORT_TIME_TO_END: FSM_TRANSITION(deposit_at_acropolis); break; - //case EV_PUCK_REACHABLE: // FIXME: handle this + case EV_RETURN: + case EV_TIMER: + case EV_LASER_POWER: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: @@ -653,12 +650,12 @@ FSM_STATE(load_the_puck) robot_move_by(0.02, NO_TURN(), &tcSlow); } break; - case EV_RETURN: - case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: case EV_SHORT_TIME_TO_END: FSM_TRANSITION(deposit_at_acropolis); break; + case EV_RETURN: + case EV_LASER_POWER: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_PUCK_REACHABLE: case EV_START: @@ -712,7 +709,7 @@ FSM_STATE(look_around_for_puck) case EV_RETURN: case EV_TIMER: case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_SHORT_TIME_TO_END: case EV_STACK_FULL: case EV_START: @@ -731,13 +728,13 @@ FSM_STATE() switch (FSM_EVENT) { case EV_ENTRY: break; + case EV_SHORT_TIME_TO_END: case EV_MOTION_DONE: case EV_ACTION_DONE: case EV_RETURN: case EV_TIMER: case EV_LASER_POWER: - case EV_GOAL_NOT_REACHABLE: - case EV_SHORT_TIME_TO_END: + case EV_GOAL_NOT_REACHABLE: // currently not used case EV_STACK_FULL: case EV_ACTION_ERROR: case EV_PUCK_REACHABLE: