Example #1
0
        private MotionControllerDevice FindScannerDevice(MotionControllerDevice[] motionControllerDevices, MotionControllerDevice device)
        {
            MotionControllerDevice result = null;

            foreach (var scannerDevice in motionControllerDevices)
            {
                if (scannerDevice.Equals(device))
                {
                    result = scannerDevice;
                    break;
                }
            }

            return(result);
        }
Example #2
0
        private async Task <List <MotionControllerDevice> > GetDevices(string familyName)
        {
            var result             = new List <MotionControllerDevice>();
            var protocolStackNames = GetProtocolStackNames(familyName);
            var scanningSettings   = _settings.Scanning;

            foreach (var protocolStackName in protocolStackNames)
            {
                if (scanningSettings.Skip.SkipProtocolStack(protocolStackName))
                {
                    MsgLogger.WriteDebug($"{GetType().Name} - method", $"skip protocol stack name: {protocolStackName}");
                    continue;
                }

                var interfaceNames = GetProtocolInterfaceNames(familyName, protocolStackName);

                foreach (var interfaceName in interfaceNames)
                {
                    if (scanningSettings.Skip.SkipInterface(interfaceName))
                    {
                        MsgLogger.WriteDebug($"{GetType().Name} - method", $"skip interface name: {interfaceName}");
                        continue;
                    }

                    var portNames = await GetPortNamesAsync(familyName, protocolStackName, interfaceName);

                    foreach (var portName in portNames)
                    {
                        var device = new MotionControllerDevice(familyName, "" /*TODO*/, 1)
                        {
                            ProtocolStackName = protocolStackName,
                            InterfaceName     = interfaceName,
                            Family            = familyName,
                            PortName          = portName
                        };

                        if (FindScannerDevice(result.ToArray(), device) == null)
                        {
                            result.Add(device);
                        }
                    }
                }
            }

            return(result);
        }