Found a bug in logic.core
[Mograsim.git] / net.mograsim.logic.model / src / net / mograsim / logic / model / modeladapter / componentadapters / TriStateBufferAdapter.java
index bb26b03..ba8c484 100644 (file)
@@ -2,6 +2,7 @@ package net.mograsim.logic.model.modeladapter.componentadapters;
 
 import java.util.Map;
 
+import net.mograsim.logic.core.LogicObserver;
 import net.mograsim.logic.core.components.TriStateBuffer;
 import net.mograsim.logic.core.timeline.Timeline;
 import net.mograsim.logic.core.wires.Wire;
@@ -13,7 +14,6 @@ import net.mograsim.logic.model.modeladapter.LogicModelParameters;
 
 public class TriStateBufferAdapter implements ComponentAdapter<GUITriStateBuffer>
 {
-
        @Override
        public Class<GUITriStateBuffer> getSupportedClass()
        {
@@ -29,6 +29,17 @@ public class TriStateBufferAdapter implements ComponentAdapter<GUITriStateBuffer
                ReadEnd enable = logicWiresPerPin.get(guiTsb.getPin("EN")).createReadOnlyEnd();
                ReadWriteEnd out = logicWiresPerPin.get(guiTsb.getPin("OUT")).createReadWriteEnd();
                new TriStateBuffer(timeline, params.gateProcessTime, in, out, enable);
+               // TODO debug code below - remove
+               String msgHeader = '<' + guiTsb.name + ">: ";
+               LogicObserver obs = c ->
+               {
+                       System.out.println(msgHeader + "wire states:");
+                       System.out.println(msgHeader + "  in    : " + in.getValues());
+                       System.out.println(msgHeader + "  enable: " + enable.getValues());
+                       System.out.println(msgHeader + "  out   : " + out.getValues());
+               };
+               in.registerObserver(obs);
+               enable.registerObserver(obs);
+               out.registerObserver(obs);
        }
-
 }