Ejemplo n.º 1
0
        protected override IAvalonPacket CreateAvalonPacket()
        {
            CyUSBDevice sampleDevice = usbDevices[0x04b4, 0x1004] as CyUSBDevice;

            if (sampleDevice == null)
            {
                if (Listener != null)
                {
                    Listener.Stop();
                }
                if (connectedDevice != null)
                {
                    //Console.WriteLine("DeviceRemoved");
                    connectedDevice = null;
                }

                CyFX2Device noEepromDevice = usbDevices[0x04b4, 0x8613] as CyFX2Device;
                if (noEepromDevice == null)
                {
                    return(null);
                }
                string path = Path.Combine(Path.GetDirectoryName(Application.ExecutablePath), firmware);
                noEepromDevice.LoadExternalRam(path);

                return(null);
            }

            if (connectedDevice != null)
            {
                return(null);
            }

            //Console.WriteLine("DeviceAttached");
            CyBulkEndPoint outEndpoint = sampleDevice.EndPointOf(0x01) as CyBulkEndPoint;

            if (outEndpoint == null)
            {
                return(null);
            }
            CyBulkEndPoint inEndpoint = sampleDevice.EndPointOf(0x81) as CyBulkEndPoint;

            if (inEndpoint == null)
            {
                return(null);
            }
            endpoint2 = sampleDevice.EndPointOf(0x82) as CyBulkEndPoint;
            if (endpoint2 == null)
            {
                return(null);
            }
            connectedDevice = sampleDevice;
            return(new CsrpAvalonPacket(outEndpoint, inEndpoint));
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Поиск устройства
        /// </summary>
        public bool Find()
        {
            USBDeviceList usbDevices = new USBDeviceList(1);

            foreach (USBDevice d in usbDevices)
            {
                if ((d.ProductID == 0xb40D) && (d.VendorID == 0x0456))
                {
                    device = d as CyFX2Device;
                }
            }

            bool loaded = false;

            if (device != null)
            {
                loaded = device.LoadExternalRam("Resources\\ADF4360ExternalRAM.hex");
            }
            else
            {
                return(false);
            }

            if (loaded)
            {
                device.ControlEndPt.Target    = 0;
                device.ControlEndPt.ReqType   = 0x40;
                device.ControlEndPt.Direction = 0;
                device.ControlEndPt.ReqCode   = 0xdd;
                device.ControlEndPt.Value     = 0;
                device.ControlEndPt.Index     = 0;

                return(true);
            }

            return(false);
        }