Page 1 of 1

Delay-line combinators

Posted: Tue Jul 16, 2024 1:02 am
by scruffyvoltherder
TL;DR
An adjustable delay line combinator, to allow for signal propogation timing to be adjusted.

What ?
Just an adjustable delay line. equivalent to a line of Each+0=Each arithmetic combinators.
Why ?
It would be a compact way of solving circuit problems caused by timing, without having to make a large string of combinators to create propogation delay.

Re: Delay-line combinators

Posted: Sat Jul 20, 2024 6:09 pm
by LackadaisyFrog
Compact signal delay has a solution here.
Lupoviridae wrote: Fri Oct 16, 2015 9:03 pm Make 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 combinators :) If 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.

Re: Delay-line combinators

Posted: Sat Jul 20, 2024 10:52 pm
by scruffyvoltherder
LackadaisyFrog wrote: Sat Jul 20, 2024 6:09 pm Compact signal delay has a solution here.
I've used timers like that before, but that doesn't work for certain applications. Sometimes you need a proper delay line.

Re: Delay-line combinators

Posted: Sun Jul 21, 2024 3:43 am
by LackadaisyFrog
scruffyvoltherder wrote: Sat Jul 20, 2024 10:52 pm
LackadaisyFrog wrote: Sat Jul 20, 2024 6:09 pm Compact signal delay has a solution here.
I've used timers like that before, but that doesn't work for certain applications. Sometimes you need a proper delay line.
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?

Re: Delay-line combinators

Posted: Mon Jul 22, 2024 3:05 am
by scruffyvoltherder
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?
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.

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.