strat db
[aversive.git] / projects / microb2010 / common / i2c_commands.h
index d08e580..c0ff8e1 100644 (file)
@@ -38,6 +38,8 @@
 
 #define I2C_COB_BLACK   0
 #define I2C_COB_WHITE   1
+#define I2C_COB_UNKNOWN 2
+#define I2C_COB_REMOVED 3
 
 struct i2c_cmd_hdr {
        uint8_t cmd;
@@ -52,7 +54,7 @@ struct i2c_cmd_hdr {
 struct i2c_cmd_led_control {
        struct i2c_cmd_hdr hdr;
        uint8_t led_num:7;
-       uint8_t state:1;        
+       uint8_t state:1;
 };
 
 /****/
@@ -68,6 +70,7 @@ struct i2c_cmd_generic_color {
 
 #define I2C_CMD_COBBOARD_SET_MODE 0x02
 
+/* XXX disabled, use memory sync instead */
 struct i2c_cmd_cobboard_set_mode {
        struct i2c_cmd_hdr hdr;
 
@@ -77,7 +80,7 @@ struct i2c_cmd_cobboard_set_mode {
 #define I2C_COBBOARD_MODE_R_HARVEST    0x08 /* auto harvest withe cobs */
 #define I2C_COBBOARD_MODE_EJECT        0x10 /* eject cobs */
 #define I2C_COBBOARD_MODE_INIT         0x20 /* init state machine */
-       uint8_t mode;
+       //uint8_t mode;
 };
 
 #define I2C_CMD_BALLBOARD_SET_MODE 0x10
@@ -85,13 +88,14 @@ struct i2c_cmd_cobboard_set_mode {
 struct i2c_cmd_ballboard_set_mode {
        struct i2c_cmd_hdr hdr;
 
-#define I2C_BALLBOARD_MODE_OFF         0x00
-#define I2C_BALLBOARD_MODE_HARVEST     0x01
-#define I2C_BALLBOARD_MODE_EJECT       0x02
-#define I2C_BALLBOARD_MODE_PREP_L_FORK 0x03
-#define I2C_BALLBOARD_MODE_TAKE_L_FORK 0x04
-#define I2C_BALLBOARD_MODE_PREP_R_FORK 0x05
-#define I2C_BALLBOARD_MODE_TAKE_R_FORK 0x06
+#define I2C_BALLBOARD_MODE_INIT        0x00
+#define I2C_BALLBOARD_MODE_OFF         0x01
+#define I2C_BALLBOARD_MODE_HARVEST     0x02
+#define I2C_BALLBOARD_MODE_EJECT       0x03
+#define I2C_BALLBOARD_MODE_PREP_L_FORK 0x04
+#define I2C_BALLBOARD_MODE_TAKE_L_FORK 0x05
+#define I2C_BALLBOARD_MODE_PREP_R_FORK 0x06
+#define I2C_BALLBOARD_MODE_TAKE_R_FORK 0x07
        uint8_t mode;
 };
 
@@ -104,7 +108,7 @@ struct i2c_cmd_ballboard_set_mode {
 
 struct i2c_req_cobboard_status {
        struct i2c_cmd_hdr hdr;
-       int16_t sickle_left1_current;
+       uint8_t mode;
 };
 
 #define I2C_ANS_COBBOARD_STATUS 0x81
@@ -114,9 +118,10 @@ struct i2c_ans_cobboard_status {
        /* mode type are defined above: I2C_COBBOARD_MODE_xxx */
        uint8_t mode;
 
-#define I2C_COBBOARD_STATUS_F_READY         0x00
-#define I2C_COBBOARD_STATUS_F_BUSY          0x01
-#define I2C_COBBOARD_STATUS_F_EXCPT         0x02
+#define I2C_COBBOARD_STATUS_READY         0x00
+#define I2C_COBBOARD_STATUS_LBUSY         0x01
+#define I2C_COBBOARD_STATUS_RBUSY         0x02
+#define I2C_COBBOARD_STATUS_EJECT         0x03
        uint8_t status;
 
        uint8_t cob_count;
@@ -136,6 +141,7 @@ struct i2c_req_ballboard_status {
 struct i2c_ans_ballboard_status {
        struct i2c_cmd_hdr hdr;
 
+       uint8_t mode;
 
 #define I2C_BALLBOARD_STATUS_F_READY         0x00
 #define I2C_BALLBOARD_STATUS_F_BUSY          0x01