X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Ftests%2FConnector.java;h=39645bfc3af569b92ea2ceea5db06a2517bab56f;hb=953984f215af2b455477d42db469b119c016439b;hp=d59ee8c0f59a2001643e87f87c20a7f9642956b3;hpb=d31f9734d6aa233682ef80d7e9322dd500123bfd;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/tests/Connector.java b/era.mi/src/era/mi/logic/tests/Connector.java index d59ee8c0..39645bfc 100644 --- a/era.mi/src/era/mi/logic/tests/Connector.java +++ b/era.mi/src/era/mi/logic/tests/Connector.java @@ -1,38 +1,39 @@ package era.mi.logic.tests; +import era.mi.logic.Bit; import era.mi.logic.Simulation; -import era.mi.logic.wires.WireArray; -import era.mi.logic.wires.WireArray.WireArrayInput; -import era.mi.logic.wires.WireArrayObserver; +import era.mi.logic.wires.Wire; +import era.mi.logic.wires.Wire.WireEnd; +import era.mi.logic.wires.WireObserver; -public class Connector implements WireArrayObserver +public class Connector implements WireObserver { - private final WireArray a; - private final WireArray b; - private final WireArrayInput aI; - private final WireArrayInput bI; + private final Wire a; +// private final WireArray b; + private final WireEnd aI; + private final WireEnd bI; - public Connector(WireArray a, WireArray b) + public Connector(Wire a, Wire b) { if (a.length != b.length) - throw new IllegalArgumentException("WireArray width does not match: " + a.length + ", " + b.length); + throw new IllegalArgumentException(String.format("WireArray width does not match: %d, %d", a.length, b.length)); this.a = a; - this.b = b; +// this.b = b; a.addObserver(this); b.addObserver(this); - aI = a.createInput(); - bI = b.createInput(); + aI = a.createEnd(); + bI = b.createEnd(); } @Override - public void update(WireArray initiator) + public void update(Wire initiator, Bit[] oldValues) { Simulation.TIMELINE.addEvent((e) -> { if (initiator == a) - bI.feedSignals(a.getValues()); + bI.feedSignals(aI.wireValuesExcludingMe()); else - aI.feedSignals(b.getValues()); + aI.feedSignals(bI.wireValuesExcludingMe()); }, 1); } }