summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-19 07:49:34 +0200
committerNicolas Schodet2012-05-19 07:51:37 +0200
commit32c6521edce6c57917f8e9710580afcd97fa39f6 (patch)
tree17fe11bfba4abfba772bff50b7dfff15e9495f60
parentefddb1eda45987fa223a2ea46ff0c39eb833d5cc (diff)
digital/io-hub/src/guybrush: add obstacle debug log
-rw-r--r--digital/io-hub/src/guybrush/move.c5
-rw-r--r--digital/io-hub/tools/decode_fsm.py4
2 files changed, 9 insertions, 0 deletions
diff --git a/digital/io-hub/src/guybrush/move.c b/digital/io-hub/src/guybrush/move.c
index f07d8710..056ffeb2 100644
--- a/digital/io-hub/src/guybrush/move.c
+++ b/digital/io-hub/src/guybrush/move.c
@@ -36,6 +36,7 @@
#include "path.h"
#include "modules/utils/utils.h"
+#include "modules/proto/proto.h"
#include <math.h>
@@ -117,8 +118,12 @@ move_obstacles_update (void)
{
uint8_t i;
for (i = 0; i < main_obstacles_nb; i++)
+ {
path_obstacle (i, main_obstacles_pos[i], MOVE_OBSTACLE_RADIUS, 0,
MOVE_OBSTACLE_VALIDITY);
+ proto_send2w ('o', main_obstacles_pos[i].x,
+ main_obstacles_pos[i].y);
+ }
}
uint8_t
diff --git a/digital/io-hub/tools/decode_fsm.py b/digital/io-hub/tools/decode_fsm.py
index 201abfbd..41e9fe37 100644
--- a/digital/io-hub/tools/decode_fsm.py
+++ b/digital/io-hub/tools/decode_fsm.py
@@ -23,6 +23,7 @@ def parse_header(fsm_name, fname):
def parse_proto(states, events):
"""Parse proto output from stdin and output FSM transitions."""
fsm_re = re.compile(r'!F([0-9a-f]{2})([0-9a-f]{2})([0-9a-f]{2})')
+ obstacle_re = re.compile(r'!o([0-9a-f]{4})([0-9a-f]{4})')
for l in sys.stdin:
for m in fsm_re.finditer(l):
old, event, new = [ int(i, 16) for i in m.groups() ]
@@ -34,6 +35,9 @@ def parse_proto(states, events):
print "unknown transition"
else:
print "%s -> %s -> %s" % (old, event, new)
+ for m in obstacle_re.finditer(l):
+ x, y = [ int(i, 16) for i in m.groups() ]
+ print "obstacle %s %s" % (x, y)
op = optparse.OptionParser(description=__doc__)
op.add_option('--file', '-f', metavar='HEADER',