X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcobboard%2Fi2c_protocol.c;h=21a9bd8b12e9e61d8ee83a9ca13de768c3f0f12c;hp=9b2a9e767c6995f27b9a49c3f50458558b28ca80;hb=d10eb76208e401ae2c4dc44de2f96cdcf2e7e4ac;hpb=b022f257a5ee568737e1a684a83d0154397fffcb diff --git a/projects/microb2010/cobboard/i2c_protocol.c b/projects/microb2010/cobboard/i2c_protocol.c index 9b2a9e7..21a9bd8 100644 --- a/projects/microb2010/cobboard/i2c_protocol.c +++ b/projects/microb2010/cobboard/i2c_protocol.c @@ -130,16 +130,15 @@ void i2c_recvevent(uint8_t * buf, int8_t size) break; } -#if 0 case I2C_CMD_COBBOARD_SET_MODE: { struct i2c_cmd_cobboard_set_mode *cmd = void_cmd; if (size != sizeof(struct i2c_cmd_cobboard_set_mode)) goto error; - i2c_set_mode(cmd); + if (!state_get_i2c_ignore()) + state_set_mode(cmd->mode); break; } -#endif case I2C_CMD_GENERIC_SET_COLOR: { @@ -151,7 +150,7 @@ void i2c_recvevent(uint8_t * buf, int8_t size) } #ifdef notyet - case I2C_CMD_EXTENSION_TEST: + case I2C_CMD_EXTENSION_TEST: { struct i2c_cmd_extension_test *cmd = void_cmd; if (size != sizeof (*cmd)) @@ -163,7 +162,6 @@ void i2c_recvevent(uint8_t * buf, int8_t size) /* Add other commands here ...*/ - case I2C_REQ_COBBOARD_STATUS: { struct i2c_req_cobboard_status *cmd = void_cmd; @@ -171,7 +169,11 @@ void i2c_recvevent(uint8_t * buf, int8_t size) goto error; /* mode is in req */ - state_set_mode(cmd->mode); + if (state_get_status() != I2C_COBBOARD_STATUS_OFF && + !state_get_i2c_ignore()) { + state_set_spickle(I2C_LEFT_SIDE, cmd->lspickle); + state_set_spickle(I2C_RIGHT_SIDE, cmd->rspickle); + } i2c_send_status(); break; }