public static IEnumerable <HekaDAQController> AvailableControllers()
        {
            var result = new List <HekaDAQController>();

            for (uint deviceType = 0; deviceType < ITCMM.MAX_DEVICE_TYPE_NUMBER; deviceType++)
            {
                if (deviceType == ITCMM.ITC00_ID)
                {
                    continue;
                }

                uint numDevices = 0;
                uint err        = ITCMM.ITC_Devices(deviceType, ref numDevices);
                if (err != ITCMM.ACQ_SUCCESS)
                {
                    throw new HekaDAQException("Unable to find devices", err);
                }

                for (uint deviceNumber = 0; deviceNumber < numDevices; deviceNumber++)
                {
                    result.Add(new HekaDAQController(deviceType, deviceNumber));
                }
            }

            return(result);
        }
        public void DeviceDetection()
        {
            uint numDevices = 0;

            uint result = ITCMM.ITC_Devices(ITCMM.USB18_ID, ref numDevices);

            Assert.AreEqual(ITCMM.ACQ_SUCCESS,
                            result,
                            ErrorDescription.ErrorString(result));
            Assert.GreaterOrEqual(numDevices, 1, "We should find at least one ITC18 device.");
        }