X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FBitDisplay.java;h=d8691f3bfcae9b7a096e386a58eb7db53483f399;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=2cabbb8a5f3bd548469330a54fef84154fc2ca51;hpb=74aebd92f41d03f4a44c9a455ef8c05465136412;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 2cabbb8a..d8691f3b 100644 --- a/era.mi/src/era/mi/logic/components/BitDisplay.java +++ b/era.mi/src/era/mi/logic/components/BitDisplay.java @@ -1,44 +1,51 @@ package era.mi.logic.components; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.Collections; 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; +public class BitDisplay extends BasicComponent +{ + private final ReadEnd in; + private BitVector displayedValue; - public BitDisplay(WireArray in) { - super(1); + public BitDisplay(Timeline timeline, ReadEnd in) + { + super(timeline, 1); this.in = in; in.addObserver(this); compute(); } @Override - protected void compute() { + protected void compute() + { displayedValue = in.getValues(); } - public Bit[] getDisplayedValue() { + public BitVector getDisplayedValue() + { return displayedValue; } - public boolean isDisplaying(Bit... values) { - return Arrays.equals(displayedValue, values); + public boolean isDisplaying(Bit... values) + { + return displayedValue.equals(BitVector.of(values)); } @Override - public List getAllInputs() { - return Collections.unmodifiableList(Arrays.asList(in)); + public List getAllInputs() + { + return List.of(in); } @Override - public List getAllOutputs() { - return Collections.unmodifiableList(new ArrayList()); + public List getAllOutputs() + { + return List.of(); } }