back to old plate
[aversive.git] / projects / microb2010 / mainboard / robotsim.c
index 7c52835..2d0d7be 100644 (file)
@@ -111,25 +111,16 @@ robotsim_i2c_ballboard_set_mode(struct i2c_cmd_ballboard_set_mode *cmd)
 }
 
 int8_t
-robotsim_i2c_cobboard_set_spickles(uint8_t side, uint8_t flags)
+robotsim_i2c_cobboard_set_mode(uint8_t mode)
 {
        char buf[BUFSIZ];
        int len;
 
-       if (side == I2C_LEFT_SIDE) {
-               if (cobboard.lspickle == flags)
-                       return 0;
-               else
-                       cobboard.lspickle = flags;
-       }
-       if (side == I2C_RIGHT_SIDE) {
-               if (cobboard.rspickle == flags)
-                       return 0;
-               else
-                       cobboard.rspickle = flags;
-       }
+       if (cobboard.mode == mode)
+               return 0;
 
-       len = snprintf(buf, sizeof(buf), "cobboard=%d,%d\n", side, flags);
+       cobboard.mode = mode;
+       len = snprintf(buf, sizeof(buf), "cobboard=%d\n", mode);
        hostsim_lock();
        write(fdw, buf, len);
        hostsim_unlock();
@@ -227,8 +218,8 @@ void robotsim_update(void)
                ((local_r_pwm * 1000 * FILTER2)/1000);
 
        /* basic collision detection */
-       a2 = atan2(ROBOT_WIDTH/2, ROBOT_HALF_LENGTH_FRONT);
-       d = norm(ROBOT_WIDTH/2, ROBOT_HALF_LENGTH_FRONT);
+       a2 = atan2(ROBOT_WIDTH/2, ROBOT_HALF_LENGTH_REAR);
+       d = norm(ROBOT_WIDTH/2, ROBOT_HALF_LENGTH_REAR);
 
        xfl = x + cos(a+a2) * d;
        yfl = y + sin(a+a2) * d;