summaryrefslogtreecommitdiff
path: root/digital
diff options
context:
space:
mode:
Diffstat (limited to 'digital')
-rw-r--r--digital/ai/src/common/defs.h7
-rw-r--r--digital/ai/src/twi_master/asserv.c6
-rw-r--r--digital/ai/src/twi_master/asserv.h8
-rw-r--r--digital/io/src/move.c6
4 files changed, 17 insertions, 10 deletions
diff --git a/digital/ai/src/common/defs.h b/digital/ai/src/common/defs.h
index f16e9e52..beec5608 100644
--- a/digital/ai/src/common/defs.h
+++ b/digital/ai/src/common/defs.h
@@ -43,6 +43,13 @@ typedef struct position_t position_t;
/** Convert degrees to an angle usable in position_t. */
#define POSITION_A_DEG(a) G_ANGLE_UF016_DEG (a)
+/** No particular direction. */
+#define DIRECTION_NONE 0
+/** Forward direction, along the robot X axis. */
+#define DIRECTION_FORWARD 1
+/** Backward, opposite the robot X axis. */
+#define DIRECTION_BACKWARD 2
+
/** Team color, determine the start zone side. */
enum team_color_e
{
diff --git a/digital/ai/src/twi_master/asserv.c b/digital/ai/src/twi_master/asserv.c
index d066737b..d9ae9330 100644
--- a/digital/ai/src/twi_master/asserv.c
+++ b/digital/ai/src/twi_master/asserv.c
@@ -202,12 +202,12 @@ asserv_get_moving_direction (void)
{
/* Foward move? */
if (asserv_status.status & _BV (asserv_status_flag_move_forward))
- return 1;
+ return DIRECTION_FORWARD;
/* Backward move? */
if (asserv_status.status & _BV (asserv_status_flag_move_backward))
- return 2;
+ return DIRECTION_BACKWARD;
/* Not moving */
- return 0;
+ return DIRECTION_NONE;
}
uint8_t
diff --git a/digital/ai/src/twi_master/asserv.h b/digital/ai/src/twi_master/asserv.h
index 0d29ba96..2aa7a6f8 100644
--- a/digital/ai/src/twi_master/asserv.h
+++ b/digital/ai/src/twi_master/asserv.h
@@ -121,16 +121,16 @@ asserv_get_motor1_position (void);
/**
* Are we moving forward/backward?
* @return
- * - 0 we are not moving;
- * - 1 we are moving forward;
- * - 2 we are moving backward.
+ * - DIRECTION_NONE we are not moving;
+ * - DIRECTION_FORWARD we are moving forward;
+ * - DIRECTION_BACKWARD we are moving backward.
*/
uint8_t
asserv_get_moving_direction (void);
/**
* Get the last moving direction of the bot.
- * @return 1 is forward, 2 is backward.
+ * @return DIRECTION_FORWARD or DIRECTION_BACKWARD.
*/
uint8_t
asserv_get_last_moving_direction (void);
diff --git a/digital/io/src/move.c b/digital/io/src/move.c
index 60db0272..81c554fc 100644
--- a/digital/io/src/move.c
+++ b/digital/io/src/move.c
@@ -397,7 +397,7 @@ move_MOVE_MOVING_bot_move_failed_MOVE_MOVING_BACKWARD_TO_TURN_FREELY ()
position_t robot_pos;
asserv_get_position (&robot_pos);
vect_t obstacle_pos;
- int16_t dist = asserv_get_last_moving_direction () == 1
+ int16_t dist = asserv_get_last_moving_direction () == DIRECTION_FORWARD
? BOT_SIZE_FRONT + MOVE_REAL_OBSTACLE_RADIUS
: -(BOT_SIZE_BACK + MOVE_REAL_OBSTACLE_RADIUS);
vect_from_polar_uf016 (&obstacle_pos, dist, robot_pos.a);
@@ -405,8 +405,8 @@ move_MOVE_MOVING_bot_move_failed_MOVE_MOVING_BACKWARD_TO_TURN_FREELY ()
path_obstacle (0, obstacle_pos, MOVE_OBSTACLE_RADIUS, 0,
MOVE_OBSTACLE_VALIDITY);
/* Move backward to turn freely. */
- asserv_move_linearly (asserv_get_last_moving_direction () == 1 ?
- - 300 : 300);
+ asserv_move_linearly (asserv_get_last_moving_direction ()
+ == DIRECTION_FORWARD ? -300 : 300);
}
FSM_TRANS (MOVE_MOVING,