X-Git-Url: http://git.droids-corp.org/?a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fi2c_protocol.c;h=2c2741090a256ee2026300063d5d0db2b7fab8fa;hb=ad466314d3aff8f661654d4701b9d12fdeb7811f;hp=3354e394a003aaeffa56600488535065317e0ea6;hpb=092caa88280f71fb58e5938114304fe2e94d6855;p=aversive.git diff --git a/projects/microb2010/mainboard/i2c_protocol.c b/projects/microb2010/mainboard/i2c_protocol.c index 3354e39..2c27410 100644 --- a/projects/microb2010/mainboard/i2c_protocol.c +++ b/projects/microb2010/mainboard/i2c_protocol.c @@ -299,6 +299,10 @@ void i2c_recvevent(uint8_t * buf, int8_t size) tmp = ans->rcob; if (tmp != I2C_COB_NONE) ballboard.rcob = tmp; + ballboard.opponent_x = ans->opponent_x; + ballboard.opponent_y = ans->opponent_y; + ballboard.opponent_a = ans->opponent_a; + ballboard.opponent_d = ans->opponent_d; break; } @@ -404,13 +408,11 @@ int8_t i2c_cobboard_set_mode(uint8_t mode) { #ifdef HOST_VERSION cobboard.mode = mode; - return 0; -#else +#endif struct i2c_cmd_cobboard_set_mode buf; buf.hdr.cmd = I2C_CMD_COBBOARD_SET_MODE; buf.mode = mode; return i2c_send_command(I2C_COBBOARD_ADDR, (uint8_t*)&buf, sizeof(buf)); -#endif } static int8_t i2c_cobboard_set_spickle(uint8_t side, uint8_t flags) @@ -431,6 +433,11 @@ int8_t i2c_cobboard_pack(uint8_t side) return i2c_cobboard_set_spickle(side, 0); } +int8_t i2c_cobboard_pack_weak(uint8_t side) +{ + return i2c_cobboard_set_spickle(side, I2C_COBBOARD_SPK_WEAK); +} + int8_t i2c_cobboard_autoharvest(uint8_t side) { return i2c_cobboard_set_spickle(side, @@ -465,3 +472,11 @@ int8_t i2c_ballboard_set_mode(uint8_t mode) return i2c_send_command(I2C_BALLBOARD_ADDR, (uint8_t*)&buf, sizeof(buf)); } +int8_t i2c_ballboard_set_beacon(uint8_t enable) +{ + struct i2c_cmd_ballboard_start_beacon buf; + buf.hdr.cmd = I2C_CMD_BALLBOARD_SET_BEACON; + buf.enable = enable; + return i2c_send_command(I2C_BALLBOARD_ADDR, (uint8_t*)&buf, sizeof(buf)); +} +