X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fi2c_protocol.c;h=403decd0cc63d56f77bb8730ade7adcb7e24cecb;hp=d0726cb8ee9a8ea4bb5ebc6886f8de80dc6a3e12;hb=09e0cfb842943982e9fa3c4792c097bf4be25360;hpb=4fb57a4dab8bd564445e824696a2dab470af8628 diff --git a/projects/microb2010/mainboard/i2c_protocol.c b/projects/microb2010/mainboard/i2c_protocol.c index d0726cb..403decd 100644 --- a/projects/microb2010/mainboard/i2c_protocol.c +++ b/projects/microb2010/mainboard/i2c_protocol.c @@ -270,14 +270,16 @@ void i2c_recvevent(uint8_t * buf, int8_t size) break; } - + case I2C_ANS_BALLBOARD_STATUS: { struct i2c_ans_ballboard_status * ans = (struct i2c_ans_ballboard_status *)buf; - + if (size != sizeof (*ans)) goto error; + ballboard.mode = ans->mode; ballboard.status = ans->status; + ballboard.ball_count = ans->ball_count; break; } @@ -296,13 +298,11 @@ void i2c_recvevent(uint8_t * buf, int8_t size) i2c_errors = 0; } } - + void i2c_recvbyteevent(uint8_t hwstatus, uint8_t i, uint8_t c) { } - - /* ******** ******** ******** ******** */ /* commands */ /* ******** ******** ******** ******** */ @@ -438,3 +438,11 @@ int8_t i2c_cobboard_mode_init(void) return i2c_send_command(I2C_COBBOARD_ADDR, (uint8_t*)&buf, sizeof(buf)); } +int8_t i2c_ballboard_set_mode(uint8_t mode) +{ + struct i2c_cmd_ballboard_set_mode buf; + buf.hdr.cmd = I2C_CMD_BALLBOARD_SET_MODE; + buf.mode = mode; + return i2c_send_command(I2C_COBBOARD_ADDR, (uint8_t*)&buf, sizeof(buf)); +} +