From 94ed449899985636256b5228d5e0f6bba5af2971 Mon Sep 17 00:00:00 2001 From: Jérémy Dufour Date: Thu, 1 May 2008 00:57:16 +0200 Subject: * digital/io/src - add a function to the sharp module to know if there is a obstacle in front of us (by taking in account the current moving direction of the bot). --- digital/io/src/sharp.c | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'digital/io/src/sharp.c') diff --git a/digital/io/src/sharp.c b/digital/io/src/sharp.c index f5f80152..79e6c08f 100644 --- a/digital/io/src/sharp.c +++ b/digital/io/src/sharp.c @@ -172,3 +172,29 @@ sharp_get_interpreted (uint8_t sharp_id) { return sharp_cache_interpreted_[sharp_id]; } + +/* Is there an obstacle in front of the bot? */ +uint8_t +sharp_path_obstrued (uint8_t moving_direction) +{ + /* If we are moving forward */ + if (moving_direction == 1) + { + /* Use only front sharps */ + if (sharp_get_interpreted (SHARP_FRONT_LEFT) || + sharp_get_interpreted (SHARP_FRONT_MIDDLE) || + sharp_get_interpreted (SHARP_FRONT_RIGHT)) + /* Something in front */ + return 1; + } + /* If we are moving backward */ + else if (moving_direction == 2) + { + /* Use only back sharps */ + if (sharp_get_interpreted (SHARP_BACK_LEFT) || + sharp_get_interpreted (SHARP_BACK_RIGHT)) + /* Something in front */ + return 1; + } + return 0; +} -- cgit v1.2.3