From 0120e9729d10c21558b4dfdb54ad202fe39243c9 Mon Sep 17 00:00:00 2001 From: Nicolas Schodet Date: Wed, 12 May 2010 23:15:25 +0200 Subject: digital/io/src: moved FSM transition table to flash --- digital/io/src/fsm.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'digital/io/src/fsm.c') diff --git a/digital/io/src/fsm.c b/digital/io/src/fsm.c index d39c6e23..45eeb5ba 100644 --- a/digital/io/src/fsm.c +++ b/digital/io/src/fsm.c @@ -55,8 +55,7 @@ fsm_handle_event_single (fsm_t *fsm, uint8_t active, uint8_t event) assert (event < fsm->events_nb); /* Lookup transition. */ uint8_t old_state = fsm->states_active[active]; - fsm_transition_t tr = fsm->transition_table[ - old_state * fsm->events_nb + event]; + fsm_transition_t tr = FSM_TRANSITION (fsm, old_state, event); /* Ignore unhandled events. */ if (tr) { @@ -130,7 +129,7 @@ fsm_can_handle_event (fsm_t *fsm, uint8_t event) for (i = 0; i < fsm->active_states_nb; i++) { uint8_t state = fsm->states_active[i]; - if (fsm->transition_table[state * fsm->events_nb + event]) + if (FSM_TRANSITION (fsm, state, event)) return 1; } return 0; -- cgit v1.2.3