]> rtime.felk.cvut.cz Git - eurobot/public.git/commitdiff
cand, common, robofsm, types: change bumper rear to bumper rear left and bumper rear...
authorpokormat <matous.pokorny@me.com>
Mon, 23 May 2011 11:20:30 +0000 (13:20 +0200)
committerpokormat <matous.pokorny@me.com>
Mon, 23 May 2011 11:20:30 +0000 (13:20 +0200)
src/cand/cand.cc
src/common/can_msg_def.h
src/robofsm/fsmmove.cc
src/robofsm/robot_orte.c
src/types/robottype.idl

index 4d0f3e0194d47bccaabcb2b52441feb1af877bea..bdd33a969b8ffd2564547365f6fa614ca2ac3583 100644 (file)
@@ -209,7 +209,8 @@ void cand_parse_frame(struct robottype_orte_data *orte, struct can_frame frame)
                        orte->robot_bumpers.bumper_left_across = (frame.data[0] & CAN_BUMPER_LEFT_ACROSS) ? 0 : 1;
                        orte->robot_bumpers.bumper_right = (frame.data[0] & CAN_BUMPER_RIGHT) ? 0 : 1;
                        orte->robot_bumpers.bumper_right_across = (frame.data[0] & CAN_BUMPER_RIGHT_ACROSS) ? 0 : 1;
-                       orte->robot_bumpers.bumper_rear = (frame.data[0] & CAN_BUMPER_REAR) ? 0 : 1;
+                       orte->robot_bumpers.bumper_rear_left = (frame.data[0] & CAN_BUMPER_REAR_LEFT) ? 0 : 1;
+                       orte->robot_bumpers.bumper_rear_right = (frame.data[0] & CAN_BUMPER_REAR_RIGHT) ? 0 : 1;
                        ORTEPublicationSend(orte->publication_robot_bumpers);
                break;
 
index 4eb1fa0ca06ce03354dc2190cd47624f9dce6b59..f6d41bf7e96c6009c261e17b7a537143dd06a4e6 100644 (file)
 #define CAN_SWITCH_STRATEGY    4
 
 //flags sent in CAN_ROBOT_BUMPERS
-#define CAN_BUMPER_REAR                 1
-#define CAN_BUMPER_LEFT                 2
-#define CAN_BUMPER_RIGHT                4
-#define CAN_BUMPER_LEFT_ACROSS          8
-#define CAN_BUMPER_RIGHT_ACROSS         16
+#define CAN_BUMPER_REAR_LEFT           1
+#define CAN_BUMPER_REAR_RIGHT          2 
+#define CAN_BUMPER_LEFT                        4
+#define CAN_BUMPER_RIGHT                8
+#define CAN_BUMPER_LEFT_ACROSS          16
+#define CAN_BUMPER_RIGHT_ACROSS         32
 
index 6592f2f926cb7aa2a9ab00df99c3508e9518e058..f308338f421933e9839faf35e5296fe54791886b 100644 (file)
@@ -346,7 +346,8 @@ FSM_STATE(movement)
                        if (robot.moves_backward && robot.use_back_bumpers &&
                                (robot.orte.robot_bumpers.bumper_left_across ||
                                robot.orte.robot_bumpers.bumper_right_across ||
-                               robot.orte.robot_bumpers.bumper_rear))
+                               robot.orte.robot_bumpers.bumper_rear_left || 
+                               robot.orte.robot_bumpers.bumper_rear_right))
                                FSM_TRANSITION(wait_and_try_again);
                        break;
                case EV_OBSTACLE_SIDE:
@@ -384,7 +385,8 @@ FSM_STATE(close_to_target)
                        if (robot.moves_backward && robot.use_back_bumpers &&
                                (robot.orte.robot_bumpers.bumper_left_across ||
                                robot.orte.robot_bumpers.bumper_right_across ||
-                               robot.orte.robot_bumpers.bumper_rear))
+                               robot.orte.robot_bumpers.bumper_rear_left ||
+                               robot.orte.robot_bumpers.bumper_rear_right))
                                FSM_TRANSITION(wait_and_try_again);
                        break;
                case EV_OBSTACLE_SIDE:
index b6bd0c2582ab47ca08a5fba803d355840729fbd6..dbb444ee3352e543195c9a2599d90b89f79aeb2e 100644 (file)
@@ -435,7 +435,7 @@ void rcv_robot_bumpers_cb(const ORTERecvInfo *info, void *vinstance,
        static bool last_left, last_right;
        switch (info->status) {
                case NEW_DATA:
-                       if (instance->bumper_right_across || instance->bumper_left_across || instance->bumper_rear)
+                       if (instance->bumper_right_across || instance->bumper_left_across || instance->bumper_rear_left || instance->bumper_rear_right)
                                FSM_SIGNAL(MOTION, EV_OBSTACLE_BEHIND, NULL);
 
                        if (instance->bumper_left || instance->bumper_right) {
index 941acdc6802655728ba73a421d80278b809c1801..92c5c301c9151436b5416d0f39b82b2fa96642a7 100644 (file)
@@ -72,7 +72,8 @@ struct robot_bumpers {
        boolean bumper_right;
        boolean bumper_right_across;
        boolean bumper_left_across;
-       boolean bumper_rear;
+       boolean bumper_rear_left;
+       boolean bumper_rear_right;
 };
 
 struct can_msg {