Signals

From worfc
Jump to: navigation, search
DRAFT

This page/section is under construction and is likely missing large pieces of information,
contains confusing/ambiguous descriptions, etc.
We believe it is correct as far as it goes, but even that isn't assured.
We're working to clean it up.

General

In addition to the hot / cold state of wires, robot outputs, sensors and registers also push Signals. For example, the "item selected" pin on your inventory drawer, when it is hot, also pushes an item signal and a count signal. These can be connected to an item sensor and a numeric comparator to determine if they match and, if so, those sensors' outputs go hot. So, for example, you could create a circuit that says "if the selected item is wood, and I have > 180 of them, then craft a bunch of charcoal".

Note, too, that there are text-registers and text-comparators. So you can push the output of a text register (say, "PICK") up the antenna, and another robot can look for input from his antenna and compare against PICK, MAKE, PLNT, and take appropriate action, based on which msg he receives.

"Signals" travel with the "hot"-ness of a wire. If the wire is hot, the input-end has received signals from the output end. (Outputs push signals, just as they push their hot/cold state, toward inputs.)

Only outputs that are hot push signals. There are no signals on a cold wire.

The probe soldering tool allows you to poke around to see what signals are on the line. This use useful help with design & debugging your robots.


Signal Types

Signal Types
Signal Description Comments

TEXT

A textual message.

Ex., output of a Text Register.

COUNT

A number.

Ex., output of a Numeric Register, output of the robot drawers' Item Selected pins.

ITEM_ID

A descriptor of an item.

Ex., output of the robot's crafting Item Selected pin, output of the Select-O-Matic.
Note: an ITEM_ID signal is used to signify any of a given type of item.

ITEM

A specific item.

Ex., output of the robot's bumpers, output of the Chest-O-Matic.

NONE

An "empty" signal.

Ex. the default signal sent by a robot's antenna that carries no additional information other than "hot".


Examples of Signal Flow

  • When a robot is wired with "hot" to the Grabber input, the grabber picks up the next item the robot bumps, and places that item's ITEM signal on its output.
  • When an ITEM signal arrives at the Inventory Drawer's input, the specified item is transferred into inventory.
    • NOTE: Due to gate delay, signals can "go stale". That is, it is possible that the specified item is no longer available at its source. In this case, the transfer will not take place.
  • Hence, a common connection is to connect Grabber output to Inventory input. When the ITEM signal from the Grabber's output arrives at the Inventory input, the held item is moved into inventory.


  • When a Select-O-Matic input is hot, that section's ITEM_ID signal goes to the output.
  • When the robot's Inventory Drawer's Select [Next] Item pin goes hot...
    • If no ITEM_ID signal is present, the robot selects the next item in rotation, selecting "nothing" (null) at the end of the cycle.
    • If there is an ITEM_ID signal, and the specified item is in inventory, that item is selected.
    • If there is an ITEM_ID signal, but the specified item is not in inventory, nothing (null) is selected.
  • Hence, one could connect Select-O-Matic's output to Tool drawer item-select and the use the SoM's output to select from among various tools.


Specific Signals

Signals Output By Various Items
Item Signals

Robot Bumpers

ITEM signal for each item felt.

Robot Grabber

ITEM signal for each held item.

Robot drawer
Item Selected pins

ITEM signal for selected item
COUNT signal for how many are in inventory.

Robot Inventory Drawer
Slots Available pin

COUNT representing available slots in inventory.

Robot Antenna

All signals received over the air, including those sent by this antenna.
Antenna sends all signals passed up the antenna input pin.

Robot Crafting
Item Selected pin

ITEM_ID of currently selected item-to-craft.

AND Gate

Outputs any signal that exists on both of its inputs (the "and" of the signal inputs).

OR Gates

Outputs the union-set of the signals on its inputs ("or" of the signal inputs).

XOR Gates

Outputs the union-set of the signals on the inputs, minus those that are on both (the "xor" of the signal inputs).

LATCHes and NODEs

Outputs the signals on their inputs (LATCH: only those on the "live" side).

NOT Gates

NOT gates do not pass signals. Either (a) The output is cold and no signals are passed or the input is cold and there are no signals present.

Numeric Register

COUNT representing the numeric value.
Also sent as TEXT.
Note: Numeric Comparators are also Numeric Registers.

Text Register

TEXT representing the stored value.
Note: Text Comparators are also Text Registers.

Select-O-Matic

ITEM_ID of the currently selected item.

Chest-O-Matic
Selected Item pin

ITEM signal of the currently selected item, COUNT representing how many of that item the chest holds.

Chest-O-Matic
Slots pin

COUNT representing the chest's available inventory slots.