X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fcommon%2Fi2c_commands.h;h=312a18e153abb0a93a1b0166ffa30ca946862e9a;hp=7b04977db4cc34837280e753350b4d8a9236e881;hb=28da5858ac871c626153f47566e968ecb05ff52b;hpb=19cd41f7920628a962928580cd1618a1ee5750aa diff --git a/projects/microb2010/common/i2c_commands.h b/projects/microb2010/common/i2c_commands.h index 7b04977..312a18e 100644 --- a/projects/microb2010/common/i2c_commands.h +++ b/projects/microb2010/common/i2c_commands.h @@ -1,6 +1,6 @@ /* - * Copyright Droids Corporation (2007) - * + * Copyright Droids Corporation (2010) + * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or @@ -32,6 +32,7 @@ #define I2C_RIGHT_SIDE 1 #define I2C_AUTO_SIDE 2 #define I2C_CENTER_SIDE 3 +#define I2C_NO_SIDE 4 #define I2C_COLOR_YELLOW 0 #define I2C_COLOR_BLUE 1 @@ -40,6 +41,7 @@ #define I2C_COB_WHITE 1 #define I2C_COB_UNKNOWN 2 #define I2C_COB_REMOVED 3 +#define I2C_COB_NONE 4 struct i2c_cmd_hdr { uint8_t cmd; @@ -76,6 +78,8 @@ struct i2c_cmd_cobboard_set_mode { #define I2C_COBBOARD_MODE_HARVEST 0x01 /* harvest mode */ #define I2C_COBBOARD_MODE_EJECT 0x02 /* eject cobs */ #define I2C_COBBOARD_MODE_INIT 0x03 /* init state machine */ +#define I2C_COBBOARD_MODE_KICKSTAND_UP 0x04 /* help to climb the hill */ +#define I2C_COBBOARD_MODE_KICKSTAND_DOWN 0x05 /* help to climb the hill */ uint8_t mode; }; @@ -88,10 +92,8 @@ struct i2c_cmd_ballboard_set_mode { #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 +#define I2C_BALLBOARD_MODE_PREP_FORK 0x04 +#define I2C_BALLBOARD_MODE_TAKE_FORK 0x05 uint8_t mode; }; @@ -107,6 +109,8 @@ struct i2c_req_cobboard_status { #define I2C_COBBOARD_SPK_DEPLOY 0x01 /* deploy the spickle */ #define I2C_COBBOARD_SPK_AUTOHARVEST 0x02 /* auto harvest the cobs */ +#define I2C_COBBOARD_SPK_NO_MOVE 0x04 /* if enabled, don't change state */ +#define I2C_COBBOARD_SPK_WEAK 0x08 /* if enabled, current limit */ uint8_t lspickle; uint8_t rspickle; }; @@ -119,11 +123,13 @@ struct i2c_ans_cobboard_status { /* mode type are defined above: I2C_COBBOARD_MODE_xxx */ uint8_t mode; -#define I2C_COBBOARD_STATUS_READY 0x00 -#define I2C_COBBOARD_STATUS_OFF 0x01 -#define I2C_COBBOARD_STATUS_LBUSY 0x02 -#define I2C_COBBOARD_STATUS_RBUSY 0x03 -#define I2C_COBBOARD_STATUS_EJECT 0x04 +#define I2C_COBBOARD_STATUS_READY 0x00 +#define I2C_COBBOARD_STATUS_OFF 0x01 +#define I2C_COBBOARD_STATUS_LBUSY 0x02 +#define I2C_COBBOARD_STATUS_RBUSY 0x03 +#define I2C_COBBOARD_STATUS_EJECT 0x04 +#define I2C_COBBOARD_STATUS_KICKSTAND_UP 0x05 +#define I2C_COBBOARD_STATUS_KICKSTAND_DOWN 0x06 uint8_t status; uint8_t cob_count; @@ -151,6 +157,10 @@ struct i2c_ans_ballboard_status { uint8_t status; uint8_t ball_count; + + /* detection of cobs */ + uint8_t lcob; + uint8_t rcob; }; #endif /* _I2C_PROTOCOL_H_ */