Exemplo n.º 1
0
        private void RefreshDevices()
        {
            FTDIDevices.Clear();

            var newDevices = mFTDILibrary.EnumerateFTDIDevices();

            uint index = 0;

            foreach (var node in newDevices)
            {
                if (node.Type != FTDI.FT_DEVICE.FT_DEVICE_UNKNOWN)
                {
                    uint chipID = 0;
                    if (FTDI.IsFTDChipIDDLLLoaded())
                    {
                        mFTDILibrary.GetChipIDFromDeviceIndex(index, out chipID);
                    }

                    FTDIDevices.Add(new FTDIDeviceInfo(node, index, chipID));
                    index++;
                }
            }

            #region fakeDevices
#if ENABLE_FAKE_USB_DEVICES
            if ((FTDIDevices.Count == 0) && (DateTime.Now.Second % 3 == 0))
            {
                FTDI.FT_DEVICE_INFO_NODE tempInfo0 = new FTDI.FT_DEVICE_INFO_NODE();
                tempInfo0.Description  = "Debug Placeholder FTDI Device 0";
                tempInfo0.ID           = 1000;
                tempInfo0.SerialNumber = "SerialNum 1000";
                tempInfo0.Type         = FTDI.FT_DEVICE.FT_DEVICE_232R;
                FTDIDevices.Add(new FTDIDeviceInfo(tempInfo0, index++, 0x01010101));

                FTDI.FT_DEVICE_INFO_NODE tempInfo1 = new FTDI.FT_DEVICE_INFO_NODE();
                tempInfo1.Description  = "Debug Placeholder FTDI Device 1";
                tempInfo1.ID           = 1001;
                tempInfo1.SerialNumber = "SerialNum 1001";
                tempInfo1.Type         = FTDI.FT_DEVICE.FT_DEVICE_UNKNOWN;
                FTDIDevices.Add(new FTDIDeviceInfo(tempInfo1, index++, 0x00000000));

                FTDI.FT_DEVICE_INFO_NODE tempInfo2 = new FTDI.FT_DEVICE_INFO_NODE();
                tempInfo2.Description  = "Debug Placeholder FTDI Device 2";
                tempInfo2.ID           = 1002;
                tempInfo2.SerialNumber = "SerialNum 1002";
                tempInfo2.Type         = FTDI.FT_DEVICE.FT_DEVICE_BM;
                FTDIDevices.Add(new FTDIDeviceInfo(tempInfo2, index++, 0x01010101));
            }
#endif
            #endregion
        }
Exemplo n.º 2
0
        private void OnRefreshDevices()
        {
            RefreshDevices();

            FTDIDeviceInfo matchedInfoInList = FTDIDevices.FirstOrDefault(this.SelectedUSBDevicePredicate);

            if (matchedInfoInList == null)
            {
                //couldn't find the the selected device in the list, try to use the first one in the list
                SelectedDeviceInfo = FTDIDevices.FirstOrDefault();
            }
            else
            {
                //use the one in the list
                SelectedDeviceInfo = matchedInfoInList;
            }

            CollectionViewSource.GetDefaultView(FTDIDevices).MoveCurrentToFirst();
        }