summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io/src')
-rw-r--r--digital/io/src/Makefile16
-rw-r--r--digital/io/src/hola.c12
-rw-r--r--digital/io/src/init.c13
-rw-r--r--digital/io/src/loader.c96
-rw-r--r--digital/io/src/move.c97
-rw-r--r--digital/io/src/top.c52
6 files changed, 102 insertions, 184 deletions
diff --git a/digital/io/src/Makefile b/digital/io/src/Makefile
index 56cf4a03..b582c95c 100644
--- a/digital/io/src/Makefile
+++ b/digital/io/src/Makefile
@@ -26,7 +26,7 @@ vpath %.c $(AI_MODULES:%=../../ai/src/%)
vpath %.h $(AI_MODULES:%=../../ai/src/%)
INCLUDES += -I. $(AI_MODULES:%=-I../../ai/src/%)
-EXTRA_CLEAN_FILES = angfsm_gen_avr_AI.h fsm_AI_gen.avr.c
+EXTRA_CLEAN_FILES = angfsm_gen_avr_AI.h fsm_AI_gen.avr.c AI.dot AI.png AI.svg
include $(BASE)/make/Makefile.gen
@@ -34,9 +34,21 @@ include $(BASE)/make/Makefile.gen
obj/main.avr.o: angfsm_gen_avr_AI.h
fsm_AI_gen.avr.c: angfsm_gen_avr_AI.h
angfsm_gen_avr_AI.h: io.host
- ./$< --ang-gen avr
+ ./$< --ang-gen avr --ang-dot AI.dot
mv angfsm_gen_avr_AI.c fsm_AI_gen.avr.c
+# Image generation
+view: AI.view
+png: AI.png
+svg: AI.svg
+
+%.view: %.dot
+ dot -Txlib $<
+%.png: %.dot
+ dot -Tpng $< > $@
+%.svg: %.dot
+ dot -Tsvg $< > $@
+
events.h events.host.c: trace.trc $(BASE)/../../tools/trace/lib/parser.py
PYTHONPATH=$(BASE)/../../host python $(BASE)/../../tools/trace/trace.py -t create -i $< -o
diff --git a/digital/io/src/hola.c b/digital/io/src/hola.c
index af663c4a..a53980a1 100644
--- a/digital/io/src/hola.c
+++ b/digital/io/src/hola.c
@@ -60,22 +60,18 @@ FSM_START_WITH (HOLA_IDLE)
FSM_TRANS (HOLA_IDLE, start, HOLA_WAIT_HOLA)
{
- return FSM_NEXT (HOLA_IDLE, start);
}
FSM_TRANS (HOLA_WAIT_HOLA, hola_start, HOLA_WAIT_JACK_IN)
{
- return FSM_NEXT (HOLA_WAIT_HOLA, hola_start);
}
FSM_TRANS (HOLA_WAIT_JACK_IN, jack_inserted_into_bot, HOLA_WAIT_JACK_OUT)
{
- return FSM_NEXT (HOLA_WAIT_JACK_IN, jack_inserted_into_bot);
}
FSM_TRANS (HOLA_WAIT_JACK_OUT, jack_removed_from_bot, HOLA_ROUNDS)
{
- return FSM_NEXT (HOLA_WAIT_JACK_OUT, jack_removed_from_bot);
}
FSM_TRANS (HOLA_ROUNDS, asserv_last_cmd_ack,
@@ -96,14 +92,14 @@ FSM_TRANS (HOLA_ROUNDS, asserv_last_cmd_ack,
mimot_move_motor1_absolute (dx, BOT_CLAMP_SPEED);
asserv_move_motor0_absolute (dy, BOT_ELEVATOR_SPEED);
hola_angle += 0x1000000 / (225 / 12);
- return FSM_NEXT (HOLA_ROUNDS, asserv_last_cmd_ack, no_timeout);
+ return FSM_BRANCH (no_timeout);
}
else
{
asserv_set_speed (0x10, 0x1c, 0x10, 0x1c);
asserv_move_motor0_absolute (BOT_ELEVATOR_REST_STEP, BOT_ELEVATOR_SPEED / 3);
asserv_move_angularly (POSITION_A_DEG (174));
- return FSM_NEXT (HOLA_ROUNDS, asserv_last_cmd_ack, timeout);
+ return FSM_BRANCH (timeout);
}
}
@@ -112,21 +108,18 @@ FSM_TRANS (HOLA_UP, bot_move_succeed, HOLA_CENTER)
asserv_set_speed (0x10, 0x20, 0x10, 0x20);
asserv_move_angularly (POSITION_A_DEG (-90));
asserv_move_motor0_absolute (BOT_ELEVATOR_REST_STEP / 2, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (HOLA_UP, bot_move_succeed);
}
FSM_TRANS (HOLA_CENTER, bot_move_succeed, HOLA_CLAP_CLOSE)
{
mimot_motor0_clamp (BOT_CLAMP_ZERO_SPEED, 0);
mimot_motor1_clamp (BOT_CLAMP_ZERO_SPEED, 0);
- return FSM_NEXT (HOLA_CENTER, bot_move_succeed);
}
FSM_TRANS (HOLA_CLAP_CLOSE, clamp_succeed, HOLA_CLAP_OPEN)
{
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (HOLA_CLAP_CLOSE, clamp_succeed);
}
/*
@@ -136,5 +129,4 @@ FSM_TRANS (HOLA_CLAP_OPEN, clamp_succeed, HOLA_CLAP_CLOSE)
{
mimot_motor0_clamp (BOT_CLAMP_SPEED, 0);
mimot_motor1_clamp (BOT_CLAMP_SPEED, 0);
- return FSM_NEXT (HOLA_CLAP_OPEN, clamp_succeed);
}
diff --git a/digital/io/src/init.c b/digital/io/src/init.c
index 77701c2b..7915e961 100644
--- a/digital/io/src/init.c
+++ b/digital/io/src/init.c
@@ -82,7 +82,6 @@ FSM_START_WITH (INIT_IDLE)
*/
FSM_TRANS (INIT_IDLE, start, INIT_WAIT_FIRST_JACK_IN)
{
- return FSM_NEXT (INIT_IDLE, start);
}
/*
@@ -92,7 +91,6 @@ FSM_TRANS (INIT_WAIT_FIRST_JACK_IN,
jack_inserted_into_bot,
INIT_WAIT_FIRST_JACK_OUT)
{
- return FSM_NEXT (INIT_WAIT_FIRST_JACK_IN, jack_inserted_into_bot);
}
/*
@@ -107,7 +105,6 @@ FSM_TRANS (INIT_WAIT_FIRST_JACK_OUT,
trace_init ();
/* Get the color. */
team_color = switch_get_color ();
- return FSM_NEXT (INIT_WAIT_FIRST_JACK_OUT, jack_removed_from_bot);
}
/*
@@ -117,7 +114,6 @@ FSM_TRANS (INIT_WAIT_SECOND_JACK_IN,
jack_inserted_into_bot,
INIT_WAIT_FOR_HANDS_OUT)
{
- return FSM_NEXT (INIT_WAIT_SECOND_JACK_IN, jack_inserted_into_bot);
}
/*
@@ -128,7 +124,6 @@ FSM_TRANS_TIMEOUT (INIT_WAIT_FOR_HANDS_OUT, 225,
{
/* Go to the wall, no backward. */
asserv_go_to_the_wall (0);
- return FSM_NEXT_TIMEOUT (INIT_WAIT_FOR_HANDS_OUT);
}
/*
@@ -144,7 +139,6 @@ FSM_TRANS (INIT_GO_TO_THE_WALL,
asserv_set_angle_position (PG_A_DEG (90));
/* Move away from the border. */
asserv_move_linearly (- INIT_DIST);
- return FSM_NEXT (INIT_GO_TO_THE_WALL, bot_move_succeed);
}
/*
@@ -156,7 +150,6 @@ FSM_TRANS (INIT_GO_AWAY_FROM_THE_WALL,
{
/* Face the other wall. */
asserv_goto_angle (PG_A_DEG (180));
- return FSM_NEXT (INIT_GO_AWAY_FROM_THE_WALL, bot_move_succeed);
}
/*
@@ -166,7 +159,6 @@ FSM_TRANS (INIT_FACE_OTHER_WALL,
bot_move_succeed,
INIT_WAIT_AFTER_ROTATION)
{
- return FSM_NEXT (INIT_FACE_OTHER_WALL, bot_move_succeed);
}
/*
@@ -177,7 +169,6 @@ FSM_TRANS_TIMEOUT (INIT_WAIT_AFTER_ROTATION, 100,
{
/* Go to the wall, no backward. */
asserv_go_to_the_wall (0);
- return FSM_NEXT_TIMEOUT (INIT_WAIT_AFTER_ROTATION);
}
/*
@@ -191,7 +182,6 @@ FSM_TRANS (INIT_GO_TO_THE_WALL_AGAIN,
asserv_set_x_position (PG_X (BOT_SIZE_FRONT));
/* Move away from the border. */
asserv_move_linearly (- INIT_DIST);
- return FSM_NEXT (INIT_GO_TO_THE_WALL_AGAIN, bot_move_succeed);
}
/*
@@ -203,7 +193,6 @@ FSM_TRANS (INIT_GO_AWAY_FROM_THE_WALL_AGAIN,
{
/* Move away from the border. */
asserv_goto_xya (BOT_INIT_XYA, 0);
- return FSM_NEXT (INIT_GO_AWAY_FROM_THE_WALL_AGAIN, bot_move_succeed);
}
/*
@@ -213,7 +202,6 @@ FSM_TRANS (INIT_GO_TO_START_POSITION,
bot_move_succeed,
INIT_WAIT_SECOND_JACK_OUT)
{
- return FSM_NEXT (INIT_GO_TO_START_POSITION, bot_move_succeed);
}
/*
@@ -228,5 +216,4 @@ FSM_TRANS (INIT_WAIT_SECOND_JACK_OUT,
init_match_is_started = 1;
/* Start the chrono. */
chrono_start ();
- return FSM_NEXT (INIT_WAIT_SECOND_JACK_OUT, jack_removed_from_bot);
}
diff --git a/digital/io/src/loader.c b/digital/io/src/loader.c
index 82a548d8..21007506 100644
--- a/digital/io/src/loader.c
+++ b/digital/io/src/loader.c
@@ -132,21 +132,18 @@ FSM_START_WITH (LOADER_IDLE)
FSM_TRANS (LOADER_IDLE, start, LOADER_WAIT_JACK_IN)
{
- return FSM_NEXT (LOADER_IDLE, start);
}
FSM_TRANS (LOADER_WAIT_JACK_IN,
jack_inserted_into_bot,
LOADER_WAIT_JACK_OUT)
{
- return FSM_NEXT (LOADER_WAIT_JACK_IN, jack_inserted_into_bot);
}
FSM_TRANS (LOADER_WAIT_JACK_IN,
hola_start,
LOADER_IDLE)
{
- return FSM_NEXT (LOADER_WAIT_JACK_IN, hola_start);
}
/*
@@ -162,14 +159,12 @@ FSM_TRANS (LOADER_WAIT_JACK_OUT,
mimot_motor0_clamp (BOT_CLAMP_ZERO_SPEED, 0);
mimot_motor1_clamp (BOT_CLAMP_ZERO_SPEED, 0);
asserv_motor1_zero_position (-BOT_GATE_SPEED);
- return FSM_NEXT (LOADER_WAIT_JACK_OUT, jack_removed_from_bot);
}
FSM_TRANS (LOADER_INIT_ELEVATOR_ZERO,
elevator_succeed,
LOADER_INIT_CLAMP_CLOSE)
{
- return FSM_NEXT (LOADER_INIT_ELEVATOR_ZERO, elevator_succeed);
}
/*
@@ -184,28 +179,24 @@ FSM_TRANS (LOADER_INIT_CLAMP_CLOSE,
BOT_ELEVATOR_ZERO_SPEED);
mimot_motor0_zero_position (-BOT_CLAMP_ZERO_SPEED);
mimot_motor1_zero_position (-BOT_CLAMP_ZERO_SPEED);
- return FSM_NEXT (LOADER_INIT_CLAMP_CLOSE, clamp_succeed);
}
FSM_TRANS (LOADER_INIT_CLAMP_ZERO,
clamp_succeed,
LOADER_INIT_GATE_ZERO)
{
- return FSM_NEXT (LOADER_INIT_CLAMP_ZERO, clamp_succeed);
}
FSM_TRANS (LOADER_INIT_GATE_ZERO,
gate_succeed,
LOADER_INIT_ELEVATOR_UP)
{
- return FSM_NEXT (LOADER_INIT_GATE_ZERO, gate_succeed);
}
FSM_TRANS (LOADER_INIT_ELEVATOR_UP,
elevator_succeed,
LOADER_INIT_GATE_WAIT)
{
- return FSM_NEXT (LOADER_INIT_ELEVATOR_UP, elevator_succeed);
}
/*
@@ -218,7 +209,6 @@ FSM_TRANS (LOADER_INIT_ELEVATOR_UP,
/* Move so that the operator notice it. */
asserv_move_motor0_absolute (BOT_ELEVATOR_STROKE_STEP / 3,
BOT_ELEVATOR_ZERO_SPEED);
- return FSM_NEXT (LOADER_INIT_ELEVATOR_UP, elevator_failed);
}
/*
@@ -228,14 +218,12 @@ FSM_TRANS_TIMEOUT (LOADER_INIT_GATE_WAIT, 225,
LOADER_INIT_GATE_CLOSE)
{
asserv_move_motor1_absolute (BOT_GATE_STROKE_STEP, BOT_GATE_SPEED);
- return FSM_NEXT_TIMEOUT (LOADER_INIT_GATE_WAIT);
}
FSM_TRANS (LOADER_INIT_GATE_CLOSE,
gate_succeed,
LOADER_UP)
{
- return FSM_NEXT (LOADER_INIT_GATE_CLOSE, gate_succeed);
}
/*
@@ -246,7 +234,6 @@ FSM_TRANS (LOADER_UP,
LOADER_DOWNING)
{
asserv_move_motor0_absolute (BOT_ELEVATOR_DOWN_STEP, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_UP, loader_down);
}
/*
@@ -257,7 +244,6 @@ FSM_TRANS (LOADER_DOWN,
LOADER_UPING)
{
asserv_move_motor0_absolute (BOT_ELEVATOR_REST_STEP, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_DOWN, loader_up);
}
/*
@@ -269,7 +255,6 @@ FSM_TRANS (LOADER_DOWN,
{
mimot_motor0_clamp (BOT_CLAMP_SPEED, BOT_CLAMP_PWM);
mimot_motor1_clamp (BOT_CLAMP_SPEED, BOT_CLAMP_PWM);
- return FSM_NEXT (LOADER_DOWN, loader_element);
}
/*
@@ -279,8 +264,7 @@ FSM_TRANS (LOADER_UPING,
elevator_succeed,
LOADER_UP)
{
- fsm_queue_post_event (FSM_EVENT (AI,loader_uped));
- return FSM_NEXT (LOADER_UPING, elevator_succeed);
+ fsm_queue_post_event (FSM_EVENT (loader_uped));
}
/*
@@ -290,8 +274,7 @@ FSM_TRANS (LOADER_UPING,
elevator_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_UPING, elevator_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -302,7 +285,6 @@ FSM_TRANS (LOADER_UPING,
LOADER_DOWNING)
{
asserv_move_motor0_absolute (BOT_ELEVATOR_DOWN_STEP, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_UPING, loader_down);
}
/*
@@ -314,8 +296,7 @@ FSM_TRANS (LOADER_DOWNING,
LOADER_DOWN)
{
asserv_motor0_free ();
- fsm_queue_post_event (FSM_EVENT (AI, loader_downed));
- return FSM_NEXT (LOADER_DOWNING, elevator_succeed);
+ fsm_queue_post_event (FSM_EVENT (loader_downed));
}
/*
@@ -325,8 +306,7 @@ FSM_TRANS (LOADER_DOWNING,
elevator_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_DOWNING, elevator_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -338,8 +318,7 @@ FSM_TRANS (LOADER_DOWNING,
LOADER_ERROR)
{
asserv_motor0_free ();
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_DOWNING, loader_element);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -350,7 +329,6 @@ FSM_TRANS (LOADER_DOWNING,
LOADER_UPING)
{
asserv_move_motor0_absolute (BOT_ELEVATOR_REST_STEP, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_DOWNING, loader_up);
}
/*
@@ -361,7 +339,6 @@ FSM_TRANS (LOADER_ERROR,
LOADER_ERROR_DOWNING)
{
asserv_move_motor0_absolute (BOT_ELEVATOR_DOWN_STEP, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_ERROR, loader_down);
}
/*
@@ -372,7 +349,6 @@ FSM_TRANS (LOADER_ERROR,
LOADER_ERROR_UPING)
{
asserv_move_motor0_absolute (BOT_ELEVATOR_STROKE_STEP, BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_ERROR, loader_up);
}
/*
@@ -386,7 +362,6 @@ FSM_TRANS (LOADER_ERROR_DOWNING,
asserv_motor0_free ();
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (LOADER_ERROR_DOWNING, elevator_succeed);
}
/*
@@ -396,8 +371,7 @@ FSM_TRANS (LOADER_ERROR_DOWNING,
elevator_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_ERROR_DOWNING, elevator_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -406,8 +380,7 @@ FSM_TRANS (LOADER_ERROR_DOWNING,
FSM_TRANS_TIMEOUT (LOADER_ERROR_DOWNING, 225,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT_TIMEOUT (LOADER_ERROR_DOWNING);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -417,8 +390,7 @@ FSM_TRANS (LOADER_ERROR_DOWNING_OPEN,
clamp_succeed,
LOADER_DOWN)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_downed));
- return FSM_NEXT (LOADER_ERROR_DOWNING_OPEN, clamp_succeed);
+ fsm_queue_post_event (FSM_EVENT (loader_downed));
}
/*
@@ -428,8 +400,7 @@ FSM_TRANS (LOADER_ERROR_DOWNING_OPEN,
clamp_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_ERROR_DOWNING_OPEN, clamp_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -438,8 +409,7 @@ FSM_TRANS (LOADER_ERROR_DOWNING_OPEN,
FSM_TRANS_TIMEOUT (LOADER_ERROR_DOWNING_OPEN, 225,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT_TIMEOUT (LOADER_ERROR_DOWNING_OPEN);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -451,7 +421,6 @@ FSM_TRANS (LOADER_ERROR_UPING,
{
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (LOADER_ERROR_UPING, elevator_succeed);
}
/*
@@ -461,8 +430,7 @@ FSM_TRANS (LOADER_ERROR_UPING,
elevator_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_ERROR_UPING, elevator_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -471,8 +439,7 @@ FSM_TRANS (LOADER_ERROR_UPING,
FSM_TRANS_TIMEOUT (LOADER_ERROR_UPING, 225,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT_TIMEOUT (LOADER_ERROR_UPING);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -482,8 +449,7 @@ FSM_TRANS (LOADER_ERROR_UPING_OPEN,
clamp_succeed,
LOADER_UP)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_uped));
- return FSM_NEXT (LOADER_ERROR_UPING_OPEN, clamp_succeed);
+ fsm_queue_post_event (FSM_EVENT (loader_uped));
}
/*
@@ -493,8 +459,7 @@ FSM_TRANS (LOADER_ERROR_UPING_OPEN,
clamp_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_ERROR_UPING_OPEN, clamp_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
/*
@@ -503,8 +468,7 @@ FSM_TRANS (LOADER_ERROR_UPING_OPEN,
FSM_TRANS_TIMEOUT (LOADER_ERROR_UPING_OPEN, 225,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT_TIMEOUT (LOADER_ERROR_UPING_OPEN);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
FSM_TRANS (LOADER_LOAD_CLOSING, clamp_succeed,
@@ -526,13 +490,13 @@ FSM_TRANS (LOADER_LOAD_CLOSING, clamp_succeed,
asserv_get_position (&robot_position);
food_taken (robot_position);
loader_elements++;
- return FSM_NEXT (LOADER_LOAD_CLOSING, clamp_succeed, full);
+ return FSM_BRANCH (full);
}
else
{
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (LOADER_LOAD_CLOSING, clamp_succeed, empty);
+ return FSM_BRANCH (empty);
}
}
@@ -545,7 +509,6 @@ FSM_TRANS (LOADER_LOAD_UPING,
{
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (LOADER_LOAD_UPING, elevator_unload_position);
}
/*
@@ -561,20 +524,18 @@ FSM_TRANS (LOADER_LOAD_UPING,
{
if (loader_elements)
loader_elements--;
- fsm_queue_post_event (FSM_EVENT (AI, loader_black));
+ fsm_queue_post_event (FSM_EVENT (loader_black));
}
else
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (LOADER_LOAD_UPING, elevator_failed);
}
FSM_TRANS (LOADER_LOAD_UNLOADING,
elevator_succeed,
LOADER_LOAD_UNLOADING_OPEN)
{
- return FSM_NEXT (LOADER_LOAD_UNLOADING, elevator_succeed);
}
/*
@@ -585,10 +546,9 @@ FSM_TRANS (LOADER_LOAD_UNLOADING,
elevator_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
mimot_move_motor0_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
mimot_move_motor1_absolute (BOT_CLAMP_OPEN_STEP, BOT_CLAMP_SPEED);
- return FSM_NEXT (LOADER_LOAD_UNLOADING, elevator_failed);
}
FSM_TRANS (LOADER_LOAD_UNLOADING_OPEN, clamp_succeed,
@@ -601,13 +561,13 @@ FSM_TRANS (LOADER_LOAD_UNLOADING_OPEN, clamp_succeed,
{
asserv_move_motor0_absolute (BOT_ELEVATOR_REST_STEP,
BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_LOAD_UNLOADING_OPEN, clamp_succeed, up);
+ return FSM_BRANCH (up);
}
else
{
asserv_move_motor0_absolute (BOT_ELEVATOR_DOWN_STEP,
BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_LOAD_UNLOADING_OPEN, clamp_succeed, down);
+ return FSM_BRANCH (down);
}
}
@@ -618,8 +578,7 @@ FSM_TRANS (LOADER_LOAD_UNLOADING_OPEN,
clamp_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_LOAD_UNLOADING_OPEN, clamp_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
FSM_TRANS (LOADER_LOAD_EMPTY_OPEN, clamp_succeed,
@@ -632,12 +591,12 @@ FSM_TRANS (LOADER_LOAD_EMPTY_OPEN, clamp_succeed,
{
asserv_move_motor0_absolute (BOT_ELEVATOR_REST_STEP,
BOT_ELEVATOR_SPEED);
- return FSM_NEXT (LOADER_LOAD_EMPTY_OPEN, clamp_succeed, up);
+ return FSM_BRANCH (up);
}
else
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_downed));
- return FSM_NEXT (LOADER_LOAD_EMPTY_OPEN, clamp_succeed, down);
+ fsm_queue_post_event (FSM_EVENT (loader_downed));
+ return FSM_BRANCH (down);
}
}
@@ -648,6 +607,5 @@ FSM_TRANS (LOADER_LOAD_EMPTY_OPEN,
clamp_failed,
LOADER_ERROR)
{
- fsm_queue_post_event (FSM_EVENT (AI, loader_errored));
- return FSM_NEXT (LOADER_LOAD_EMPTY_OPEN, clamp_failed);
+ fsm_queue_post_event (FSM_EVENT (loader_errored));
}
diff --git a/digital/io/src/move.c b/digital/io/src/move.c
index c497d2f0..6d94164c 100644
--- a/digital/io/src/move.c
+++ b/digital/io/src/move.c
@@ -299,14 +299,14 @@ FSM_TRANS (MOVE_IDLE, move_start,
if (next)
{
if (next == 2)
- return FSM_NEXT (MOVE_IDLE, move_start, path_found_rotate);
+ return FSM_BRANCH (path_found_rotate);
else
- return FSM_NEXT (MOVE_IDLE, move_start, path_found);
+ return FSM_BRANCH (path_found);
}
else
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_IDLE, move_start, no_path_found);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (no_path_found);
}
}
@@ -319,7 +319,6 @@ FSM_TRANS (MOVE_ROTATING,
{
loader_down ();
move_go ();
- return FSM_NEXT (MOVE_ROTATING, bot_move_succeed);
}
/*
@@ -331,7 +330,6 @@ FSM_TRANS (MOVE_ROTATING,
{
loader_down ();
move_go ();
- return FSM_NEXT (MOVE_ROTATING, bot_move_failed);
}
/*
@@ -342,7 +340,6 @@ FSM_TRANS_TIMEOUT (MOVE_ROTATING, 1125,
{
loader_down ();
move_go ();
- return FSM_NEXT_TIMEOUT (MOVE_ROTATING);
}
/*
@@ -355,7 +352,6 @@ FSM_TRANS (MOVE_ROTATING,
{
asserv_move_linearly (-MOVE_LOADER_UNBLOCKING_DISTANCE);
loader_up ();
- return FSM_NEXT (MOVE_ROTATING, loader_errored);
}
FSM_TRANS (MOVE_MOVING, bot_move_succeed,
@@ -370,18 +366,18 @@ FSM_TRANS (MOVE_MOVING, bot_move_succeed,
{
if (move_data.final_move)
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_succeed));
- return FSM_NEXT (MOVE_MOVING, bot_move_succeed, done);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_succeed));
+ return FSM_BRANCH (done);
}
else
{
uint8_t next = move_path_next ();
if (next == 2)
- return FSM_NEXT (MOVE_MOVING, bot_move_succeed, path_found_rotate);
+ return FSM_BRANCH (path_found_rotate);
else
- return FSM_NEXT (MOVE_MOVING, bot_move_succeed, path_found);
+ return FSM_BRANCH (path_found);
}
- //return FSM_NEXT (MOVE_MOVING, bot_move_succeed, no_path_found);
+ //return return FSM_BRANCH (no_path_found);
}
@@ -414,7 +410,6 @@ FSM_TRANS (MOVE_MOVING,
MOVE_MOVING_BACKWARD_TO_TURN_FREELY)
{
move_MOVE_MOVING_bot_move_failed_MOVE_MOVING_BACKWARD_TO_TURN_FREELY ();
- return FSM_NEXT (MOVE_MOVING, bot_move_failed);
}
/*
@@ -425,7 +420,6 @@ FSM_TRANS_TIMEOUT (MOVE_MOVING, 2250,
MOVE_MOVING_BACKWARD_TO_TURN_FREELY)
{
move_MOVE_MOVING_bot_move_failed_MOVE_MOVING_BACKWARD_TO_TURN_FREELY ();
- return FSM_NEXT_TIMEOUT (MOVE_MOVING);
}
FSM_TRANS (MOVE_MOVING, obstacle_in_front,
@@ -440,11 +434,11 @@ FSM_TRANS (MOVE_MOVING, obstacle_in_front,
asserv_stop_motor ();
if (--move_data.try_again_counter == 0)
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_MOVING, obstacle_in_front, tryout);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (tryout);
}
else
- return FSM_NEXT (MOVE_MOVING, obstacle_in_front, tryagain);
+ return FSM_BRANCH (tryagain);
}
/*
@@ -457,7 +451,6 @@ FSM_TRANS (MOVE_MOVING,
{
asserv_move_linearly (-MOVE_LOADER_UNBLOCKING_DISTANCE);
loader_up ();
- return FSM_NEXT (MOVE_MOVING, loader_errored);
}
FSM_TRANS (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed,
@@ -472,8 +465,8 @@ FSM_TRANS (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed,
{
if (--move_data.try_again_counter == 0)
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed, tryout);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (tryout);
}
else
{
@@ -481,14 +474,14 @@ FSM_TRANS (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed,
if (next)
{
if (next == 2)
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed, path_found_rotate);
+ return FSM_BRANCH (path_found_rotate);
else
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed, path_found);
+ return FSM_BRANCH (path_found);
}
else
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_succeed, no_path_found);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (no_path_found);
}
}
}
@@ -507,8 +500,8 @@ FSM_TRANS (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed,
{
if (--move_data.try_again_counter == 0)
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed, tryout);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (tryout);
}
else
{
@@ -516,19 +509,19 @@ FSM_TRANS (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed,
if (next)
{
if (next == 2)
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed, path_found_rotate);
+ return FSM_BRANCH (path_found_rotate);
else
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed, path_found);
+ return FSM_BRANCH (path_found);
}
else
{
if (--move_data.try_again_counter == 0)
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed, no_path_found_tryout);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (no_path_found_tryout);
}
else
- return FSM_NEXT (MOVE_MOVING_BACKWARD_TO_TURN_FREELY, bot_move_failed, no_path_found_tryagain);
+ return FSM_BRANCH (no_path_found_tryagain);
}
}
}
@@ -548,20 +541,20 @@ FSM_TRANS_TIMEOUT (MOVE_WAIT_FOR_CLEAR_PATH, 255,
if (next)
{
if (next == 2)
- return FSM_NEXT_TIMEOUT (MOVE_WAIT_FOR_CLEAR_PATH, path_found_rotate);
+ return FSM_BRANCH (path_found_rotate);
else
- return FSM_NEXT_TIMEOUT (MOVE_WAIT_FOR_CLEAR_PATH, path_found);
+ return FSM_BRANCH (path_found);
}
else
{
/* Error, no new position, should we try again? */
if (--move_data.try_again_counter == 0)
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT_TIMEOUT (MOVE_WAIT_FOR_CLEAR_PATH, no_path_found_tryout);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (no_path_found_tryout);
}
else
- return FSM_NEXT_TIMEOUT (MOVE_WAIT_FOR_CLEAR_PATH, no_path_found_tryagain);
+ return FSM_BRANCH (no_path_found_tryagain);
}
}
@@ -575,7 +568,6 @@ FSM_TRANS (MOVE_LOADER_UNBLOCKING_UPING,
{
loader_down ();
move_data.loader_unblocking_retry = 2;
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_UPING, bot_move_succeed);
}
/*
@@ -588,7 +580,6 @@ FSM_TRANS (MOVE_LOADER_UNBLOCKING_UPING,
{
loader_down ();
move_data.loader_unblocking_retry = 2;
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_UPING, bot_move_failed);
}
FSM_TRANS (MOVE_LOADER_UNBLOCKING_DOWNING, loader_downed,
@@ -604,14 +595,14 @@ FSM_TRANS (MOVE_LOADER_UNBLOCKING_DOWNING, loader_downed,
if (next)
{
if (next == 2)
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_downed, path_found_rotate);
+ return FSM_BRANCH (path_found_rotate);
else
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_downed, path_found);
+ return FSM_BRANCH (path_found);
}
else
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_downed, no_path_found);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (no_path_found);
}
}
@@ -630,7 +621,7 @@ FSM_TRANS (MOVE_LOADER_UNBLOCKING_DOWNING, loader_errored,
{
asserv_move_linearly (-MOVE_LOADER_UNBLOCKING_DISTANCE);
loader_up ();
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_errored, tryagain);
+ return FSM_BRANCH (tryagain);
}
else
{
@@ -639,14 +630,14 @@ FSM_TRANS (MOVE_LOADER_UNBLOCKING_DOWNING, loader_errored,
if (next)
{
if (next == 2)
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_errored, tryout_path_found_rotate);
+ return FSM_BRANCH (tryout_path_found_rotate);
else
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_errored, tryout_path_found);
+ return FSM_BRANCH (tryout_path_found);
}
else
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT (MOVE_LOADER_UNBLOCKING_DOWNING, loader_errored, tryout_no_path_found);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (tryout_no_path_found);
}
}
}
@@ -666,7 +657,7 @@ FSM_TRANS_TIMEOUT (MOVE_LOADER_UNBLOCKING_DOWNING, 450,
{
asserv_move_linearly (-MOVE_LOADER_UNBLOCKING_DISTANCE);
loader_up ();
- return FSM_NEXT_TIMEOUT (MOVE_LOADER_UNBLOCKING_DOWNING, tryagain);
+ return FSM_BRANCH (tryagain);
}
else
{
@@ -675,14 +666,14 @@ FSM_TRANS_TIMEOUT (MOVE_LOADER_UNBLOCKING_DOWNING, 450,
if (next)
{
if (next == 2)
- return FSM_NEXT_TIMEOUT (MOVE_LOADER_UNBLOCKING_DOWNING, tryout_path_found_rotate);
+ return FSM_BRANCH (tryout_path_found_rotate);
else
- return FSM_NEXT_TIMEOUT (MOVE_LOADER_UNBLOCKING_DOWNING, tryout_path_found);
+ return FSM_BRANCH (tryout_path_found);
}
else
{
- fsm_queue_post_event (FSM_EVENT (AI, move_fsm_failed));
- return FSM_NEXT_TIMEOUT (MOVE_LOADER_UNBLOCKING_DOWNING, tryout_no_path_found);
+ fsm_queue_post_event (FSM_EVENT (move_fsm_failed));
+ return FSM_BRANCH (tryout_no_path_found);
}
}
}
diff --git a/digital/io/src/top.c b/digital/io/src/top.c
index 83cbdbda..224957ce 100644
--- a/digital/io/src/top.c
+++ b/digital/io/src/top.c
@@ -125,7 +125,6 @@ FSM_START_WITH (IDLE)
/* Nothing to do. */
FSM_TRANS (IDLE, start, WAIT_INIT_TO_FINISH)
{
- return FSM_NEXT (IDLE, start);
}
/*
@@ -139,7 +138,6 @@ FSM_TRANS (WAIT_INIT_TO_FINISH,
{
asserv_set_speed (BOT_MOVE_FAST);
move_start_noangle (PG_VECT (375, 1503), 0, 0);
- return FSM_NEXT (WAIT_INIT_TO_FINISH, init_match_is_started);
}
/*
@@ -152,7 +150,6 @@ FSM_TRANS (FIRST_GO_BEGIN_OF_LINE_FAST,
{
move_start_noangle (PG_VECT (2625, 253), 0, 0);
loader_down ();
- return FSM_NEXT (FIRST_GO_BEGIN_OF_LINE_FAST, move_fsm_succeed);
}
/*
@@ -165,7 +162,6 @@ FSM_TRANS (FIRST_GO_BEGIN_OF_LINE_FAST,
{
asserv_set_speed (BOT_MOVE_SLOW);
move_start_noangle (PG_VECT (375, 1503), 0, 0);
- return FSM_NEXT (FIRST_GO_BEGIN_OF_LINE_FAST, move_fsm_failed);
}
/*
@@ -176,7 +172,6 @@ FSM_TRANS (FIRST_GO_END_OF_LINE_FAST,
FIRST_GO_END_OF_LINE_SLOW)
{
asserv_set_speed (BOT_MOVE_SLOW);
- return FSM_NEXT (FIRST_GO_END_OF_LINE_FAST, in_field);
}
/*
@@ -189,7 +184,6 @@ FSM_TRANS (FIRST_GO_END_OF_LINE_FAST,
{
asserv_set_speed (BOT_MOVE_SLOW);
loader_up ();
- return FSM_NEXT (FIRST_GO_END_OF_LINE_FAST, move_fsm_succeed);
}
/*
@@ -202,7 +196,6 @@ FSM_TRANS (FIRST_GO_END_OF_LINE_FAST,
{
asserv_set_speed (BOT_MOVE_SLOW);
move_start_noangle (PG_VECT (2625, 253), 0, 0);
- return FSM_NEXT (FIRST_GO_END_OF_LINE_FAST, move_fsm_failed);
}
/*
@@ -213,7 +206,6 @@ FSM_TRANS (FIRST_GO_END_OF_LINE_SLOW,
UNLOAD_LOADER_UP)
{
loader_up ();
- return FSM_NEXT (FIRST_GO_END_OF_LINE_SLOW, move_fsm_succeed);
}
/*
@@ -224,7 +216,6 @@ FSM_TRANS (FIRST_GO_END_OF_LINE_SLOW,
FIRST_GO_END_OF_LINE_SLOW)
{
move_start_noangle (PG_VECT (2625, 253), 0, 0);
- return FSM_NEXT (FIRST_GO_END_OF_LINE_SLOW, move_fsm_failed);
}
/*
@@ -233,7 +224,6 @@ FSM_TRANS (FIRST_GO_END_OF_LINE_SLOW,
FSM_TRANS (UNLOAD, move_fsm_succeed, UNLOAD_LOADER_UP)
{
loader_up ();
- return FSM_NEXT (UNLOAD, move_fsm_succeed);
}
/*
@@ -242,7 +232,6 @@ FSM_TRANS (UNLOAD, move_fsm_succeed, UNLOAD_LOADER_UP)
FSM_TRANS (UNLOAD, move_fsm_failed, UNLOAD)
{
move_start_noangle (PG_VECT (2625, 253), 0, 0);
- return FSM_NEXT (UNLOAD, move_fsm_failed);
}
/*
@@ -251,7 +240,6 @@ FSM_TRANS (UNLOAD, move_fsm_failed, UNLOAD)
FSM_TRANS (UNLOAD_LOADER_UP, loader_uped, UNLOAD_FACE_BIN)
{
asserv_goto_angle (PG_A_DEG (90));
- return FSM_NEXT (UNLOAD_LOADER_UP, loader_uped);
}
/*
@@ -260,7 +248,6 @@ FSM_TRANS (UNLOAD_LOADER_UP, loader_uped, UNLOAD_FACE_BIN)
FSM_TRANS (UNLOAD_LOADER_UP, loader_errored, UNLOAD_FACE_BIN)
{
asserv_goto_angle (PG_A_DEG (90));
- return FSM_NEXT (UNLOAD_LOADER_UP, loader_errored);
}
/*
@@ -269,7 +256,6 @@ FSM_TRANS (UNLOAD_LOADER_UP, loader_errored, UNLOAD_FACE_BIN)
FSM_TRANS (UNLOAD_FACE_BIN, bot_move_succeed, UNLOAD_BACK_BIN)
{
asserv_move_linearly (-(128 + 250 / 2 - BOT_SIZE_BACK - 50));
- return FSM_NEXT (UNLOAD_FACE_BIN, bot_move_succeed);
}
/*
@@ -278,7 +264,6 @@ FSM_TRANS (UNLOAD_FACE_BIN, bot_move_succeed, UNLOAD_BACK_BIN)
FSM_TRANS (UNLOAD_FACE_BIN, bot_move_failed, UNLOAD_FACE_BIN_UNBLOCK)
{
asserv_move_linearly (-40);
- return FSM_NEXT (UNLOAD_FACE_BIN, bot_move_failed);
}
/*
@@ -287,7 +272,6 @@ FSM_TRANS (UNLOAD_FACE_BIN, bot_move_failed, UNLOAD_FACE_BIN_UNBLOCK)
FSM_TRANS (UNLOAD_FACE_BIN_UNBLOCK, bot_move_succeed, UNLOAD_FACE_BIN)
{
asserv_goto_angle (PG_A_DEG (90));
- return FSM_NEXT (UNLOAD_FACE_BIN_UNBLOCK, bot_move_succeed);
}
/*
@@ -296,7 +280,6 @@ FSM_TRANS (UNLOAD_FACE_BIN_UNBLOCK, bot_move_succeed, UNLOAD_FACE_BIN)
FSM_TRANS (UNLOAD_FACE_BIN_UNBLOCK, bot_move_failed, UNLOAD_FACE_BIN)
{
asserv_goto_angle (PG_A_DEG (90));
- return FSM_NEXT (UNLOAD_FACE_BIN_UNBLOCK, bot_move_failed);
}
/*
@@ -305,7 +288,6 @@ FSM_TRANS (UNLOAD_FACE_BIN_UNBLOCK, bot_move_failed, UNLOAD_FACE_BIN)
FSM_TRANS (UNLOAD_BACK_BIN, bot_move_succeed, UNLOAD_UNLOAD)
{
asserv_move_motor1_absolute (0, BOT_GATE_SPEED);
- return FSM_NEXT (UNLOAD_BACK_BIN, bot_move_succeed);
}
/*
@@ -314,7 +296,6 @@ FSM_TRANS (UNLOAD_BACK_BIN, bot_move_succeed, UNLOAD_UNLOAD)
FSM_TRANS (UNLOAD_BACK_BIN, bot_move_failed, UNLOAD_UNLOAD)
{
asserv_move_motor1_absolute (0, BOT_GATE_SPEED);
- return FSM_NEXT (UNLOAD_BACK_BIN, bot_move_failed);
}
/*
@@ -328,7 +309,6 @@ FSM_TRANS_TIMEOUT (UNLOAD_UNLOAD, 255, COLLECT)
asserv_move_motor1_absolute (BOT_GATE_STROKE_STEP, BOT_GATE_SPEED);
loader_down ();
top_collect (1);
- return FSM_NEXT_TIMEOUT (UNLOAD_UNLOAD);
}
/*
@@ -343,12 +323,12 @@ FSM_TRANS (COLLECT, move_fsm_succeed,
if (slow_motion)
{
FSM_HANDLE (AI, loader_element);
- return FSM_NEXT (COLLECT, move_fsm_succeed, slow_motion);
+ return FSM_BRANCH (slow_motion);
}
else if (top_collect (0))
- return FSM_NEXT (COLLECT, move_fsm_succeed, collect);
+ return FSM_BRANCH (collect);
else
- return FSM_NEXT (COLLECT, move_fsm_succeed, unload);
+ return FSM_BRANCH (unload);
}
/*
@@ -361,10 +341,10 @@ FSM_TRANS (COLLECT, move_fsm_failed,
if (top_collect (0))
{
food_cancel (top_food);
- return FSM_NEXT (COLLECT, move_fsm_failed, collect);
+ return FSM_BRANCH (collect);
}
else
- return FSM_NEXT (COLLECT, move_fsm_failed, unload);
+ return FSM_BRANCH (unload);
}
/*
@@ -375,7 +355,6 @@ FSM_TRANS (COLLECT, loader_black, COLLECT_BLACK)
{
asserv_move_linearly (-90);
food_black (top_food);
- return FSM_NEXT (COLLECT, loader_black);
}
/*
@@ -386,9 +365,9 @@ FSM_TRANS (COLLECT_SLOW_MOTION, loader_downed,
collect, COLLECT)
{
if (top_collect (0))
- return FSM_NEXT (COLLECT_SLOW_MOTION, loader_downed, collect);
+ return FSM_BRANCH (collect);
else
- return FSM_NEXT (COLLECT_SLOW_MOTION, loader_downed, unload);
+ return FSM_BRANCH (unload);
}
/*
@@ -399,9 +378,9 @@ FSM_TRANS (COLLECT_SLOW_MOTION, loader_errored,
collect, COLLECT)
{
if (top_collect (0))
- return FSM_NEXT (COLLECT_SLOW_MOTION, loader_errored, collect);
+ return FSM_BRANCH (collect);
else
- return FSM_NEXT (COLLECT_SLOW_MOTION, loader_errored, unload);
+ return FSM_BRANCH (unload);
}
/*
@@ -412,9 +391,9 @@ FSM_TRANS_TIMEOUT (COLLECT_SLOW_MOTION, 450,
collect, COLLECT)
{
if (top_collect (0))
- return FSM_NEXT_TIMEOUT (COLLECT_SLOW_MOTION, collect);
+ return FSM_BRANCH (collect);
else
- return FSM_NEXT_TIMEOUT (COLLECT_SLOW_MOTION, unload);
+ return FSM_BRANCH (unload);
}
/*
@@ -425,7 +404,6 @@ FSM_TRANS (COLLECT_SLOW_MOTION, loader_black, COLLECT_BLACK)
{
asserv_move_linearly (-90);
food_black (top_food);
- return FSM_NEXT (COLLECT_SLOW_MOTION, loader_black);
}
FSM_TRANS (COLLECT_BLACK, bot_move_succeed,
@@ -433,9 +411,9 @@ FSM_TRANS (COLLECT_BLACK, bot_move_succeed,
collect, COLLECT)
{
if (top_collect (0))
- return FSM_NEXT (COLLECT_BLACK, bot_move_succeed, collect);
+ return FSM_BRANCH (collect);
else
- return FSM_NEXT (COLLECT_BLACK, bot_move_succeed, unload);
+ return FSM_BRANCH (unload);
}
FSM_TRANS (COLLECT_BLACK, bot_move_failed,
@@ -443,8 +421,8 @@ FSM_TRANS (COLLECT_BLACK, bot_move_failed,
collect, COLLECT)
{
if (top_collect (0))
- return FSM_NEXT (COLLECT_BLACK, bot_move_failed, collect);
+ return FSM_BRANCH (collect);
else
- return FSM_NEXT (COLLECT_BLACK, bot_move_failed, unload);
+ return FSM_BRANCH (unload);
}