From 19c0b55ba097db272d96d879e2895e2654a2c91c Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Tue, 17 Jun 2008 22:57:12 +0200 Subject: * digital/io/src: - added obstacles to path report. --- digital/io/src/path.c | 14 +------------- digital/io/src/path.h | 11 +++++++++++ digital/io/src/simu.host.c | 3 ++- digital/io/src/simu.host.h | 5 ++++- digital/io/src/test_path.c | 4 +++- 5 files changed, 21 insertions(+), 16 deletions(-) (limited to 'digital/io/src') diff --git a/digital/io/src/path.c b/digital/io/src/path.c index a41a2d4e..0cd8e331 100644 --- a/digital/io/src/path.c +++ b/digital/io/src/path.c @@ -29,7 +29,6 @@ #include "modules/math/fixed/fixed.h" #include "modules/utils/utils.h" -#include "modules/host/mex.h" /** Number of possible obstacles. */ #define PATH_OBSTACLES_NB 2 @@ -56,17 +55,6 @@ struct path_point_t uint8_t taken; }; -/** Obstacle. */ -struct path_obstacle_t -{ - /** Center. */ - int16_t x, y; - /** Radius. */ - uint16_t r; - /** Validity counter, when this is zero, the obstacle is ignored. */ - uint16_t valid; -}; - /** Path finding context. */ struct path_t { @@ -308,7 +296,7 @@ path_update (void) points[len++] = path.points[i].x; points[len++] = path.points[i].y; } - simu_send_path (len, points); + simu_send_path (points, len, path.obstacles, PATH_OBSTACLES_NB); #endif } diff --git a/digital/io/src/path.h b/digital/io/src/path.h index cf19ec3d..a314fcec 100644 --- a/digital/io/src/path.h +++ b/digital/io/src/path.h @@ -25,6 +25,17 @@ * * }}} */ +/** Obstacle. */ +struct path_obstacle_t +{ + /** Center. */ + int16_t x, y; + /** Radius. */ + uint16_t r; + /** Validity counter, when this is zero, the obstacle is ignored. */ + uint16_t valid; +}; + /** Initialise path finder. */ void path_init (int16_t border_xmin, int16_t border_ymin, diff --git a/digital/io/src/simu.host.c b/digital/io/src/simu.host.c index 1eb18a39..cce7711b 100644 --- a/digital/io/src/simu.host.c +++ b/digital/io/src/simu.host.c @@ -199,7 +199,8 @@ eeprom_clear_param (void) /** Send computed path. */ void -simu_send_path (uint8_t len, uint16_t *points) +simu_send_path (uint16_t *points, uint8_t len, + struct path_obstacle_t *obstacles, uint8_t obstacles_nb) { int i; mex_msg_t *m; diff --git a/digital/io/src/simu.host.h b/digital/io/src/simu.host.h index 4f27f389..8e0243d1 100644 --- a/digital/io/src/simu.host.h +++ b/digital/io/src/simu.host.h @@ -27,6 +27,8 @@ #ifdef HOST +#include "path.h" + /** Hooked, initialise the host simulation. */ void main_timer_init (void); @@ -53,7 +55,8 @@ switch_get_jack (void); /** Send computed path. */ void -simu_send_path (uint8_t len, uint16_t *points); +simu_send_path (uint16_t *points, uint8_t len, + struct path_obstacle_t *obstacles, uint8_t obstacles_nb); #endif /* defined (HOST) */ diff --git a/digital/io/src/test_path.c b/digital/io/src/test_path.c index e16e5c6f..1ec8c533 100644 --- a/digital/io/src/test_path.c +++ b/digital/io/src/test_path.c @@ -24,6 +24,7 @@ * }}} */ #include "common.h" #include "path.h" +#include "simu.host.h" #include @@ -48,7 +49,8 @@ main (void) } void -simu_send_path (uint8_t len, uint16_t *points) +simu_send_path (uint16_t *points, uint8_t len, + struct path_obstacle_t *obstacles, uint8_t obstacles_nb) { } -- cgit v1.2.3