From 16391322854166204fdfb7748877884b21f33d64 Mon Sep 17 00:00:00 2001 From: NĂ©lio Laranjeiro Date: Tue, 22 Apr 2008 00:03:08 +0200 Subject: move : Optimized source code (size of source code). --- digital/io/src/move.c | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) (limited to 'digital/io/src/move.c') 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); +} + + -- cgit v1.2.3