sccd.xml 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?xml version="1.0" ?>
  2. <diagram author="Simon Van Mierlo" name="Timer (Threaded Version)">
  3. <top>
  4. import time
  5. </top>
  6. <inport name="input" />
  7. <outport name="output" />
  8. <class name="MainApp" default="true">
  9. <constructor>
  10. <body>
  11. self.starting_time = time.time()
  12. </body>
  13. </constructor>
  14. <scxml initial="running">
  15. <state id="running">
  16. <transition target="." after="0.05">
  17. <raise event="time_update" port="output">
  18. <parameter expr="self.getSimulatedTime()" />
  19. <parameter expr="time.time() - self.starting_time" />
  20. </raise>
  21. </transition>
  22. <transition target="../interrupted" event="interrupt" port="input">
  23. <raise event="time_update" port="output">
  24. <parameter expr="self.getSimulatedTime()" />
  25. <parameter expr="time.time() - self.starting_time" />
  26. </raise>
  27. </transition>
  28. </state>
  29. <state id="interrupted">
  30. <transition target="." event="interrupt" port="input">
  31. <raise event="time_update" port="output">
  32. <parameter expr="self.getSimulatedTime()" />
  33. <parameter expr="time.time() - self.starting_time" />
  34. </raise>
  35. </transition>
  36. <transition target="../running" event="continue" port="input">
  37. <raise event="time_update" port="output">
  38. <parameter expr="self.getSimulatedTime()" />
  39. <parameter expr="time.time() - self.starting_time" />
  40. </raise>
  41. </transition>
  42. </state>
  43. </scxml>
  44. </class>
  45. </diagram>