From 79456a7d1b2116fc8f50b82bd73b877cf8ef1bdf Mon Sep 17 00:00:00 2001 From: Nicolas Haller Date: Fri, 8 May 2009 10:13:09 +0200 Subject: * digital/io/src: - removed old FSM (gutter and getsamples) --- digital/io/src/gutter_cb.c | 134 --------------------------------------------- 1 file changed, 134 deletions(-) delete mode 100644 digital/io/src/gutter_cb.c (limited to 'digital/io/src/gutter_cb.c') diff --git a/digital/io/src/gutter_cb.c b/digital/io/src/gutter_cb.c deleted file mode 100644 index 96f5c605..00000000 --- a/digital/io/src/gutter_cb.c +++ /dev/null @@ -1,134 +0,0 @@ -/* gutter_cb.c - gutter FSM callbacks. */ -/* {{{ - * - * Copyright (C) 2008 NĂ©lio Laranjeiro - * - * APBTeam: - * Web: http://apbteam.org/ - * Email: team AT apbteam DOT org - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. - * - * }}} */ -#include "common.h" -#include "fsm.h" -#include "gutter_cb.h" - -#include "asserv.h" /* asserv_go_to_the_wall */ -#include "trap.h" /* trap_* */ -#include "playground.h" /* PG_GUTTER_A */ -#include "main.h" /* main_post_event_for_top_fsm */ - -/** - * Gutter private data to wait a certain number of cycles. - */ -uint16_t gutter_wait_cycle_; - -/** - * Count of cycles to wait before we estimate all the balls have been dropped - * into the gutter. A cycle normally last 4.4ms. - */ -#define GUTTER_WAIT_FOR_BALLS_TO_DROP 300 - -/** - * Time to wait before trying the go to the wall again. - */ -#define GUTTER_WAIT_BEFORE_TRY_AGAIN (225) - -/* - * ROTATE_REAR_SIDE_TO_GUTTER =bot_move_succeed=> - * => GO_TO_THE_GUTTER_WALL - * make the bot reversing against the gutter - */ -fsm_branch_t -gutter__ROTATE_REAR_SIDE_TO_GUTTER__bot_move_succeed (void) -{ - /* Make the bot reversing against the gutter */ - asserv_go_to_the_wall (); - return gutter_next (ROTATE_REAR_SIDE_TO_GUTTER, bot_move_succeed); -} - -/* - * WAIT_AND_TRY_AGAIN =wait_finished=> - * => GO_TO_THE_GUTTER_WALL - * try the fuck the wall again - */ -fsm_branch_t -gutter__WAIT_AND_TRY_AGAIN__wait_finished (void) -{ - /* Make the bot reversing against the gutter */ - asserv_go_to_the_wall (); - return gutter_next (WAIT_AND_TRY_AGAIN, wait_finished); -} - -/* - * IDLE =start=> - * => ROTATE_REAR_SIDE_TO_GUTTER - * put the bot back to the gutter - */ -fsm_branch_t -gutter__IDLE__start (void) -{ - /* Initialize internal data */ - gutter_wait_cycle_ = 0; - /* Put the bot back to the gutter */ - asserv_goto_angle (PG_GUTTER_A); - return gutter_next (IDLE, start); -} - -/* - * GO_TO_THE_GUTTER_WALL =bot_move_failed=> - * => WAIT_AND_TRY_AGAIN - * ask the top FSM to wake us up in a few times - */ -fsm_branch_t -gutter__GO_TO_THE_GUTTER_WALL__bot_move_failed (void) -{ - main_getsamples_wait_cycle = GUTTER_WAIT_BEFORE_TRY_AGAIN; - return gutter_next (GO_TO_THE_GUTTER_WALL, bot_move_failed); -} - -/* - * GO_TO_THE_GUTTER_WALL =bot_move_succeed=> - * => DROP_BALLS - * open the collector to drop the balls - * wait for a while - */ -fsm_branch_t -gutter__GO_TO_THE_GUTTER_WALL__bot_move_succeed (void) -{ - /* Open the rear panel */ - trap_open_rear_panel (); - /* Wait for GUTTER_WAIT_FOR_BALLS_TO_DROP before being calling back by the - * main loop */ - gutter_wait_cycle_ = GUTTER_WAIT_FOR_BALLS_TO_DROP; - return gutter_next (GO_TO_THE_GUTTER_WALL, bot_move_succeed); -} - -/* - * DROP_BALLS =wait_finished=> - * => IDLE - * close the rear panel - * tell the top FSM we have finished - */ -fsm_branch_t -gutter__DROP_BALLS__wait_finished (void) -{ - /* Close the rear panel */ - trap_close_rear_panel (); - /* Tell the top FSM we have finished */ - main_post_event_for_top_fsm = TOP_EVENT_gutter_fsm_finished; - return gutter_next (DROP_BALLS, wait_finished); -} -- cgit v1.2.3