-#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_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;
+};
+
+#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_FORK 0x04
+#define I2C_BALLBOARD_MODE_TAKE_FORK 0x05