/// <summary>
 /// Connect the device to a port
 /// </summary>
 /// <param name="port">Any input port on brick</param>
 public void Connect(InputPort port)
 {
     if (Brick.IsConnected)
     {
         throw new DeviceException("Can not connect devices after connection to the brick is made!");
     }
     if (IsConnected)
     {
         throw new DeviceException("Can not reconnect devices to other ports!");
     }
     port.Set(this);
 }