Example #1
0
        public static AutoProgDeviceTypes GetAutoProgType(string portName)
        {
            AutoProgDeviceTypes ret = AutoProgDeviceTypes.NONE;

#if !NETCOREAPP
            var portInfo = ComputerSystemHardwareHelper.GetWin32PnPEntityClassSerialPortDevice(portName);
#else
            Win32PnPEntityClass portInfo = null;
#endif
            if (portInfo != null)
            {
                ret = AutoProgDeviceTypes.UART;
                if (portInfo.Description.ToUpper().Contains("Sigma Designs ZWave programming interface".ToUpper()))
                {
                    if (portInfo.HardwareId == "0001")
                    {
                        ret = AutoProgDeviceTypes.SD_USB_0001;
                    }
                    else
                    {
                        ret = AutoProgDeviceTypes.SD_USB_0000;
                    }
                }
                else
                {
                    if (portInfo.Description.ToUpper().Contains("UZB") || portInfo.Description.ToUpper().Contains("ZCOM"))
                    {
                        if (portInfo.HardwareId == "0001")
                        {
                            ret = AutoProgDeviceTypes.UZB_0001;
                        }
                        else
                        {
                            ret = AutoProgDeviceTypes.UZB_0000;
                        }
                    }
                }
            }
            ret.ToString()._DLOG();
            return(ret);
        }
Example #2
0
        public SerialPortProgrammerDataSource(string sourceName)
            : base(sourceName, BaudRates.Rate_115200)
        {
#if !NETCOREAPP
            var device = ComputerSystemHardwareHelper.GetWin32PnPEntityClassSerialPortDevice(sourceName);
#else
            Win32PnPEntityClass device = null;
#endif
            if (device != null && device.Caption != null && device.Caption.Contains("Sigma Designs"))
            {
                StopBits = PInvokeStopBits.One;
                IsSigmaDesignsUsbProgrammingDriver = true;
            }
            else if (device != null && device.Caption != null && (device.Caption.Contains("UZB") || device.Caption.Contains("ZCOM")))
            {
                IsUzbDriver = true;
            }
            else
            {
                StopBits = PInvokeStopBits.Two; //UART
            }
        }