- struct i2c_cmd_cobboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_COBBOARD_SET_MODE;
- buf.mode = I2C_COBBOARD_MODE_INIT;
- return i2c_send_command(I2C_COBBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
+ return i2c_cobboard_set_spickle(side, 0);
+}
+
+int8_t i2c_cobboard_pack_weak(uint8_t side)
+{
+ return i2c_cobboard_set_spickle(side, I2C_COBBOARD_SPK_WEAK);
+}
+
+int8_t i2c_cobboard_autoharvest(uint8_t side)
+{
+ return i2c_cobboard_set_spickle(side,
+ I2C_COBBOARD_SPK_DEPLOY |
+ I2C_COBBOARD_SPK_AUTOHARVEST);
+}
+
+int8_t i2c_cobboard_deploy(uint8_t side)
+{
+ return i2c_cobboard_set_spickle(side, I2C_COBBOARD_SPK_DEPLOY);
+}
+
+int8_t i2c_cobboard_autoharvest_nomove(uint8_t side)
+{
+ return i2c_cobboard_set_spickle(side,
+ I2C_COBBOARD_SPK_DEPLOY |
+ I2C_COBBOARD_SPK_AUTOHARVEST |
+ I2C_COBBOARD_SPK_NO_MOVE);
+}
+
+int8_t i2c_cobboard_deploy_nomove(uint8_t side)
+{
+ return i2c_cobboard_set_spickle(side, I2C_COBBOARD_SPK_DEPLOY |
+ I2C_COBBOARD_SPK_NO_MOVE);
+}
+
+int8_t i2c_ballboard_set_mode(uint8_t mode)
+{
+ struct i2c_cmd_ballboard_set_mode buf;
+ buf.hdr.cmd = I2C_CMD_BALLBOARD_SET_MODE;
+ buf.mode = mode;
+ return i2c_send_command(I2C_BALLBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));