summaryrefslogtreecommitdiffhomepage
path: root/digital
diff options
context:
space:
mode:
Diffstat (limited to 'digital')
-rw-r--r--digital/io/src/main.c3
-rw-r--r--digital/io/src/radar.c10
-rw-r--r--digital/io/src/radar.h4
3 files changed, 8 insertions, 9 deletions
diff --git a/digital/io/src/main.c b/digital/io/src/main.c
index c013c055..b8db479d 100644
--- a/digital/io/src/main.c
+++ b/digital/io/src/main.c
@@ -252,8 +252,7 @@ main_loop (void)
{
position_t robot_pos;
asserv_get_position (&robot_pos);
- main_obstacles_nb = radar_update (robot_pos.v, robot_pos.a,
- main_obstacles_pos);
+ main_obstacles_nb = radar_update (&robot_pos, main_obstacles_pos);
simu_send_pos_report (main_obstacles_pos, main_obstacles_nb, 0);
}
diff --git a/digital/io/src/radar.c b/digital/io/src/radar.c
index 7c9557c4..93aaa047 100644
--- a/digital/io/src/radar.c
+++ b/digital/io/src/radar.c
@@ -75,7 +75,7 @@ radar_valid (vect_t p)
}
uint8_t
-radar_update (vect_t robot_pos, uint16_t robot_a, vect_t *obs_pos)
+radar_update (const position_t *robot_pos, vect_t *obs_pos)
{
uint8_t i, j;
vect_t ray;
@@ -92,14 +92,14 @@ radar_update (vect_t robot_pos, uint16_t robot_a, vect_t *obs_pos)
if (dist_mm[i] != 0xffff)
{
hit[i] = radar_sensors[i].pos;
- vect_rotate_uf016 (&hit[i], robot_a);
- vect_translate (&hit[i], &robot_pos);
+ vect_rotate_uf016 (&hit[i], robot_pos->a);
+ vect_translate (&hit[i], &robot_pos->v);
vect_from_polar_uf016 (&ray, dist_mm[i],
- robot_a + radar_sensors[i].a);
+ robot_pos->a + radar_sensors[i].a);
vect_translate (&hit[i], &ray);
valid[i] = radar_valid (hit[i]);
vect_from_polar_uf016 (&ray, RADAR_OBSTACLE_RADIUS_MM,
- robot_a + radar_sensors[i].a);
+ robot_pos->a + radar_sensors[i].a);
vect_translate (&hit[i], &ray);
}
else
diff --git a/digital/io/src/radar.h b/digital/io/src/radar.h
index a1c5fe54..d5fa8b78 100644
--- a/digital/io/src/radar.h
+++ b/digital/io/src/radar.h
@@ -24,7 +24,7 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*
* }}} */
-#include "modules/math/geometry/vect.h"
+#include "defs.h"
/**
* Handle any distance sensors information to extract useful data. This
@@ -42,6 +42,6 @@
/** Update radar view. Return the number of obstacles found. Obstacles
* positions are returned in obs_pos. */
uint8_t
-radar_update (vect_t robot_pos, uint16_t robot_a, vect_t *obs_pos);
+radar_update (const position_t *robot_pos, vect_t *obs_pos);
#endif /* radar_h */