summaryrefslogtreecommitdiff
path: root/digital/io-hub/tools/decode_fsm.py
diff options
context:
space:
mode:
Diffstat (limited to 'digital/io-hub/tools/decode_fsm.py')
-rw-r--r--digital/io-hub/tools/decode_fsm.py4
1 files changed, 4 insertions, 0 deletions
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',