X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FBitDisplay.java;h=d8691f3bfcae9b7a096e386a58eb7db53483f399;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=940f69c05916a73f51dca817459d7d74e15c67ba;hpb=d31f9734d6aa233682ef80d7e9322dd500123bfd;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/BitDisplay.java b/era.mi/src/era/mi/logic/components/BitDisplay.java index 940f69c0..d8691f3b 100644 --- a/era.mi/src/era/mi/logic/components/BitDisplay.java +++ b/era.mi/src/era/mi/logic/components/BitDisplay.java @@ -1,20 +1,24 @@ package era.mi.logic.components; -import java.util.Arrays; +import java.util.List; -import era.mi.logic.Bit; -import era.mi.logic.wires.WireArray; +import era.mi.logic.timeline.Timeline; +import era.mi.logic.types.Bit; +import era.mi.logic.types.BitVector; +import era.mi.logic.wires.Wire.ReadEnd; +import era.mi.logic.wires.Wire.ReadWriteEnd; public class BitDisplay extends BasicComponent { - private final WireArray in; - private Bit[] displayedValue; + private final ReadEnd in; + private BitVector displayedValue; - public BitDisplay(WireArray in) + public BitDisplay(Timeline timeline, ReadEnd in) { - super(1); + super(timeline, 1); this.in = in; in.addObserver(this); + compute(); } @Override @@ -23,13 +27,25 @@ public class BitDisplay extends BasicComponent displayedValue = in.getValues(); } - public Bit[] getDisplayedValue() + public BitVector getDisplayedValue() { return displayedValue; } public boolean isDisplaying(Bit... values) { - return Arrays.equals(displayedValue, values); + return displayedValue.equals(BitVector.of(values)); + } + + @Override + public List getAllInputs() + { + return List.of(in); + } + + @Override + public List getAllOutputs() + { + return List.of(); } }