From 3e28a1b46e8541fddb657a1e4bae2e32ba077085 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Tue, 13 Apr 2010 00:22:42 +0200 Subject: digital/io/src: update test top FSM --- digital/io/src/ai_top_cb.c | 26 +++++++++++++++++++++++++- digital/io/src/top.fsm | 4 ++++ 2 files changed, 29 insertions(+), 1 deletion(-) (limited to 'digital/io') diff --git a/digital/io/src/ai_top_cb.c b/digital/io/src/ai_top_cb.c index 60f2c148..1482dd36 100644 --- a/digital/io/src/ai_top_cb.c +++ b/digital/io/src/ai_top_cb.c @@ -71,11 +71,23 @@ ai__WAIT_INIT_TO_FINISH__init_match_is_started (void) fsm_branch_t ai__GO_FAR__move_fsm_succeed (void) { - position_t pos = PG_POSITION_DEG (1000, 1000, 0); + position_t pos = PG_POSITION_DEG (1000, 1000, 180); move_start (pos, 0); return ai_next (GO_FAR, move_fsm_succeed); } +/* + * GO_FAR =move_fsm_failed=> + * => GO_NEAR + * go to a near point + */ +fsm_branch_t +ai__GO_FAR__move_fsm_failed (void) +{ + ai__GO_FAR__move_fsm_succeed (); + return ai_next (GO_FAR, move_fsm_failed); +} + /* * GO_NEAR =move_fsm_succeed=> * => GO_FAR @@ -89,3 +101,15 @@ ai__GO_NEAR__move_fsm_succeed (void) return ai_next (GO_NEAR, move_fsm_succeed); } +/* + * GO_NEAR =move_fsm_failed=> + * => GO_FAR + * restart + */ +fsm_branch_t +ai__GO_NEAR__move_fsm_failed (void) +{ + ai__GO_NEAR__move_fsm_succeed (); + return ai_next (GO_NEAR, move_fsm_failed); +} + diff --git a/digital/io/src/top.fsm b/digital/io/src/top.fsm index 492f286d..6340984e 100644 --- a/digital/io/src/top.fsm +++ b/digital/io/src/top.fsm @@ -45,7 +45,11 @@ WAIT_INIT_TO_FINISH: GO_FAR: move_fsm_succeed -> GO_NEAR go to a near point + move_fsm_failed -> GO_NEAR + go to a near point GO_NEAR: move_fsm_succeed -> GO_FAR restart + move_fsm_failed -> GO_FAR + restart -- cgit v1.2.3