do clause in statemachine

20 views
Skip to first unread message

alex

unread,
Feb 23, 2018, 2:34:53 AM2/23/18
to mbeddr-discuss
Hi,
the statemachine has a do clause in the state which should be 'executed' as long as the sm is in this sate.
How is this implemented? When whill it be executed relative to the rest of the model?

Example:
I have a main routine which initializes 2 statemachines, both with a do clause in a state which is entered on event 'enterDoState'
myStateMachineInstance1.init;
myStateMachineInstance2
.init;
myStateMachineInstance1
.trigger(enterDoState);
myStateMachineInstance2
.trigger(enterDoState);

//do other things here




 
the two do clauses should be continuously be executed in the background - not?
I can see this behaviour in some cases. However, if I use
myStateMachineInstance1.init;
myStateMachineInstance1.trigger(enterDoState);
sleep(10000) //sleeping 10s

I see exactly one execution of  stateMachine1's do clause.
So the question arises: what does 'executed while in state' actually mean?

As far as I can see, mbeddr generated code is seuqential - not?

Alex
Reply all
Reply to author
Forward
0 new messages