rFSM sequential-and example

Hi,
I'm trying the rFSM sequential AND example,
but I find the following things, which look strange to me:

*subFSM2 doesn't print his message "hi from s2 doo!"
-------------------------------------------------------
> se("e_on")
> step()
subfsm1: EXEC_PATH root.initial[C]->root.s11[S]
subfsm1: TRANS_EXIT exiting all up to (including): root.initial , lca: root
subfsm1: STATE_EXIT root.initial
subfsm1: EFFECT T={ src='root.initial', tgt='root.s11', events='' }
subfsm1: TRANS_ENTER lca: root down_path: root.s11
subfsm1: RAISED e_done@root.s11
subfsm1: STATE_ENTER root.s11
subfsm2: EXEC_PATH root.initial[C]->root.s21[S]
subfsm2: TRANS_EXIT exiting all up to (including): root.initial , lca: root
subfsm2: STATE_EXIT root.initial
subfsm2: EFFECT T={ src='root.initial', tgt='root.s21', events='' }
subfsm2: TRANS_ENTER lca: root down_path: root.s21
subfsm2: STATE_ENTER root.s21
stephook intercepted events: {"e_on"}
subfsm1: RAISED e_on
subfsm2: RAISED e_on
active: root.and_state(active)
queue:
> step()
subfsm1: TRANSITION searching transitions for events: e_done@root.s11, e_on
subfsm1: CHECKING depth: 0 for transitions from root
subfsm1: CHECKING depth: 1 for transitions from root.s11
subfsm1: TRANSITION no enabled paths found
subfsm2: TRANSITION searching transitions for events: e_on
subfsm2: CHECKING depth: 0 for transitions from root
subfsm2: CHECKING depth: 1 for transitions from root.s21
subfsm2: TRANSITION no enabled paths found
stephook intercepted events: {}
subfsm1: RAISED
subfsm2: RAISED
active: root.and_state(active)
queue:
> se("e_one")
> step()
stephook intercepted events: {"e_one"}
subfsm1: RAISED e_one
subfsm2: RAISED e_one
active: root.and_state(active)
queue:
> step()
subfsm1: TRANSITION searching transitions for events: e_one
subfsm1: CHECKING depth: 0 for transitions from root
subfsm1: CHECKING depth: 1 for transitions from root.s11
subfsm1: EXEC_PATH root.s11[S]->root.s12[S]
subfsm1: TRANS_EXIT exiting all up to (including): root.s11 , lca: root
subfsm1: STATE_EXIT root.s11
subfsm1: EFFECT T={ src='root.s11', tgt='root.s12', events='e_one' }
subfsm1: TRANS_ENTER lca: root down_path: root.s12
subfsm1: RAISED e_done@root.s12
subfsm1: STATE_ENTER root.s12
subfsm2: TRANSITION searching transitions for events: e_one
subfsm2: CHECKING depth: 0 for transitions from root
subfsm2: CHECKING depth: 1 for transitions from root.s21
subfsm2: TRANSITION no enabled paths found
stephook intercepted events: {}
subfsm1: RAISED
subfsm2: RAISED
active: root.and_state(active)
queue:

*when I quit the and_state, he gives an error:
------------------------------------------------
> step()
subfsm1: STATE_EXIT root.s12
EXITerror executing exit of root.and_state: ./rfsm.lua:764: attempt to concatenate field '_actchild' (a nil value)
stephook intercepted events: {"e_off"}
subfsm1: RAISED e_off
subfsm2: RAISED e_off
active: root.off(done)
queue: e_done [..] ...

nick

rFSM sequential-and example

On Tue, May 31, 2011 at 04:51:46PM +0200, Dominick Vanthienen wrote:
> Hi,
> I'm trying the rFSM sequential AND example,
> but I find the following things, which look strange to me:

For the record:, this is about an experimental rFSM extension (a
sequential AND state, fwiw) in the "dev" branch.

> *subFSM2 doesn't print his message "hi from s2 doo!"

I (think i) fixed it, please pull and try dev again.

...

> *when I quit the and_state, he gives an error:

Should also be gone, now.

Can you confirm?
Thanks for reporting!

Markus