Signal Propagator with Directionality/Origin Indication!

This board is to show, discuss and archive useful combinator- and logic-creations.
Smart triggering, counters and sensors, useful circuitry, switching as an art :), computers.
Please provide if possible always a blueprint of your creation.
Post Reply
Eketek
Long Handed Inserter
Long Handed Inserter
Posts: 56
Joined: Mon Oct 19, 2015 9:04 pm
Contact:

Signal Propagator with Directionality/Origin Indication!

Post by Eketek »

I have designed a simple & easily constructable hierarchical circuit network which propagates all input signals and indicates the directionality of the components of the signal on the network (by providing two separated signals at each link between sub-networks indicating what the is coming from either side of the link). This allows signals to be broken down and traced back toward origins [by combinator devices], without need for a special route-specific setup, extraneous signals to indicate origin, or any special protocol for transmitting or receiving. The signals on the network behave pretty much like they do on more conventional builds. The only major difference is a bit of propagation delay between different parts of the network (and the need to avoid causing feedback loops).

An individual sub-network (node) is just a single red or green wire connected to whatever is supposed to be part of that node.

The link is 5 combinators wired up like so:
dirsig_netlink.png
dirsig_netlink.png (314.83 KiB) Viewed 1406 times
The '+' combinators just relay the entire input signal. (in="each", + 0, out="each")
The '*' combinators negate and output the entire input signal. (in="each", * -1, out="each")

On the blueprinted version, the big power poles are the inputs (to be wired directly to the sub-networks to link). The separated signals are output onto the wires connected to the medium power pole:
left signal -> red wire
right signal -> green wire

Blueprint String (for a network transmission on the red wire):
H4sIAAAAAAAA/92WwW6jMBCGXyXiuGtXkJY2VeUnqVbIgWkykrGRGaqNUN597VC2cQIUtOoecgz2zP/7m8nYhVkpk0u1ykQLmpAQatG2WpYgorqUSnElyypi
landotGi/S0SdhA8OR7Zx74SCmxKDgpyspjzyigII+IuguVGa7fJfXUqr1ES/RKthcIpnsQPGRbimeVo8wbJ/1g7lZ0F0MGWx3ALO1t6uog+ftp04jVJTTw3
5Ra1JGNDlzx1NjuXZI3KtrCX72isaN9QEVhPpsadlkq0dKhcSiQoI9anryqwvFKSIPJJGk0OFeoCHDLvY87pHwLLW9xNYeX3d95yfJfOS34foHocRyUt0r4E
cqqjsJIz5Qtcn+GZWyzww9Ub2pqykOA7Wmqk6iF2ixxkvj8x7CrmxYyDK0/i0Y+ImYaqZkmumfgDJkmAa3OJi71Ga5/juj83YZalZNf/kWx8Dvbn94FNL5H0
9K7/AKPQk8FhsLhzb6Jxv2i6cCg+z4X/HbjjHneBtjuFeLilzl5wGQ3gTGdWbT1RtXR8aCXxoOrTPw2oW5hPM5iM4R4u5MTM/+IWX3iJX91DXgnzU8jE82S4
rse/7xM2EXt9gD7O679YoMbqVfYCuvgDHQ/gfVEKAAA=
I haven't yet tested it fully. It works with both pulsed and held signals, does not limit the use of positive or negative numbers, and does not have any reserved control signals. The network must have a tree structure (exactly one path between any two nodes).

Loops in the network (cyclic paths) and incorrect or incomplete wiring produces junk signals. But the network seems fairly robust - once the defect is corrected, junk signals vanish. With suitable logic, parts of the network can be disconnected and reconnected (possibly with altered topology, so long as the new topology is still a tree).

Example Network:

This network has 7 nodes (sub-networks), labelled individually in blue (along with the connection). The yellow labels indicate what the network looks like at each link (what sub-networks will contribute to either side of the link's directionality indicator). The constant combinators on the test network provide some test signals
dirsig_testnet.png
dirsig_testnet.png (1.78 MiB) Viewed 1406 times

The plan is to use it for logistics - requests get added to the network globally, to be used by providers to determine how much of what items to ship. Items will then travel to junctions and get routed toward whatever is originating the request signal (perhaps splitting items proportionally if there are requests for an item on both sides of a link).

If I do it right, I should be able to build one ridiculously scalable distribution system (limited only by throughput at a central depot, though perhaps relieveable through auxiliary/off-network logistics).


EDIT: Routing with directional signals was much simpler than I expected - I went ahead and set up a pretty simple resource distributor: Directional / distinguishable signals for both supply and demand, some bookkeeping logic to track items in motion, and just two combinators and a filter inserter for each one-way transfer (requester, provider, or junction). Due to inserter stack size bonus and propagation delays, resources where over-supplied slightly (but for additional requests, it did prefer to route any over-supplied items in circulation over having a provider add more items to the network). The result can also seem a bit quirky if you think a simple item router is more complex than it really is (the network doesn't know what a buffer is or that a buffer shouldn't fill itself back up with items released from the buffer to satisfy requests elsewhere).

Post Reply

Return to “Combinator Creations”