X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcommon%2Fi2c_commands.h;h=d08e58023a7940fdf62fca7d1caf4cf05f888718;hp=35605b8b54eceb3d3cc902fbd3f4b9334752243e;hb=c5092ef0e45256f7e5ff2ceea8e1aa1cb33027db;hpb=8d6a47e9e21a9a31f4bc12d32fb3d11091a4b305 diff --git a/projects/microb2010/common/i2c_commands.h b/projects/microb2010/common/i2c_commands.h index 35605b8..d08e580 100644 --- a/projects/microb2010/common/i2c_commands.h +++ b/projects/microb2010/common/i2c_commands.h @@ -22,17 +22,22 @@ #ifndef _I2C_COMMANDS_H_ #define _I2C_COMMANDS_H_ +#define I2C_OPPONENT_NOT_THERE -1000 + #define I2C_MAINBOARD_ADDR 1 #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_YELLOW 0 +#define I2C_COLOR_BLUE 1 -#define I2C_COLOR_RED 0 -#define I2C_COLOR_GREEN 1 +#define I2C_COB_BLACK 0 +#define I2C_COB_WHITE 1 struct i2c_cmd_hdr { uint8_t cmd; @@ -65,18 +70,29 @@ struct i2c_cmd_generic_color { struct i2c_cmd_cobboard_set_mode { struct i2c_cmd_hdr hdr; -#define I2C_COBBOARD_MODE_INIT 0x00 -#define I2C_COBBOARD_MODE_MANUAL 0x01 -#define I2C_COBBOARD_MODE_HARVEST 0x02 -#define I2C_COBBOARD_MODE_EXIT 0xFF + +#define I2C_COBBOARD_MODE_L_DEPLOY 0x01 /* deploy the spickle */ +#define I2C_COBBOARD_MODE_L_HARVEST 0x02 /* auto harvest withe cobs */ +#define I2C_COBBOARD_MODE_R_DEPLOY 0x04 /* deploy the spickle */ +#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; - union { - struct { - } manual; +}; + +#define I2C_CMD_BALLBOARD_SET_MODE 0x10 - struct { - } harvest; - }; +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 + uint8_t mode; }; /****/ @@ -104,6 +120,9 @@ struct i2c_ans_cobboard_status { uint8_t status; uint8_t cob_count; + + int16_t left_cobroller_speed; + int16_t right_cobroller_speed; }; #define I2C_REQ_BALLBOARD_STATUS 0x82