From ea8d7c80227602af4e51bf550b0bd715ea5f4e49 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Sat, 29 Mar 2008 16:55:12 +0100 Subject: Added the fsm for the gutter, The open and close commande for the collector are missing. --- digital/io/src/gutter/gutter_cb.c | 69 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 69 insertions(+) create mode 100644 digital/io/src/gutter/gutter_cb.c (limited to 'digital/io/src/gutter/gutter_cb.c') diff --git a/digital/io/src/gutter/gutter_cb.c b/digital/io/src/gutter/gutter_cb.c new file mode 100644 index 00000000..14268177 --- /dev/null +++ b/digital/io/src/gutter/gutter_cb.c @@ -0,0 +1,69 @@ +/* + * THIS IS AN AUTOMATICALLY GENERATED FILE, DO NOT EDIT! + * + * Skeleton for get_samples callbacks implementation. + * + * + */ +#include "gutter_cb.h" + +/* + * START =ok=> + * => GO_TO_GUTTER + * Go to the gutter. + */ +gutter_branch_t +gutter__START__ok (gutter_t *user) +{ + asserv_go_to_gutter(); + return gutter_next (START, ok); +} + +/* + * CLOSE_COLLECTOR =collector_closed=> + * => END + * The samples has been inserted in the gutter. + */ +gutter_branch_t +gutter__CLOSE_COLLECTOR__collector_closed (gutter_t *user) +{ + //Close the collector. + return gutter_next (CLOSE_COLLECTOR, collector_closed); +} + +/* + * GO_TO_GUTTER =position_failed=> + * => GO_TO_GUTTER + * The position failed, shall try another path. + */ +gutter_branch_t +gutter__GO_TO_GUTTER__position_failed (gutter_t *user) +{ + return gutter_next (GO_TO_GUTTER, position_failed); +} + +/* + * GO_TO_GUTTER =position_reached=> + * => OPEN_COLLECTOR + * The robo is near the gutter and the door can be opened. + */ +gutter_branch_t +gutter__GO_TO_GUTTER__position_reached (gutter_t *user) +{ + // Open the collector. + return gutter_next (GO_TO_GUTTER, position_reached); +} + +/* + * OPEN_COLLECTOR =collector_opened=> + * => CLOSE_COLLECTOR + * Wait some time and clse the door. + */ +gutter_branch_t +gutter__OPEN_COLLECTOR__collector_opened (gutter_t *user) +{ + utils_delay_ms(4.4); + return gutter_next (OPEN_COLLECTOR, collector_opened); +} + + -- cgit v1.2.3