summaryrefslogtreecommitdiff
path: root/digital/io-hub/src/robospierre/pawn_sensor.c
diff options
context:
space:
mode:
authorNicolas Schodet2011-05-31 15:45:24 +0200
committerNicolas Schodet2011-05-31 22:44:18 +0200
commit079e9cd0832d9854b172d120c822b578a2788e9a (patch)
treeb740ce783ae05534ad653834753eaa8660aa770c /digital/io-hub/src/robospierre/pawn_sensor.c
parent8e18792e1c921690ac99364ff84a3ab056ffcad6 (diff)
digital/io-hub: fix pawn sensor
Diffstat (limited to 'digital/io-hub/src/robospierre/pawn_sensor.c')
-rw-r--r--digital/io-hub/src/robospierre/pawn_sensor.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/digital/io-hub/src/robospierre/pawn_sensor.c b/digital/io-hub/src/robospierre/pawn_sensor.c
index 3a59e908..be6f3c87 100644
--- a/digital/io-hub/src/robospierre/pawn_sensor.c
+++ b/digital/io-hub/src/robospierre/pawn_sensor.c
@@ -32,6 +32,7 @@
#include "clamp.h"
#include "bot.h"
+#include "modules/utils/utils.h"
#include "modules/math/geometry/distance.h"
/* Handle pawn sensors. When a pawn is detected, it can not be taken
@@ -94,6 +95,12 @@ pawn_sensor_get (uint8_t direction)
ctx->active = 0;
return pawn_sensor_get_type (direction);
}
+ else if (d > UTILS_ABS (dist))
+ {
+ vect_from_polar_uf016 (&ctx->active_position, dist,
+ robot_position.a);
+ vect_translate (&ctx->active_position, &robot_position.v);
+ }
}
else
{