git.droids-corp.org
/
aversive.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
add ballboard commands on mainboard
[aversive.git]
/
projects
/
microb2010
/
mainboard
/
i2c_protocol.c
diff --git
a/projects/microb2010/mainboard/i2c_protocol.c
b/projects/microb2010/mainboard/i2c_protocol.c
index
d0726cb
..
403decd
100644
(file)
--- 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;
}
break;
}
-
+
case I2C_ANS_BALLBOARD_STATUS: {
struct i2c_ans_ballboard_status * ans =
(struct i2c_ans_ballboard_status *)buf;
case I2C_ANS_BALLBOARD_STATUS: {
struct i2c_ans_ballboard_status * ans =
(struct i2c_ans_ballboard_status *)buf;
-
+
if (size != sizeof (*ans))
goto error;
if (size != sizeof (*ans))
goto error;
+ ballboard.mode = ans->mode;
ballboard.status = ans->status;
ballboard.status = ans->status;
+ ballboard.ball_count = ans->ball_count;
break;
}
break;
}
@@
-296,13
+298,11
@@
void i2c_recvevent(uint8_t * buf, int8_t size)
i2c_errors = 0;
}
}
i2c_errors = 0;
}
}
-
+
void i2c_recvbyteevent(uint8_t hwstatus, uint8_t i, uint8_t c)
{
}
void i2c_recvbyteevent(uint8_t hwstatus, uint8_t i, uint8_t c)
{
}
-
-
/* ******** ******** ******** ******** */
/* commands */
/* ******** ******** ******** ******** */
/* ******** ******** ******** ******** */
/* commands */
/* ******** ******** ******** ******** */
@@
-438,3
+438,11
@@
int8_t i2c_cobboard_mode_init(void)
return i2c_send_command(I2C_COBBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
}
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));
+}
+