X-Git-Url: http://git.droids-corp.org/?p=aversive.git;a=blobdiff_plain;f=projects%2Fmicrob2010%2Ftests%2Fhostsim%2Fcommands_mainboard.c;h=02382575e6ddb5182687997cc25820f5e70c6560;hp=782eac096231a69ffc5835d0cb89097c7587ab14;hb=a15451f8535228e9193b5dc042929ca0a7f79d9c;hpb=31bb619b1046f561cff432cb116735b1423a8d89 diff --git a/projects/microb2010/tests/hostsim/commands_mainboard.c b/projects/microb2010/tests/hostsim/commands_mainboard.c index 782eac0..0238257 100644 --- a/projects/microb2010/tests/hostsim/commands_mainboard.c +++ b/projects/microb2010/tests/hostsim/commands_mainboard.c @@ -2241,7 +2241,6 @@ parse_pgm_inst_t cmd_circle_radius = { /* this structure is filled when cmd_test is parsed successfully */ struct cmd_test_result { fixed_string_t arg0; - int32_t radius; }; void circle_get_da_speed_from_radius(struct trajectory *traj, double radius_mm, @@ -2250,24 +2249,52 @@ void circle_get_da_speed_from_radius(struct trajectory *traj, /* function called when cmd_test is parsed successfully */ static void cmd_test_parsed(void *parsed_result, void *data) { - struct cmd_test_result *res = parsed_result; - double d,a; uint8_t err; + double d,a; - strat_reset_pos(1000, 500, 0); - strat_set_speed(SPEED_DIST_SLOW, SPEED_ANGLE_SLOW); - circle_get_da_speed_from_radius(&mainboard.traj, res->radius, &d, &a); - trajectory_d_rel(&mainboard.traj, 1000); - err = WAIT_COND_OR_TRAJ_END(position_get_x_double(&mainboard.pos) > 1500, 0xFF); - if (err) - return; +#if 0 + strat_set_speed(500, 500); + circle_get_da_speed_from_radius(&mainboard.traj, 225, &d, &a); + trajectory_line_abs(&mainboard.traj, + 375, 347, + 375, 1847, 100.); + err = WAIT_COND_OR_TRAJ_END(y_is_more_than(945), + TRAJ_FLAGS_NO_NEAR); + /* circle */ + strat_set_speed(d, a); + trajectory_d_a_rel(&mainboard.traj, 350, -61); + + err = WAIT_COND_OR_TRAJ_END(x_is_more_than(600), + TRAJ_FLAGS_NO_NEAR); + + strat_set_speed(500, 500); + trajectory_line_abs(&mainboard.traj, + 375, 1097, + 1725, 1847, 100.); +#else + strat_set_speed(500, 500); + circle_get_da_speed_from_radius(&mainboard.traj, 225, &d, &a); + trajectory_line_abs(&mainboard.traj, + 375, 347, + 375, 1847, 100.); + err = WAIT_COND_OR_TRAJ_END(y_is_more_than(1445), + TRAJ_FLAGS_NO_NEAR); + /* circle */ strat_set_speed(d, a); - trajectory_d_a_rel(&mainboard.traj, 10000, 1000); + trajectory_d_a_rel(&mainboard.traj, 700, -121); + + err = WAIT_COND_OR_TRAJ_END(x_is_more_than(750), + TRAJ_FLAGS_NO_NEAR); + + strat_set_speed(500, 500); + trajectory_line_abs(&mainboard.traj, + 825, 1596, + 1950, 972, 100.); +#endif } prog_char str_test_arg0[] = "test"; parse_pgm_token_string_t cmd_test_arg0 = TOKEN_STRING_INITIALIZER(struct cmd_test_result, arg0, str_test_arg0); -parse_pgm_token_num_t cmd_test_arg1 = TOKEN_NUM_INITIALIZER(struct cmd_test_result, radius, INT32); prog_char help_test[] = "Test function"; parse_pgm_inst_t cmd_test = { @@ -2276,7 +2303,6 @@ parse_pgm_inst_t cmd_test = { .help_str = help_test, .tokens = { /* token list, NULL terminated */ (prog_void *)&cmd_test_arg0, - (prog_void *)&cmd_test_arg1, NULL, }, };