summaryrefslogtreecommitdiff
path: root/digital/ai/src
diff options
context:
space:
mode:
authorNicolas Schodet2012-05-01 23:03:10 +0200
committerNicolas Schodet2012-05-01 23:03:10 +0200
commit81d5f6b303f7ee75af95fd25148f01e85cd52491 (patch)
tree55e3329e509f24674580878211d5787ffc85f71b /digital/ai/src
parent59306ec9e75c50b72be4e30fa291296e7bcba877 (diff)
digital/ai/src/fsm: add next state in FSM debug for AVR
Diffstat (limited to 'digital/ai/src')
-rw-r--r--digital/ai/src/fsm/fsm.host.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/digital/ai/src/fsm/fsm.host.c b/digital/ai/src/fsm/fsm.host.c
index 50336722..391792e9 100644
--- a/digital/ai/src/fsm/fsm.host.c
+++ b/digital/ai/src/fsm/fsm.host.c
@@ -1349,13 +1349,17 @@ fsm_build_gen_avr_c (fsm_build_t *fsm, uint embedded_strings)
fsm->name,
fsm->name);
fprintf (f, "\t\t{\n");
- fprintf (f, "\t\t\tproto_send2b ('F', fsm_%s_active_states[i], e);\n",
+ fprintf (f, "\t\t\tfsm_%s_state_t old_state = fsm_%s_active_states[i];\n",
+ fsm->name,
fsm->name);
fprintf (f, "\t\t\tfsm_%s_active_states[i] = fsm_%s_read_trans (e, "
"fsm_%s_active_states[i])();\n",
fsm->name,
fsm->name,
fsm->name);
+ fprintf (f, "\t\t\tproto_send3b ('F', old_state, e, "
+ "fsm_%s_active_states[i]);\n",
+ fsm->name);
fprintf (f, "\t\t\thandled = 1;\n");
if (fsm->timeouts != NULL)
{