+FSM_STATE(decide_what_next)
+{
+ switch (FSM_EVENT) {
+ case EV_ENTRY:
+ if(robot.pucks_inside == pucks_at_once) {
+ ; //
+ } else {
+ if(robot.pucks_inside < pucks_at_once && free_puck_to_try_to_get_next < 6) {
+ FSM_TRANSITION(collect_free_pucks);
+ }
+ }
+ break;
+ 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_STACK_FULL:
+ case EV_ACTION_ERROR:
+ case EV_PUCK_REACHABLE:
+ case EV_START:
+ DBG_PRINT_EVENT("unhandled event");
+ break;
+ case EV_EXIT:
+ break;
+ }
+}
+
+FSM_STATE(deposit_at_acropolis)
+{
+ switch (FSM_EVENT) {
+ case EV_ENTRY:
+ break;
+ 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_STACK_FULL:
+ case EV_ACTION_ERROR:
+ case EV_PUCK_REACHABLE:
+ case EV_START:
+ DBG_PRINT_EVENT("unhandled event");
+ break;
+ case EV_EXIT:
+ break;
+ }
+}
+