00001
00006 #ifndef _roboevent_h
00007 #define _roboevent_h
00008 #include <fsm_common_events.h>
00009
00011 enum fsm_events_motion {
00012 __MOTION_EV_TRAJECTORY_DONE = 100,
00013 __MOTION_EV_TRAJECTORY_DONE_AND_CLOSE = 101,
00014 __MOTION_EV_NEW_TRAJECTORY = 102,
00015 __MOTION_EV_MOVE_STOP = 103,
00016 __MOTION_EV_LOC_UPDATED = 104,
00017 __MOTION_EV_NEW_GOAL = 105,
00018 __MOTION_EV_LOC_LOST = 106,
00019 __MOTION_EV_TRAJECTORY_LOST = 107,
00020 __MOTION_COMMON_EV_INIT = __COMMON_EV_INIT,
00021 __MOTION_COMMON_EV_EXIT = __COMMON_EV_EXIT,
00022 __MOTION_COMMON_EV_STATE_ENTERED = __COMMON_EV_STATE_ENTERED,
00023 __MOTION_COMMON_EV_RETURN = __COMMON_EV_RETURN,
00024 __MOTION_COMMON_EV_TIMEOUT = __COMMON_EV_TIMEOUT,
00025 __MOTION_COMMON_EV_TIMER = __COMMON_EV_TIMER,
00026 };
00027
00028 #ifdef FSM_MOTION
00029 #ifdef __FSM_ALIASES_DEFINED
00030 #error Multiple FSM_<ID> macros defined
00031 #else
00032 #define __FSM_ALIASES_DEFINED
00033 #endif
00034 #define __FSM_EVENT_ENUM enum fsm_events_motion
00035
00036 #define EV_TRAJECTORY_DONE __MOTION_EV_TRAJECTORY_DONE
00037 #define EV_TRAJECTORY_DONE_AND_CLOSE __MOTION_EV_TRAJECTORY_DONE_AND_CLOSE
00038 #define EV_NEW_TRAJECTORY __MOTION_EV_NEW_TRAJECTORY
00039 #define EV_MOVE_STOP __MOTION_EV_MOVE_STOP
00040 #define EV_LOC_UPDATED __MOTION_EV_LOC_UPDATED
00041 #define EV_NEW_GOAL __MOTION_EV_NEW_GOAL
00042 #define EV_LOC_LOST __MOTION_EV_LOC_LOST
00043 #define EV_TRAJECTORY_LOST __MOTION_EV_TRAJECTORY_LOST
00044 #define EV_INIT __MOTION_COMMON_EV_INIT
00045 #define EV_EXIT __MOTION_COMMON_EV_EXIT
00046 #define EV_STATE_ENTERED __MOTION_COMMON_EV_STATE_ENTERED
00047 #define EV_RETURN __MOTION_COMMON_EV_RETURN
00048 #define EV_TIMEOUT __MOTION_COMMON_EV_TIMEOUT
00049 #define EV_TIMER __MOTION_COMMON_EV_TIMER
00050 #endif
00051
00053 enum fsm_events_loc {
00054 __LOC_EV_LOC_INIT = 200,
00055 __LOC_EV_LASER_RECEIVED = 201,
00056 __LOC_EV_POSITION_UPDATED = 202,
00057 __LOC_EV_ODOMETRY_RECEIVED = 203,
00058 __LOC_EV_LOC_LOCATE = 204,
00059 __LOC_COMMON_EV_INIT = __COMMON_EV_INIT,
00060 __LOC_COMMON_EV_EXIT = __COMMON_EV_EXIT,
00061 __LOC_COMMON_EV_STATE_ENTERED = __COMMON_EV_STATE_ENTERED,
00062 __LOC_COMMON_EV_RETURN = __COMMON_EV_RETURN,
00063 __LOC_COMMON_EV_TIMEOUT = __COMMON_EV_TIMEOUT,
00064 __LOC_COMMON_EV_TIMER = __COMMON_EV_TIMER,
00065 };
00066
00067 #ifdef FSM_LOC
00068 #ifdef __FSM_ALIASES_DEFINED
00069 #error Multiple FSM_<ID> macros defined
00070 #else
00071 #define __FSM_ALIASES_DEFINED
00072 #endif
00073 #define __FSM_EVENT_ENUM enum fsm_events_loc
00074
00075 #define EV_LOC_INIT __LOC_EV_LOC_INIT
00076 #define EV_LASER_RECEIVED __LOC_EV_LASER_RECEIVED
00077 #define EV_POSITION_UPDATED __LOC_EV_POSITION_UPDATED
00078 #define EV_ODOMETRY_RECEIVED __LOC_EV_ODOMETRY_RECEIVED
00079 #define EV_LOC_LOCATE __LOC_EV_LOC_LOCATE
00080 #define EV_INIT __LOC_COMMON_EV_INIT
00081 #define EV_EXIT __LOC_COMMON_EV_EXIT
00082 #define EV_STATE_ENTERED __LOC_COMMON_EV_STATE_ENTERED
00083 #define EV_RETURN __LOC_COMMON_EV_RETURN
00084 #define EV_TIMEOUT __LOC_COMMON_EV_TIMEOUT
00085 #define EV_TIMER __LOC_COMMON_EV_TIMER
00086 #endif
00087
00089 enum fsm_events_pickup {
00090 __PICKUP_EV_TRASH_GOES_UP = 300,
00091 __PICKUP_EV_PICKUP_START = 301,
00092 __PICKUP_EV_PICKUP_FREE = 302,
00093 __PICKUP_EV_PICKUP_TRY = 303,
00094 __PICKUP_COMMON_EV_INIT = __COMMON_EV_INIT,
00095 __PICKUP_COMMON_EV_EXIT = __COMMON_EV_EXIT,
00096 __PICKUP_COMMON_EV_STATE_ENTERED = __COMMON_EV_STATE_ENTERED,
00097 __PICKUP_COMMON_EV_RETURN = __COMMON_EV_RETURN,
00098 __PICKUP_COMMON_EV_TIMEOUT = __COMMON_EV_TIMEOUT,
00099 __PICKUP_COMMON_EV_TIMER = __COMMON_EV_TIMER,
00100 };
00101
00102 #ifdef FSM_PICKUP
00103 #ifdef __FSM_ALIASES_DEFINED
00104 #error Multiple FSM_<ID> macros defined
00105 #else
00106 #define __FSM_ALIASES_DEFINED
00107 #endif
00108 #define __FSM_EVENT_ENUM enum fsm_events_pickup
00109
00110 #define EV_TRASH_GOES_UP __PICKUP_EV_TRASH_GOES_UP
00111 #define EV_PICKUP_START __PICKUP_EV_PICKUP_START
00112 #define EV_PICKUP_FREE __PICKUP_EV_PICKUP_FREE
00113 #define EV_PICKUP_TRY __PICKUP_EV_PICKUP_TRY
00114 #define EV_INIT __PICKUP_COMMON_EV_INIT
00115 #define EV_EXIT __PICKUP_COMMON_EV_EXIT
00116 #define EV_STATE_ENTERED __PICKUP_COMMON_EV_STATE_ENTERED
00117 #define EV_RETURN __PICKUP_COMMON_EV_RETURN
00118 #define EV_TIMEOUT __PICKUP_COMMON_EV_TIMEOUT
00119 #define EV_TIMER __PICKUP_COMMON_EV_TIMER
00120 #endif
00121
00123 enum fsm_events_main {
00124 __MAIN_EV_OBSTRUCTION_AHEAD = 400,
00125 __MAIN_EV_DEPOSITE_CAN = 401,
00126 __MAIN_EV_STACK_FULL = 402,
00127 __MAIN_EV_DETECTED_CAN = 403,
00128 __MAIN_EV_DETECTED_WASTE = 404,
00129 __MAIN_EV_DETECTED_BATTERY = 405,
00130 __MAIN_EV_WAIT_DEPOSITE_CAN = 406,
00131 __MAIN_EV_TRAJECTORY_ERROR = 407,
00132 __MAIN_EV_GOAL_NOT_REACHABLE = 408,
00133 __MAIN_EV_GOAL_IS_OBSTACLE = 409,
00134 __MAIN_EV_DEPOSITE_DONE = 410,
00135 __MAIN_EV_DETECTED_BOTTLE = 411,
00136 __MAIN_EV_START = 412,
00137 __MAIN_EV_WASTE_IN = 413,
00138 __MAIN_EV_LOST_DURING_MOTION = 414,
00139 __MAIN_EV_PICKUP_FAILED = 415,
00140 __MAIN_EV_DEPOSITE_BOTTLE = 416,
00141 __MAIN_EV_GOAL_IS_TMP_OBSTACLE = 417,
00142 __MAIN_EV_ENEMY_AHEAD = 418,
00143 __MAIN_EV_MOTION_DONE = 419,
00144 __MAIN_EV_MAP_NOT_INIT = 420,
00145 __MAIN_EV_PICKUP_DONE = 421,
00146 __MAIN_EV_COLLECT_WASTE = 422,
00147 __MAIN_EV_WAIT_DEPOSITE_BOTTLE = 423,
00148 __MAIN_COMMON_EV_INIT = __COMMON_EV_INIT,
00149 __MAIN_COMMON_EV_EXIT = __COMMON_EV_EXIT,
00150 __MAIN_COMMON_EV_STATE_ENTERED = __COMMON_EV_STATE_ENTERED,
00151 __MAIN_COMMON_EV_RETURN = __COMMON_EV_RETURN,
00152 __MAIN_COMMON_EV_TIMEOUT = __COMMON_EV_TIMEOUT,
00153 __MAIN_COMMON_EV_TIMER = __COMMON_EV_TIMER,
00154 };
00155
00156 #ifdef FSM_MAIN
00157 #ifdef __FSM_ALIASES_DEFINED
00158 #error Multiple FSM_<ID> macros defined
00159 #else
00160 #define __FSM_ALIASES_DEFINED
00161 #endif
00162 #define __FSM_EVENT_ENUM enum fsm_events_main
00163
00164 #define EV_OBSTRUCTION_AHEAD __MAIN_EV_OBSTRUCTION_AHEAD
00165 #define EV_DEPOSITE_CAN __MAIN_EV_DEPOSITE_CAN
00166 #define EV_STACK_FULL __MAIN_EV_STACK_FULL
00167 #define EV_DETECTED_CAN __MAIN_EV_DETECTED_CAN
00168 #define EV_DETECTED_WASTE __MAIN_EV_DETECTED_WASTE
00169 #define EV_DETECTED_BATTERY __MAIN_EV_DETECTED_BATTERY
00170 #define EV_WAIT_DEPOSITE_CAN __MAIN_EV_WAIT_DEPOSITE_CAN
00171 #define EV_TRAJECTORY_ERROR __MAIN_EV_TRAJECTORY_ERROR
00172 #define EV_GOAL_NOT_REACHABLE __MAIN_EV_GOAL_NOT_REACHABLE
00173 #define EV_GOAL_IS_OBSTACLE __MAIN_EV_GOAL_IS_OBSTACLE
00174 #define EV_DEPOSITE_DONE __MAIN_EV_DEPOSITE_DONE
00175 #define EV_DETECTED_BOTTLE __MAIN_EV_DETECTED_BOTTLE
00176 #define EV_START __MAIN_EV_START
00177 #define EV_WASTE_IN __MAIN_EV_WASTE_IN
00178 #define EV_LOST_DURING_MOTION __MAIN_EV_LOST_DURING_MOTION
00179 #define EV_PICKUP_FAILED __MAIN_EV_PICKUP_FAILED
00180 #define EV_DEPOSITE_BOTTLE __MAIN_EV_DEPOSITE_BOTTLE
00181 #define EV_GOAL_IS_TMP_OBSTACLE __MAIN_EV_GOAL_IS_TMP_OBSTACLE
00182 #define EV_ENEMY_AHEAD __MAIN_EV_ENEMY_AHEAD
00183 #define EV_MOTION_DONE __MAIN_EV_MOTION_DONE
00184 #define EV_MAP_NOT_INIT __MAIN_EV_MAP_NOT_INIT
00185 #define EV_PICKUP_DONE __MAIN_EV_PICKUP_DONE
00186 #define EV_COLLECT_WASTE __MAIN_EV_COLLECT_WASTE
00187 #define EV_WAIT_DEPOSITE_BOTTLE __MAIN_EV_WAIT_DEPOSITE_BOTTLE
00188 #define EV_INIT __MAIN_COMMON_EV_INIT
00189 #define EV_EXIT __MAIN_COMMON_EV_EXIT
00190 #define EV_STATE_ENTERED __MAIN_COMMON_EV_STATE_ENTERED
00191 #define EV_RETURN __MAIN_COMMON_EV_RETURN
00192 #define EV_TIMEOUT __MAIN_COMMON_EV_TIMEOUT
00193 #define EV_TIMER __MAIN_COMMON_EV_TIMER
00194 #endif
00195
00197 enum fsm_events_detect {
00198 __DETECT_COMMON_EV_INIT = __COMMON_EV_INIT,
00199 __DETECT_COMMON_EV_EXIT = __COMMON_EV_EXIT,
00200 __DETECT_COMMON_EV_STATE_ENTERED = __COMMON_EV_STATE_ENTERED,
00201 __DETECT_COMMON_EV_RETURN = __COMMON_EV_RETURN,
00202 __DETECT_COMMON_EV_TIMEOUT = __COMMON_EV_TIMEOUT,
00203 __DETECT_COMMON_EV_TIMER = __COMMON_EV_TIMER,
00204 };
00205
00206 #ifdef FSM_DETECT
00207 #ifdef __FSM_ALIASES_DEFINED
00208 #error Multiple FSM_<ID> macros defined
00209 #else
00210 #define __FSM_ALIASES_DEFINED
00211 #endif
00212 #define __FSM_EVENT_ENUM enum fsm_events_detect
00213
00214 #define EV_INIT __DETECT_COMMON_EV_INIT
00215 #define EV_EXIT __DETECT_COMMON_EV_EXIT
00216 #define EV_STATE_ENTERED __DETECT_COMMON_EV_STATE_ENTERED
00217 #define EV_RETURN __DETECT_COMMON_EV_RETURN
00218 #define EV_TIMEOUT __DETECT_COMMON_EV_TIMEOUT
00219 #define EV_TIMER __DETECT_COMMON_EV_TIMER
00220 #endif
00221
00222 #endif