Delay-line combinators
Moderator: ickputzdirwech
-
- Burner Inserter
- Posts: 8
- Joined: Fri Jun 14, 2024 12:33 am
- Contact:
-
- Inserter
- Posts: 30
- Joined: Thu Jul 18, 2024 9:49 pm
- Contact:
Re: Delay-line combinators
Compact signal delay has a solution here.
Lupoviridae wrote: ↑Fri Oct 16, 2015 9:03 pmMake a single clock that counts up to 60. This is done by connecting a constant combinator outputting a signal of one (I will call it "A" == 1) to the input of a decider. Then attach the output of the decider back to the input and set it to [When "A" < 60, output "A" (input count)]. Attach the output of this decider to the input of 2 new deciders. Set one to [When "A" == 1, output your read signal], and the other to [When "A" == 31, output your write signal].
Problem solved with 4 combinatorsIf you don't want it to be constantly repeating, you can make a unidirectional clock that only starts counting up when some other signal is sent to it. This is done by taking your clock and instead setting it to [When "B" == 0, output everything(input count)]. Now the clock will count up indefinitely until it receives a signal of "B" == 1, when it resets to 0 and starts over.
Let me know if you need clarification on anything, I would be happy to build it in-game for you.
-
- Burner Inserter
- Posts: 8
- Joined: Fri Jun 14, 2024 12:33 am
- Contact:
Re: Delay-line combinators
I've used timers like that before, but that doesn't work for certain applications. Sometimes you need a proper delay line.
-
- Inserter
- Posts: 30
- Joined: Thu Jul 18, 2024 9:49 pm
- Contact:
Re: Delay-line combinators
Perhaps I am misunderstanding your suggestion. I thought you were asking for a compact method to introduce a signal delay, and the link provides two methods. If timed delay using a clock isn't a solution and the situation requires a brute force approach to propagation delay, what would the "delay line combinator" be doing if not using a clock to count down?scruffyvoltherder wrote: ↑Sat Jul 20, 2024 10:52 pmI've used timers like that before, but that doesn't work for certain applications. Sometimes you need a proper delay line.
-
- Burner Inserter
- Posts: 8
- Joined: Fri Jun 14, 2024 12:33 am
- Contact:
Re: Delay-line combinators
It would be just like a bunch of "Each+0=Each" combinators in a line. Basically just a brute force propagation delay, but in the form of a single combinator. Internally, it would probably use a circular buffer. Each tick, it takes the signals from the input and put it in the buffer, and outputs the signals in the buffer from x ticks ago. just like how a real-world delay line works.If timed delay using a clock isn't a solution and the situation requires a brute force approach to propagation delay, what would the "delay line combinator" be doing if not using a clock to count down?
Timers are great if you need a delay on a trigger signal, but they don't really work for a constantly changing signal that you're doing math on.