(of which there can be only one) can start an RDM exchange. Responders can speak only if spoken to. The controller will always initiate all RDM communication. All RDM devices have a unique identifier (UID) that consists of a manufacturer ID and serial number. RDM communication can be broken down into three types: Discovery Unicast communication Broadcast communication Discovery Discovery is the only situation in which data collisions can occur assuming all connected devices behave correctly. The controller will broadcast a discovery command to all devices and await a response. If there are more than one device connected, the simultaneous responses will likely result in a data collision, and the controller will not receive a correctly formatted response. The controller will then refine its search to a smaller range of UIDs according to a binary search pattern. Once the controller receives a correct response it will attempt to mute the responding device. After a successful mute, the device is no longer allowed to respond to discovery messages, and the controller can continue searching for other devices. Once all devices have been muted (no responses are received to discovery commands), the discovery process is finished and the controller will hold a list of all connected devices. The controller will need to periodically perform searches for new devices and assert that already discovered devices are still connected. Unicast communication General communication with a specific fixture occurs in a request-response pattern. The controller sends the request to the device, addressing it by the device's UID. When the request has been sent, the controller relinquishes control of the DMX line for a given period of time, so the device can transmit its response. Unicast communication is the only way in which data can be retrieved from a fixture (other than its UID which can be obtained using the discovery mechanism mentioned above). If the device does not respond within a given period of time, the controller can assume communication has failed, and may retry. Broadcast communication To quickly send instructions to multiple fixtures, RDM allows for broadcast communication. This allows the controller to send an instruction to all devices, or all devices from one manufacturer. As more than one device might be receiving the message, responses are not permitted in broadcast communication except during the Discovery process. Uses for RDM Since the RDM protocol travels on top of the DMX512 protocol, most of its