]> rtime.felk.cvut.cz Git - eurobot/public.git/blob - src/robofsm/common-states.h
e17520f0e0c75dfa201fed612f51fb8bde35ee97
[eurobot/public.git] / src / robofsm / common-states.h
1 #ifndef COMMON_STATES_H
2 #define COMMON_STATES_H
3
4 #define FSM_MAIN
5
6 #include "roboevent.h"
7 #include <fsm.h>
8
9 extern struct TrajectoryConstraints tcFast, tcVeryFast, tcSlow, tcVerySlow;
10 extern double totem_x, totem_y;
11 extern bool up;
12 /* strategy FSM */
13 FSM_STATE_DECL(get_central_buillon_first);
14 FSM_STATE_DECL(ignore_central_buillon);
15 //FSM_STATE_DECL(calibrate);
16
17 /* Strategy catch buillon in center */
18 FSM_STATE_DECL(approach_central_buillon);
19 FSM_STATE_DECL(catch_central_buillon);
20 FSM_STATE_DECL(leave_central_buillon);
21 FSM_STATE_DECL(push_bottle_bw);
22 FSM_STATE_DECL(return_home);
23
24 /* Ignore central buillon */
25 //FSM_STATE_DECL(push_nearest_buillon);
26 //FSM_STATE_DECL(push_bottle_fw);
27
28 /* Common states */
29 FSM_STATE_DECL(leave_home);
30 FSM_STATE_DECL(leave_home_for_totem);
31 FSM_STATE_DECL(approach_totem_down);
32 FSM_STATE_DECL(catch_totem_buillon_down);
33 FSM_STATE_DECL(leave_totem_down);
34 FSM_STATE_DECL(place_buillon_home);
35 FSM_STATE_DECL(approach_totem_up);
36 FSM_STATE_DECL(catch_totem_buillon_up);
37 FSM_STATE_DECL(leave_totem_up);
38
39 /*FSM_STATE_DECL(place_down_buillon);
40 FSM_STATE_DECL(approach_totem_up);
41 FSM_STATE_DECL(catch_up_totem_buillon);
42 FSM_STATE_DECL(leave_totem_up);
43 FSM_STATE_DECL(place_up_buillon);
44
45 FSM_STATE_DECL(push_second_bottle);
46 */
47 void start_entry();
48 void start_timer();
49 void start_go();
50 void start_exit();
51 bool read_sharp();
52
53
54
55 #endif