X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=era.mi%2Fsrc%2Fera%2Fmi%2Flogic%2Fcomponents%2FManualSwitch.java;h=9ae08ebaacf108bc1b784dc657306b0ad20f8120;hb=6c67a9ff8361cd9fc082f40e2676f2c8b5911fe4;hp=c56d8026c8438a47ad0a18c063dc9047f917963c;hpb=4712d3e6ee08461b7754dbfba1c9e82372bb474d;p=Mograsim.git diff --git a/era.mi/src/era/mi/logic/components/ManualSwitch.java b/era.mi/src/era/mi/logic/components/ManualSwitch.java index c56d8026..9ae08eba 100644 --- a/era.mi/src/era/mi/logic/components/ManualSwitch.java +++ b/era.mi/src/era/mi/logic/components/ManualSwitch.java @@ -2,9 +2,10 @@ package era.mi.logic.components; import java.util.List; -import era.mi.logic.Bit; -import era.mi.logic.wires.WireArray; -import era.mi.logic.wires.WireArray.WireArrayEnd; +import era.mi.logic.timeline.Timeline; +import era.mi.logic.types.Bit; +import era.mi.logic.wires.Wire.ReadEnd; +import era.mi.logic.wires.Wire.ReadWriteEnd; /** * This class models a simple on/off (ONE/ZERO) switch for user interaction. @@ -12,18 +13,17 @@ import era.mi.logic.wires.WireArray.WireArrayEnd; * @author Christian Femers * */ -public class ManualSwitch implements Component +public class ManualSwitch extends Component { - private WireArray output; - private WireArrayEnd outputI; + private ReadWriteEnd output; private boolean isOn; - public ManualSwitch(WireArray output) + public ManualSwitch(Timeline timeline, ReadWriteEnd output) { - if (output.length != 1) + super(timeline); + if (output.length() != 1) throw new IllegalArgumentException("Switch output can be only a single wire"); this.output = output; - this.outputI = output.createInput(); } public void switchOn() @@ -46,7 +46,7 @@ public class ManualSwitch implements Component if (this.isOn == isOn) return; this.isOn = isOn; - outputI.feedSignals(getValue()); + output.feedSignals(getValue()); } public boolean isOn() @@ -60,13 +60,13 @@ public class ManualSwitch implements Component } @Override - public List getAllInputs() + public List getAllInputs() { return List.of(); } @Override - public List getAllOutputs() + public List getAllOutputs() { return List.of(output); }