Intelligent Roadway Information System


Select View ➔ Maintenance ➔ Comm Links menu item

A controller is an end-point for a comm link. Each controller can have one or more associated devices, depending on the protocol. Sometimes a controller represents a separate physical box, which is connected to devices, and other times the controller may be embedded within the device. In either case, a controller is required for any communication to a device.

API Resources 🕵️
  • iris/api/controller (primary)
  • iris/api/controller/{name}
  • iris/api/controller_io/{name}

The read-only controller_io resource returns an array of objects consisting of pin, name and resource_n of associated devices.

Access Primary Secondary
👁️ View name, location, setup, fail_time geo_loc
👉 Operate device_req †
💡 Manage condition, notes
🔧 Configure comm_link, drop_id, cabinet_style password

Write only

Drop Address

Some protocols support multi-drop addressing, while others are single-drop only. Multi-drop addressing allows multiple controllers to share the same comm link — typically for serial communication. Each controller must be assigned a unique (to the comm link) drop address, which is used to route all messages sent to the controller. For single-drop protocols, the drop address is ignored.

Controller Password

Authentication is supported or required by some communication protocols. The controller password field is used to enter authentication data.


A device is one of several types of traffic control or sensing systems. These include:

The controller must also be associated with a comm link which communicates using an appropriate protocol for the device.

IO Pins

Each controller has a set of IO pins for connecting devices or flow streams. Every device or flow stream must be assigned to an IO pin to be used. The function of these pins is protocol specific.

Cabinet Styles

Controllers can have an associated cabinet style, used for MnDOT-170 and Natch protocols.

API Resources 🕵️
  • iris/api/cabinet_style
  • iris/api/cabinet_style/{name}
Access Primary Secondary
👁️ View name
🔧 Configure police_panel_pin_1, police_panel_pin_2, watchdog_reset_pin_1, watchdog_reset_pin_2, dip