The public bus operates on channel -9999999, and is received by a wide range of Nanite Systems products, including controllers running Companion and ATOS.
Commands sent over the public and private channels
The primary use of the public bus is to send system commands, and under Companion, these can also be sent under the private bus channel, which is the negative integer corresponding to the unit's serial number. For example, if the unit's serial number is 100-00-0001 then its private bus channel is -100000001.
System commands sent using either channel are interpreted as being from the agent that owns the sending object. To send a command on behalf of another user, use the internal active message over the light bus.
The following commands do not function over this method:
@boot and @on | Only available directly to the unit while it is powered down; triggers start_task(SEC_POWER_SWITCH, "on", id) |
start, stop, wait, disable, enable, set, randset, unset, ifeq, ifexists, evar, report, broadcast | These are Arabesque language statements only |
commands starting with ! and . | Cortex commands must be prefixed with relay |
say | Arabesque language statement equivalent to relay command; attempting to use this over public or private bus will activate the Chorus API instead |
safeword | Only possible via direct command-line input |
Public bus protocols
The public bus also carries a number of messages that are exclusive to it. These are specified below.
The navigate command has several sub-messages not included in the command reference. They are intended to be sent by navigation nodes rather than users. These are arrive, seek <next-node-UUID>, warp <next-node-UUID>, and wait <seconds>.
If <amount> is negative, then the unit will respond with a positive charge message of the same format.
<serial> <OS> <owner> <controller-model> <authority>
Under Companion, the <owner> field will usually be populated with the unit's first user that has rank 2.
If the unit's authority tag contains spaces, then <authority> will replace these characters with underscores.
<OS> is "Companion/<version>" under Companion, or "ATOS/CX_<version>" under ATOS.