X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcommon%2Fi2c_commands.h;h=c0ff8e16e774c153d139e9ec7d634be640a2153c;hp=49cdb8e87e202dfe8cdaa46050e695f435e3a40b;hb=4e7801883ed4076cb14b63a0571467747894c0f8;hpb=4fb57a4dab8bd564445e824696a2dab470af8628 diff --git a/projects/microb2010/common/i2c_commands.h b/projects/microb2010/common/i2c_commands.h index 49cdb8e..c0ff8e1 100644 --- a/projects/microb2010/common/i2c_commands.h +++ b/projects/microb2010/common/i2c_commands.h @@ -28,16 +28,18 @@ #define I2C_COBBOARD_ADDR 2 #define I2C_BALLBOARD_ADDR 3 -#define I2C_LEFT_SIDE 0 -#define I2C_RIGHT_SIDE 1 -#define I2C_AUTO_SIDE 2 -#define I2C_CENTER_SIDE 3 +#define I2C_LEFT_SIDE 0 +#define I2C_RIGHT_SIDE 1 +#define I2C_AUTO_SIDE 2 +#define I2C_CENTER_SIDE 3 -#define I2C_COLOR_RED 0 -#define I2C_COLOR_GREEN 1 +#define I2C_COLOR_YELLOW 0 +#define I2C_COLOR_BLUE 1 #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,6 +80,22 @@ 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; +}; + +#define I2C_CMD_BALLBOARD_SET_MODE 0x10 + +struct i2c_cmd_ballboard_set_mode { + struct i2c_cmd_hdr hdr; + +#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; }; @@ -89,7 +108,7 @@ struct i2c_cmd_cobboard_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 @@ -99,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; @@ -121,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