]> rtime.felk.cvut.cz Git - eurobot/public.git/commitdiff
cand: Solved problems with bumpers.
authorMichal Vokac <vokac.m@gmail.com>
Fri, 6 May 2011 19:12:45 +0000 (21:12 +0200)
committerMichal Vokac <vokac.m@gmail.com>
Fri, 6 May 2011 19:12:45 +0000 (21:12 +0200)
src/cand/cand.cc

index 1925c0abcc9f9132859a9aabbf73e7f9c3516aa1..70b4b8019d06f1671aca58663072e26592461073 100644 (file)
@@ -205,12 +205,12 @@ void cand_parse_frame(struct robottype_orte_data *orte, struct can_frame frame)
                        ORTEPublicationSend(orte->publication_robot_switches);
                        break;
                case CAN_ROBOT_BUMPERS:
-                       orte->robot_bumpers.bumper_left = !!(frame.data[0] & CAN_BUMPER_LEFT);
-                       orte->robot_bumpers.bumper_left_across = !!(frame.data[0] & CAN_BUMPER_LEFT_ACROSS);
-                       orte->robot_bumpers.bumper_right = !!(frame.data[0] & CAN_BUMPER_RIGHT);
-                       orte->robot_bumpers.bumper_right_across = !!(frame.data[0] & CAN_BUMPER_RIGHT_ACROSS);
-                       orte->robot_bumpers.bumper_rear = !!(frame.data[0] & CAN_BUMPER_REAR);
-                       ORTEPublicationSend(orte->publication_robot_switches);
+                       orte->robot_bumpers.bumper_left = (frame.data[0] & CAN_BUMPER_LEFT) ? 0 : 1;
+                       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;
+                       ORTEPublicationSend(orte->publication_robot_bumpers);
                break;
 
                /* positioning by odometry */