summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-06 02:43:53 +0200
committerNicolas Schodet2012-05-06 11:06:44 +0200
commit0f23035edeb55c1362feeebae45099f7869bb35b (patch)
tree6f4cff36b60cb2d2994a4e204f9ac1d03eedf3a9
parentb6370787b3009ed094705d235ce53d90ff816804 (diff)
digital/ai: add sensor argument to radar_valid
-rw-r--r--digital/ai/src/move/radar.c5
-rw-r--r--digital/ai/src/move/radar.h4
-rw-r--r--digital/io-hub/src/guybrush/radar_defs.c2
-rw-r--r--digital/io-hub/src/robospierre/radar_defs.c2
-rw-r--r--digital/io/src/radar_defs.c2
5 files changed, 8 insertions, 7 deletions
diff --git a/digital/ai/src/move/radar.c b/digital/ai/src/move/radar.c
index a572afba..7b9ef711 100644
--- a/digital/ai/src/move/radar.c
+++ b/digital/ai/src/move/radar.c
@@ -38,9 +38,6 @@
/** Define radar configuration. */
extern struct radar_sensor_t radar_sensors[RADAR_SENSOR_NB];
-uint8_t
-radar_valid (vect_t p);
-
/** Compute the center position from several radars sensors, return 1 if
* any. */
static uint8_t
@@ -89,7 +86,7 @@ radar_update (const position_t *robot_pos, vect_t *obs_pos)
vect_from_polar_uf016 (&ray, dist_mm[i],
robot_pos->a + radar_sensors[i].a);
vect_translate (&hit[i], &ray);
- valid[i] = radar_valid (hit[i]);
+ valid[i] = radar_valid (hit[i], i);
vect_from_polar_uf016 (&ray, RADAR_OBSTACLE_EDGE_RADIUS_MM,
robot_pos->a + radar_sensors[i].a);
vect_translate (&hit[i], &ray);
diff --git a/digital/ai/src/move/radar.h b/digital/ai/src/move/radar.h
index 2e37d11d..b9ebc7e1 100644
--- a/digital/ai/src/move/radar.h
+++ b/digital/ai/src/move/radar.h
@@ -93,4 +93,8 @@ uint8_t
radar_blocking (const vect_t *robot_pos, const vect_t *dest_pos,
const vect_t *obs_pos, uint8_t obs_nb);
+/** Define exclusion area (considered as invalid point). */
+uint8_t
+radar_valid (vect_t p, uint8_t sensor);
+
#endif /* radar_h */
diff --git a/digital/io-hub/src/guybrush/radar_defs.c b/digital/io-hub/src/guybrush/radar_defs.c
index 8fd626d6..663b2371 100644
--- a/digital/io-hub/src/guybrush/radar_defs.c
+++ b/digital/io-hub/src/guybrush/radar_defs.c
@@ -38,7 +38,7 @@ struct radar_sensor_t radar_sensors[RADAR_SENSOR_NB] = {
/** Define exclusion area (considered as invalid point). */
uint8_t
-radar_valid (vect_t p)
+radar_valid (vect_t p, uint8_t sensor)
{
return p.x >= RADAR_MARGIN_MM && p.x < PG_WIDTH - RADAR_MARGIN_MM
&& p.y >= RADAR_MARGIN_MM && p.y < PG_LENGTH - RADAR_MARGIN_MM;
diff --git a/digital/io-hub/src/robospierre/radar_defs.c b/digital/io-hub/src/robospierre/radar_defs.c
index 778f2db1..169613a9 100644
--- a/digital/io-hub/src/robospierre/radar_defs.c
+++ b/digital/io-hub/src/robospierre/radar_defs.c
@@ -38,7 +38,7 @@ struct radar_sensor_t radar_sensors[RADAR_SENSOR_NB] = {
/** Define exclusion area (considered as invalid point). */
uint8_t
-radar_valid (vect_t p)
+radar_valid (vect_t p, uint8_t sensor)
{
return p.x >= RADAR_MARGIN_MM && p.x < PG_WIDTH - RADAR_MARGIN_MM
&& p.y >= RADAR_MARGIN_MM && p.y < PG_LENGTH - RADAR_MARGIN_MM;
diff --git a/digital/io/src/radar_defs.c b/digital/io/src/radar_defs.c
index 2787ed97..0a67a3a1 100644
--- a/digital/io/src/radar_defs.c
+++ b/digital/io/src/radar_defs.c
@@ -42,7 +42,7 @@ struct radar_sensor_t radar_sensors[RADAR_SENSOR_NB] = {
/** Define exclusion area (considered as invalid point). */
uint8_t
-radar_valid (vect_t p)
+radar_valid (vect_t p, uint8_t sensor)
{
return p.x >= RADAR_MARGIN_MM && p.x < PG_WIDTH - RADAR_MARGIN_MM
&& p.y >= RADAR_MARGIN_MM && p.y < PG_LENGTH - RADAR_MARGIN_MM