-int8_t i2c_mechboard_mode_manual(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_MANUAL;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_harvest(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_HARVEST;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_lazy_harvest(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_LAZY_HARVEST;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_pickup(uint8_t side)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_PICKUP;
- buf.prep_pickup.next_mode = I2C_MECHBOARD_MODE_PREPARE_PICKUP;
- buf.prep_pickup.side = side;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_push_temple_disc(uint8_t side)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PUSH_TEMPLE_DISC;
- buf.prep_pickup.side = side;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_pickup_next(uint8_t side, uint8_t next_mode)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_PICKUP;
- buf.prep_pickup.next_mode = next_mode;
- buf.prep_pickup.side = side;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_pickup(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PICKUP;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_eject(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_EJECT;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_manivelle(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_MANIVELLE;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_push_temple(uint8_t level)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PUSH_TEMPLE;
- buf.push_temple.level = level;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf,sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_build_both(uint8_t level)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_BUILD;
- buf.prep_build.level_l = level;
- buf.prep_build.level_r = level;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_build_select(int8_t level_l, int8_t level_r)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_BUILD;
- buf.prep_build.level_l = level_l;
- buf.prep_build.level_r = level_r;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_inside_both(uint8_t level)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_INSIDE;
- buf.prep_inside.level_l = level;
- buf.prep_inside.level_r = level;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_inside_select(int8_t level_l, int8_t level_r)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_INSIDE;
- buf.prep_inside.level_l = level_l;
- buf.prep_inside.level_r = level_r;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_simple_autobuild(uint8_t level)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_AUTOBUILD;
- buf.autobuild.level_left = level;
- buf.autobuild.level_right = level;
- buf.autobuild.count_left = 2;
- buf.autobuild.count_right = 2;
- buf.autobuild.do_lintel = 1;
- buf.autobuild.distance_left = 210;
- buf.autobuild.distance_right = 210;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_autobuild(uint8_t level_l, uint8_t count_l,
- uint8_t dist_l,
- uint8_t level_r, uint8_t count_r,
- uint8_t dist_r,
- uint8_t do_lintel)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_AUTOBUILD;
- buf.autobuild.level_left = level_l;
- buf.autobuild.level_right = level_r;
- buf.autobuild.count_left = count_l;
- buf.autobuild.count_right = count_r;
- buf.autobuild.distance_left = dist_l;
- buf.autobuild.distance_right = dist_r;
- buf.autobuild.do_lintel = do_lintel;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_init(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_INIT;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_prepare_get_lintel(void)
-{
- struct i2c_cmd_mechboard_set_mode buf;
- buf.hdr.cmd = I2C_CMD_MECHBOARD_SET_MODE;
- buf.mode = I2C_MECHBOARD_MODE_PREPARE_GET_LINTEL;
- return i2c_send_command(I2C_MECHBOARD_ADDR, (uint8_t*)&buf, sizeof(buf));
-}
-
-int8_t i2c_mechboard_mode_get_lintel(void)