optim cobboard
[aversive.git] / projects / microb2010 / mainboard / i2c_protocol.c
index 6997139..9908f1a 100644 (file)
@@ -274,6 +274,7 @@ void i2c_recvevent(uint8_t * buf, int8_t size)
                /* status */
                cobboard.mode = ans->mode;
                cobboard.status = ans->status;
+               cobboard.cob_count = ans->cob_count;
                cobboard.left_cobroller_speed = ans->left_cobroller_speed;
                cs_set_consign(&mainboard.left_cobroller.cs, cobboard.left_cobroller_speed);
                cobboard.right_cobroller_speed = ans->right_cobroller_speed;
@@ -283,6 +284,7 @@ void i2c_recvevent(uint8_t * buf, int8_t size)
        }
 
        case I2C_ANS_BALLBOARD_STATUS: {
+               uint8_t tmp;
                struct i2c_ans_ballboard_status * ans =
                        (struct i2c_ans_ballboard_status *)buf;
 
@@ -291,6 +293,12 @@ void i2c_recvevent(uint8_t * buf, int8_t size)
                ballboard.mode = ans->mode;
                ballboard.status = ans->status;
                ballboard.ball_count = ans->ball_count;
+               tmp = ans->lcob;
+               if (tmp != I2C_COB_NONE)
+                       ballboard.lcob = tmp;
+               tmp = ans->rcob;
+               if (tmp != I2C_COB_NONE)
+                       ballboard.rcob = tmp;
                break;
        }
 
@@ -418,7 +426,7 @@ int8_t i2c_cobboard_pack(uint8_t side)
        return i2c_cobboard_set_spickle(side, 0);
 }
 
-int8_t i2c_cobboard_harvest(uint8_t side)
+int8_t i2c_cobboard_autoharvest(uint8_t side)
 {
        return i2c_cobboard_set_spickle(side,
                                        I2C_COBBOARD_SPK_DEPLOY |