summaryrefslogtreecommitdiff
path: root/digital
diff options
context:
space:
mode:
authorNicolas Schodet2008-06-17 22:57:12 +0200
committerNicolas Schodet2008-06-17 22:57:12 +0200
commit19c0b55ba097db272d96d879e2895e2654a2c91c (patch)
treefb910d9562a0d518672f0504af27eeef21ab4cd4 /digital
parent43fed3a07ab4626a2961b850ffbb08734359e86e (diff)
* digital/io/src:
- added obstacles to path report.
Diffstat (limited to 'digital')
-rw-r--r--digital/io/src/path.c14
-rw-r--r--digital/io/src/path.h11
-rw-r--r--digital/io/src/simu.host.c3
-rw-r--r--digital/io/src/simu.host.h5
-rw-r--r--digital/io/src/test_path.c4
5 files changed, 21 insertions, 16 deletions
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 <stdio.h>
@@ -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)
{
}