Control Authority
Learn about control authority and handoff in Synnax.
When operating multi-device hardware systems that also require manual control through operators, understanding which entities have control over actuators in a system is essential. Synnax’s control authority and handoff mechanisms allows for smooth multi-operator and multi-automation interaction.
Control Authority
Every entity that writes data to Synnax has an assigned control authority for every channel that it is writing to. The control authority is an 8-bit unsigned integer, which means minimum authority is 0 and maximum authority is 255.
When a control sequence is started, it assigns a control authority to each channel that it is writing to. Suppose an existing control sequence is writing to a channel. If the new sequence has a higher authority than the existing sequence, the new sequence will take control of the channel. Otherwise, the new sequence will not be able to write to the channel until the existing sequence releases control.
In the case of equal authority, the first sequence to take control will maintain control of the channel.
Mixed Authorities
A sequence may have different control authorities for different channels. For example, an emergency stage in Arc can escalate authority on critical channels while leaving others at normal priority:
stage emergency {
set_authority{value=255, channel=press_vlv_cmd},
set_authority{value=100, channel=vent_vlv_cmd},
0 -> press_vlv_cmd,
1 -> vent_vlv_cmd
} In this case, press_vlv_cmd has absolute authority of 255 and vent_vlv_cmd has an
authority of 100.
Setting Authority in Arc
Arc provides two mechanisms for controlling authority:
Static declarations set authority at program startup using the authority keyword:
authority 200
sequence main {
// all channels written at authority 200
} Dynamic changes adjust authority at runtime using set_authority inside stages:
stage escalate {
set_authority{value=255},
1 -> press_vlv_cmd
} For full syntax details, see the
authority declaration
and set_authority built-in
reference pages. For practical patterns including emergency override, handoff between
programs, and releasing control, see the
Control Authority how-to guide.
Relationship to Manual Control
Manual control of channels through components such as Schematics follow the same control authority rules as sequences. Schematic authority is configurable via the schematic toolbar and defaults to
- When an operator stops controlling a channel from a schematic, any other writer with higher authority that was already writing to the same channel will resume effective control.