vt100: include pgmspace.h as we use PROGMEM macro
[aversive.git] / projects / microb2010 / mainboard / commands_traj.c
index 4da3b47..d08b4e5 100644 (file)
@@ -62,7 +62,6 @@
 #include "strat_db.h"
 #include "../common/i2c_commands.h"
 #include "i2c_protocol.h"
-#include "beacon.h"
 
 /**********************************************************/
 /* Traj_Speeds for trajectory_manager */
@@ -831,7 +830,7 @@ static void auto_position(void)
                goto intr;
        strat_reset_pos(ROBOT_WIDTH/2 + 100,
                        COLOR_Y(ROBOT_HALF_LENGTH_FRONT),
-                       COLOR_A(-90));
+                       COLOR_A(-90) + ROBOT_ANGLE_FRONT);
        strat_hardstop();
 
        trajectory_d_rel(&mainboard.traj, -180);
@@ -851,7 +850,7 @@ static void auto_position(void)
                goto intr;
        strat_reset_pos(ROBOT_HALF_LENGTH_FRONT,
                        DO_NOT_SET_POS,
-                       180);
+                       180 + ROBOT_ANGLE_FRONT);
        strat_hardstop();
 
        trajectory_d_rel(&mainboard.traj, -170);
@@ -892,7 +891,6 @@ static void cmd_position_parsed(void * parsed_result, void * data)
 #ifndef HOST_VERSION
                i2c_set_color(I2C_COBBOARD_ADDR, I2C_COLOR_BLUE);
                i2c_set_color(I2C_BALLBOARD_ADDR, I2C_COLOR_BLUE);
-               beacon_set_color(I2C_COLOR_YELLOW);
 #endif
                auto_position();
        }
@@ -902,7 +900,6 @@ static void cmd_position_parsed(void * parsed_result, void * data)
 #ifndef HOST_VERSION
                i2c_set_color(I2C_COBBOARD_ADDR, I2C_COLOR_YELLOW);
                i2c_set_color(I2C_BALLBOARD_ADDR, I2C_COLOR_YELLOW);
-               beacon_set_color(I2C_COLOR_BLUE);
 #endif
                auto_position();
        }
@@ -1058,6 +1055,10 @@ static void cmd_strat_conf2_parsed(void *parsed_result, void *data)
 
        if (!strcmp_P(res->arg1, PSTR("our_orange")))
                bit = STRAT_CONF_OUR_ORANGE;
+       else if (!strcmp_P(res->arg1, PSTR("wait_obstacle")))
+               bit = STRAT_CONF_WAIT_OBSTACLE;
+       else if (!strcmp_P(res->arg1, PSTR("straight_begin")))
+               bit = STRAT_CONF_STRAIGHT_BEGIN;
 
        if (on)
                strat_conf.flags |= bit;
@@ -1070,7 +1071,7 @@ static void cmd_strat_conf2_parsed(void *parsed_result, void *data)
 
 prog_char str_strat_conf2_arg0[] = "strat_conf";
 parse_pgm_token_string_t cmd_strat_conf2_arg0 = TOKEN_STRING_INITIALIZER(struct cmd_strat_conf2_result, arg0, str_strat_conf2_arg0);
-prog_char str_strat_conf2_arg1[] = "our_orange";
+prog_char str_strat_conf2_arg1[] = "our_orange#wait_obstacle#straight_begin";
 parse_pgm_token_string_t cmd_strat_conf2_arg1 = TOKEN_STRING_INITIALIZER(struct cmd_strat_conf2_result, arg1, str_strat_conf2_arg1);
 prog_char str_strat_conf2_arg2[] = "on#off";
 parse_pgm_token_string_t cmd_strat_conf2_arg2 = TOKEN_STRING_INITIALIZER(struct cmd_strat_conf2_result, arg2, str_strat_conf2_arg2);