I have a series of train stations, reading train IDs into unique signals (unique per station). This is then fed into a 1hz clock which compares the incoming signals with a list of 30 known signals, then outputs a single "clock" signal matching that train ID. So essentially:
-- Input to the clock would be signals [1: 123, 3:512, 7:99] (signal:value)
-- and a constant combinator with the signals [0-9, A-T] in sequence [1-30] (0=1, 1=2, .., T=30)
-- Output of the clock over the 30 ticks would be: [-, 123, -, 512, -, -, -, 99, -...] (signal C)
I then use these clock signals to get a list of item filters from a list of constant combinators containing the items and the train ID.
So this system does work, but I'm looking for neat solutions to speed it up.
My main two ideas currently are
1. we could adapt the incoming signals to a different format and increase the clock speed to match the highest signal. So the input in the example above would be [0:123, 1:512, 2:99] instead. The clock could then be 10hz and just check each signal up to [2]
the challenge: how do we generically turn any given signal into the "next one available"?
2. or we could adapt the signals the clock could check so instead of being a fixed list where 7 always =8, could be 7=3. Then we could speed the clock up and just have it check those signals.
the challenge: how do we get the clock to know what signal to check next?
Apologies if this is confusing, first forum post so not too sure on all the etiquette or what exact information I need yet. Been really trying to get my head around this for a while but couldn't think of a working solution so maybe we'll get some good ideas from here? Other posts have helped in the past.
