8.1.3 postx_() in FreeRTOS port enters critical section twice
8.1.3 postx_() in FreeRTOS port enters critical section twice
Hi Mike, I change hist_lidClosed = &Washer_ready... I don't know if this can be a problem,... It looks like a problem to me because this is very confusing and does not really model the reality. Your job is not to "cheat" (to make it "work" in this particular stage of your modeling), but to capture the true essence of the behavior. Also, I'm not sure if I understand your use of state hierarchy. For example, the OPEN transition should be directly from the "lidClosed" to "lidOpen". Your current model...
Hi Mike, Thanks a lot for your interest and attention to detail. Indeed, the details of the "history" example have changed over the years to demonstrate both types of history (shallow and deep, see attached state diagram). And you are right; these changes made the ToasterOven behave in a way that a real appliance should not behave (the oven should never turn on after pressing OFF). You have several options to fix that: Your choice to make the doorOpen:OFF transition go straight to the "off" state...
Hi Mike, Thanks a lot for your interest and attention to detail. Indeed, the details of the "history" example have changed over the years to demonstrate both types of history (shallow and deep, see attached state machine, see attached state diagram). And you are right; these changes made the ToasterOven behave in a way that a real appliance should not behave (the oven should never turn on after pressing OFF). You have several options to fix that: Your choice to make the doorOpen:OFF transition go...
Hi Mark, As a commercial licensee, please contact Quantum Leaps support (support@state-machine.com) for the QSPY source code. --MMS
Hi Modo, Your 10-step plan sounds a bit complicated. It seems that you prefer the very traditional code partitioning, so just do that. Specifically, instead of manually "removing the delimit portions that QM controls", just generate the traditional header files (.h/.hpp) with your class declarations ( $declare {} directives). Then simply include those QM-generated headers in your external source files (.cpp). QM doesn't need to "know" about those source files at all, so you can manage them completely...
Hi Modo, Your 10-step plan sounds a bit complicated. It seems that you prefer the very traditional code partitioning, so just do that. Specifically, instead of manually "removing the delimit portions that QM controls", just generate the traditional header files (.h/.hpp) with your class declarations ( $declare {} directives). Then simply include those QM-generated headers in your external source files (.cpp). QM doesn't need to "know" about those source files at all, so you can manage them completely...