Intelligent Roadway Information System

Gate Arms

Select View ➔ Gate Arm Arrays menu item

Gate arms are traffic control devices which restrict access to a section of roadway. They are commonly used for on-ramps or reversible lanes.

API Resources 🕵️
  • iris/gate_arm_interlock (lookup table)
  • iris/gate_arm_state (lookup table)
  • iris/api/gate_arm (primary)
  • iris/api/gate_arm/{name}
Access Primary Secondary
👁️ View name, location, arm_state ga_array, idx, fault
💡 Manage notes
🔧 Configure controller pin


Gate arms are grouped into arrays of 1-8 arms. Opening or closing an array controls all associated arms.

API Resources 🕵️
  • iris/api/gate_arm_array (primary)
  • iris/api/gate_arm_array/{name}
Access Primary Secondary
👁️ View name, location, interlock geo_loc
👉 Operate arm_state
💡 Manage notes
🔧 Configure opposing, prereq, camera, approach, action_plan

Verification Cameras

One or two cameras can be associated with a gate arm array. This allows operators to check traffic conditions and verify the status before opening or closing the gates. The second camera can be used to monitor approaching traffic. The Swap button allows the camera images to be swapped between larger and smaller views.

Warning Action Plan

An action plan can be associated with a gate arm array. The plan's phase will be continuously updated according to the array state (see below).

Any number of DMS actions can be assigned to these phases to warn motorists of the gate arm state. The messages for these are displayed to the right of the camera view, for up to two of these signs.


Gate arms can be in one of 7 states:

State Description Plan Phase
OPENING opening in progress ga_closed
OPEN gate open ga_open
WARN_CLOSE warn before closing ga_closed
CLOSING closing in progress ga_closed
CLOSED gate closed ga_closed
FAULT fault in gate operation ga_closed
UNKNOWN no commnuication ga_closed

Depending on the current array state, one of the buttons will be enabled. When an operator presses a button, its corresponding state will be requested:

None of these three states can be requested automatically by the system -- an operator must manually request them.

Warn Close is only enabled if a warning action plan is configured. Operators should request this state to warn motorists when the gates will soon be closing. After checking the verification cameras, the CLOSING state can be requested.

If communication is lost to a gate arm for longer than the value of gate_arm_alert_timeout_secs system attribute, its state will be set to UNKNOWN.


Care must be taken to prevent traffic conflicts when operating gate arms. Two types of constraints are available for this purpose:

When a gate arm is in any state other than CLOSED, it is considered possibly open.

Opposing Traffic creates an open interlock constraint -- if any gate is possibly open in a different direction on the same roadway.

Prerequisites prevent a sequence of gates from opening in the wrong order. If a dependent array's prerequisite is not OPEN, it will have an open interlock. Once they are both open, the prerequisite will have a close interlock until the dependent is closed.

If a constraint is broken, IRIS will not automatically try to resolve it. Instead, an alert email will be sent to the address in the email_recipient_gate_arm system attribute.


There are a couple of extra security features to restrict access to gate arm control.


There is a whitelist of client IP addresses from which clients are allowed to control gate arms. It is specified as the gate.arm.whitelist property in the /etc/iris/ configuration file. The property contains a list of addresses in CIDR notation (exact IP, or ranges specified such as

System Disable

Another security feature causes the entire gate arm system to be disabled whenever a configuration change is made to any gate arm. This includes any changes to a gate arm array, controller or associated comm link. IRIS will not send any command to open or close any gate arm while in this state. The only way to re-enable gate arm control is to create a file in the server filesystem at /var/lib/iris/gate_arm_enable (using the touch command).