summaryrefslogtreecommitdiff
path: root/digital/io/src/move.c
diff options
context:
space:
mode:
authorNélio Laranjeiro2008-04-22 00:03:08 +0200
committerNélio Laranjeiro2008-04-22 00:03:08 +0200
commit16391322854166204fdfb7748877884b21f33d64 (patch)
tree3b59f50956ed52fc10644f542fbdc803d2458215 /digital/io/src/move.c
parent12161ca13b40cac3d181f475f08f05665ca81401 (diff)
move : Optimized source code (size of source code).
Diffstat (limited to 'digital/io/src/move.c')
-rw-r--r--digital/io/src/move.c41
1 files changed, 41 insertions, 0 deletions
diff --git a/digital/io/src/move.c b/digital/io/src/move.c
index 1f8addfc..b239253f 100644
--- a/digital/io/src/move.c
+++ b/digital/io/src/move.c
@@ -77,3 +77,44 @@ move_can_go_on_left_or_right (asserv_position_t current_pos,
}
}
+/** Go to the right.
+ */
+void
+move_go_to_right (void)
+{
+ asserv_position_t pos;
+ asserv_position_t new_pos;
+
+ asserv_get_position (&pos);
+ new_pos.x = pos.x - MOVE_BORDER_LEVEL;
+ new_pos.y = pos.y;
+ new_pos.a = pos.a;
+
+ if (move_can_go_on_left_or_right (pos, new_pos))
+ {
+ asserv_goto (new_pos.x, new_pos.y);
+ }
+}
+
+/** Go to the left.
+ */
+void
+move_go_to_left (void)
+{
+ asserv_position_t pos;
+ asserv_position_t new_pos;
+
+ asserv_get_position (&pos);
+ new_pos.x = pos.x + MOVE_BORDER_LEVEL;
+ new_pos.y = pos.y;
+ new_pos.a = pos.a;
+
+ if (move_can_go_on_left_or_right (pos, new_pos))
+ {
+ asserv_goto (new_pos.x, new_pos.y);
+ }
+
+ return move_next (MOVE_ON_LEFT, failed);
+}
+
+