summaryrefslogtreecommitdiffhomepage
path: root/digital/io/src/fsm_templates/template_fsm.c
diff options
context:
space:
mode:
authorNicolas Schodet2009-05-08 23:07:28 +0200
committerNicolas Schodet2009-05-08 23:07:28 +0200
commit5e074e1df70ce948dbc72c13610a12d925af5a00 (patch)
tree6a246b51e398a21edac39fda560cfbacc3f47256 /digital/io/src/fsm_templates/template_fsm.c
parentb566e4bcd0c7cb3c90ad941b37db223134090ded (diff)
* digital/io:
- added fsm timeout handling.
Diffstat (limited to 'digital/io/src/fsm_templates/template_fsm.c')
-rw-r--r--digital/io/src/fsm_templates/template_fsm.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/digital/io/src/fsm_templates/template_fsm.c b/digital/io/src/fsm_templates/template_fsm.c
index dfbdd4b4..87367189 100644
--- a/digital/io/src/fsm_templates/template_fsm.c
+++ b/digital/io/src/fsm_templates/template_fsm.c
@@ -15,6 +15,11 @@ static const fsm_transition_t
%(prefix)s_transition_table[%(PREFIX)s_STATE_NB][%(PREFIX)s_EVENT_NB] = {
%(transition_table)s};
+/* %(name)s state timeout table. */
+static const uint16_t
+%(prefix)s_state_timeout_table[%(PREFIX)s_STATE_NB] = {
+%(states,%(@timeout|0xffff)s)s};
+
#ifdef HOST
/* %(name)s state names. */
@@ -35,6 +40,9 @@ fsm_t %(prefix)s_fsm = {
%(PREFIX)s_EVENT_NB,
%(PREFIX)s_STATE_%(initial)s,
%(PREFIX)s_STATE_%(initial)s,
+ &%(prefix)s_state_timeout_table[0],
+ 0,
+ %(PREFIX)s_EVENT_state_timeout,
#ifdef HOST
"%(name)s",
%(prefix)s_states_names,