Exemple #1
0
        public bool Open()
        {
            int numdev = 0;

            USBXpress.ReturnCodes status;
            byte[] buffer = new byte[200];

            status = usbXpress.SI_SetTimeouts(500, 500);
            status = usbXpress.SI_GetNumDevices(ref numdev);

            for (int i = 0; i < numdev; i++)
            {
                status = usbXpress.SI_GetProductString(i, buffer, USBXpress.ProductString.SI_RETURN_SERIAL_NUMBER);
                string sn = System.Text.Encoding.ASCII.GetString(buffer);

                if (this.Serial == null || this.Serial.Length == 0 || sn.StartsWith(this.Serial))
                {
                    status = usbXpress.SI_Open((UInt32)i, ref handle);
                    if (status == USBXpress.ReturnCodes.SI_SUCCESS)
                    {
                        this.isOpen = true;
                        ClearInputBuffer(handle);
                        return(true);
                    }
                }
            }
            return(false);
        }