X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Fmainboard%2Fcommands_mainboard.c;h=b43f05b94abfca4bec572b2836f550d7592013a6;hp=84ab748df4bb267439ae91aee806fc832bcc4ea1;hb=b699727efceb661be65fbd22e975565b800c628e;hpb=0b4de59b87450f72b588e5e7a2c936bf57edb224 diff --git a/projects/microb2010/mainboard/commands_mainboard.c b/projects/microb2010/mainboard/commands_mainboard.c index 84ab748..b43f05b 100644 --- a/projects/microb2010/mainboard/commands_mainboard.c +++ b/projects/microb2010/mainboard/commands_mainboard.c @@ -738,11 +738,13 @@ static void cmd_cobboard_setmode1_parsed(void *parsed_result, void *data) i2c_cobboard_set_mode(I2C_COBBOARD_MODE_INIT); else if (!strcmp_P(res->arg1, PSTR("eject"))) i2c_cobboard_set_mode(I2C_COBBOARD_MODE_EJECT); + else if (!strcmp_P(res->arg1, PSTR("kickstand"))) + i2c_cobboard_set_mode(I2C_COBBOARD_MODE_KICKSTAND); } prog_char str_cobboard_setmode1_arg0[] = "cobboard"; parse_pgm_token_string_t cmd_cobboard_setmode1_arg0 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode1_result, arg0, str_cobboard_setmode1_arg0); -prog_char str_cobboard_setmode1_arg1[] = "init#eject"; +prog_char str_cobboard_setmode1_arg1[] = "init#eject#kickstand"; parse_pgm_token_string_t cmd_cobboard_setmode1_arg1 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode1_result, arg1, str_cobboard_setmode1_arg1); prog_char help_cobboard_setmode1[] = "set cobboard mode (mode)"; @@ -790,6 +792,10 @@ static void cmd_cobboard_setmode2_parsed(void *parsed_result, void *data) i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST); i2c_cobboard_pack(side); } + else if (!strcmp_P(res->arg1, PSTR("weak_pack"))) { + i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST); + i2c_cobboard_pack_weak(side); + } else if (!strcmp_P(res->arg1, PSTR("deploy_nomove"))) { i2c_cobboard_set_mode(I2C_COBBOARD_MODE_HARVEST); i2c_cobboard_deploy_nomove(side); @@ -802,7 +808,7 @@ static void cmd_cobboard_setmode2_parsed(void *parsed_result, void *data) prog_char str_cobboard_setmode2_arg0[] = "cobboard"; parse_pgm_token_string_t cmd_cobboard_setmode2_arg0 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode2_result, arg0, str_cobboard_setmode2_arg0); -prog_char str_cobboard_setmode2_arg1[] = "harvest#deploy#pack#harvest_nomove#deploy_nomove"; +prog_char str_cobboard_setmode2_arg1[] = "harvest#deploy#pack#weak_pack#harvest_nomove#deploy_nomove"; parse_pgm_token_string_t cmd_cobboard_setmode2_arg1 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode2_result, arg1, str_cobboard_setmode2_arg1); prog_char str_cobboard_setmode2_arg2[] = "left#right"; parse_pgm_token_string_t cmd_cobboard_setmode2_arg2 = TOKEN_STRING_INITIALIZER(struct cmd_cobboard_setmode2_result, arg2, str_cobboard_setmode2_arg2); @@ -1292,75 +1298,3 @@ parse_pgm_inst_t cmd_test = { NULL, }, }; - - - - -/**********************************************************/ -/* Climb */ - -/* this structure is filled when cmd_climb is parsed successfully */ -struct cmd_climb_result { - fixed_string_t arg0; - int32_t radius; - int32_t dist; -}; - - -//#define DIM_BALLS_DOWN 620 -//#define DIM_BALLS_UP 700 - -#define DIM_BALLS_DOWN 530 -#define DIM_BALLS_UP 700 - -/* function called when cmd_climb is parsed successfully */ -static void cmd_climb_parsed(void *parsed_result, void *data) -{ - uint8_t err; - - printf_P(PSTR("starting Clifenger\r\n")); - strat_set_speed(SPEED_DIST_SLOW, SPEED_ANGLE_SLOW ); - - trajectory_goto_xy_abs(&mainboard.traj, 250, 250); - err = wait_traj_end(TRAJ_FLAGS_SMALL_DIST); - trajectory_a_abs(&mainboard.traj, 0); - err = wait_traj_end(TRAJ_FLAGS_SMALL_DIST); - - - - trajectory_goto_xy_abs(&mainboard.traj, 1250, 250); - err = WAIT_COND_OR_TRAJ_END(position_get_x_s16(&mainboard.pos)>DIM_BALLS_DOWN, 0xFF); - printf_P(PSTR("ball_pack\r\n")); - support_balls_pack(); - err = WAIT_COND_OR_TRAJ_END(position_get_x_s16(&mainboard.pos)>DIM_BALLS_UP, 0xFF); - printf_P(PSTR("ball_deploy\r\n")); - support_balls_deploy(); - err = wait_traj_end(TRAJ_FLAGS_SMALL_DIST); - - /* reach top, go down */ - trajectory_goto_xy_abs(&mainboard.traj, 250, 250); - err = WAIT_COND_OR_TRAJ_END(position_get_x_s16(&mainboard.pos)