You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The run {} program of an RTT State Machine is in v2.9 executed in the cycle after entry {} was executed. Previously, run {} was executed in the same cycle as entry {}, in case entry {} did not yield.
Put in another way, each cycle of an RTT State Machine now starts with executing the run {} program instead of first checking the transitions.
This has a major impact on event transitions. Since event transitions are ignored during entry {}, it is impossible to respond to event operations which would take one cycle after run {} to be processed (you can't put them in entry{} and they will be received too late when put in run{}). In addition, this also means that in this setting, a default transition would always be taken after run {} if the other transitions are all event transitions.
The issue was introduced because there was no clear documentation/formalism on when a StateMachine should go to sleep.
In order to restore the possibility, one could enable events already during entry {}, or allow users to specify in which cycle to execute run {}. This needs more thought.
The text was updated successfully, but these errors were encountered:
The run {} program of an RTT State Machine is in v2.9 executed in the cycle after entry {} was executed. Previously, run {} was executed in the same cycle as entry {}, in case entry {} did not yield.
Put in another way, each cycle of an RTT State Machine now starts with executing the run {} program instead of first checking the transitions.
This has a major impact on event transitions. Since event transitions are ignored during entry {}, it is impossible to respond to event operations which would take one cycle after run {} to be processed (you can't put them in entry{} and they will be received too late when put in run{}). In addition, this also means that in this setting, a default transition would always be taken after run {} if the other transitions are all event transitions.
The issue was introduced because there was no clear documentation/formalism on when a StateMachine should go to sleep.
In order to restore the possibility, one could enable events already during entry {}, or allow users to specify in which cycle to execute run {}. This needs more thought.
The text was updated successfully, but these errors were encountered: