An STD can have local data-members, member-functions and can be instantiated multiple times, making them full abstract datatypes similar as "objects", (without inheritance).
Transitions normally occur after the flow of the current State has finished execution. However XPad, supports preemptive states as well, immediately allowing execution! These have nothing to do with "threads" or traditional scheduling. They just give you the response time you need when your theoretical one-shot state-flow takes longer than allowed! (And a faster target is not an option).
|
Every application has idle-times where it is waiting for something to happen! (A key to be pressed, an I/O pin to go low, a time-out to expire, etc.).
Instead of hoping that a scheduler efficiently manages your idle-time, you will be aware of it at design time and design it "in" explicitly!
The guideline is: At the end of a state you wait!!!
|
|