فهرست منبع

Debug print sets of input, output and internal events at controller construction.

Joeri Exelmans 5 سال پیش
والد
کامیت
f8e9432157
2فایلهای تغییر یافته به همراه25 افزوده شده و 1 حذف شده
  1. 21 0
      src/sccd/cd/cd.py
  2. 4 1
      src/sccd/controller/controller.py

+ 21 - 0
src/sccd/cd/cd.py

@@ -26,3 +26,24 @@ class SingleInstanceCD(AbstractCD):
 
   def get_default_class(self) -> Statechart:
     return self.statechart
+
+  def print(self):
+    for inport, events in self.statechart.inport_events.items():
+      print("Inport \"%s\" events:" % inport)
+      for event_id in events:
+        print("  %s" % self.globals.events.get_name(event_id))
+    print()
+    for outport in self.globals.outports.names:
+      print("Outport \"%s\" events:" % outport)
+      for event_name, port in self.statechart.event_outport.items():
+        if port == outport:
+          print("  %s" % event_name)
+    print()
+    print("Internal events:")
+    for event_id in self.statechart.internal_events.items():
+      print("  %s" % self.globals.events.get_name(event_id))
+    print()
+    print("All event triggers:")
+    for event_id in self.statechart.events.items():
+      print("  %s" % self.globals.events.get_name(event_id))
+    print()

+ 4 - 1
src/sccd/controller/controller.py

@@ -26,7 +26,10 @@ class Controller:
         self.initialized = False
 
         self.cd.globals.assert_ready()
-        print_debug("Model delta is %s" % str(self.cd.globals.delta))
+
+        if DEBUG:
+            self.cd.print()
+            print("Model delta is %s" % str(self.cd.globals.delta))
 
         # First call to 'run_until' method initializes
         self.run_until = self._run_until_w_initialize