\r
import java.util.List;\r
\r
-import era.mi.logic.Simulation;\r
+import era.mi.logic.timeline.Timeline;\r
import era.mi.logic.timeline.TimelineEvent;\r
import era.mi.logic.timeline.TimelineEventHandler;\r
import era.mi.logic.types.Bit;\r
import era.mi.logic.wires.Wire;\r
-import era.mi.logic.wires.Wire.WireEnd;\r
+import era.mi.logic.wires.Wire.ReadEnd;\r
+import era.mi.logic.wires.Wire.ReadWriteEnd;\r
\r
-public class Clock implements TimelineEventHandler, Component\r
+public class Clock extends Component implements TimelineEventHandler\r
{\r
private boolean toggle = false;\r
- private WireEnd out;\r
+ private ReadWriteEnd out;\r
private int delta;\r
\r
/**\r
* @param out {@link Wire} the clock's impulses are fed into\r
* @param delta ticks between rising and falling edge\r
*/\r
- public Clock(WireEnd out, int delta)\r
+ public Clock(Timeline timeline, ReadWriteEnd out, int delta)\r
{\r
+ super(timeline);\r
this.delta = delta;\r
this.out = out;\r
addToTimeline();\r
toggle = !toggle;\r
}\r
\r
- public WireEnd getOut()\r
+ public ReadWriteEnd getOut()\r
{\r
return out;\r
}\r
\r
private void addToTimeline()\r
{\r
- Simulation.TIMELINE.addEvent(this, delta);\r
+ timeline.addEvent(this, delta);\r
}\r
\r
@Override\r
- public List<WireEnd> getAllInputs()\r
+ public List<ReadEnd> getAllInputs()\r
{\r
return List.of();\r
}\r
\r
@Override\r
- public List<WireEnd> getAllOutputs()\r
+ public List<ReadWriteEnd> getAllOutputs()\r
{\r
return List.of(out);\r
}\r