6 Replies Latest reply on Apr 18, 2012 3:31 AM by anand.srinivasan.asokan

    Using CyUSB with FX1

    tcmichals
              I'm using the example application USB Control Center with the reference board using the FX1 part... The CyConsole can see the part, download etc. Works great... But When using the USB Control Center is does not see the part. The Generic USB device is not a HID correct? Hence it does not display using the device? I have all of the options selected.. I even copied the code... and it still does not work...   
        • 1. Re: Using CyUSB with FX1
          anand.srinivasan.asokan
                  In the registry key (you have to open this path using registry editor)   
          HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\USB\   
          There will be a registry key for each vid/pid sequence and there will be registry key for each port in which the device has been used. You can find a registry key called Device parameters under each. In this particular registry key a registry key named DriverGUID with the GUID value of the driver should be present for control center to detect the device.   
          You can achieve this by manually entering the driver GUID after creating the necessary registry key. Or in the inf file you can uncomment the lines   
          CyUSB.GUID =......   
          HKR,, DriveGUID......   
          and force windows to use this inf file.   
          • 2. Re: Using CyUSB with FX1
            tcmichals
                    Ok, but should not this .NET API work as is? Just do a scan of all USB devices, just no HID, and then it will work?   
               
            To me the two API's don;t match the C api and the .NET? My end goal is to have the firmware and EEPROM programmed.   
            • 3. Re: Using CyUSB with FX1
              tcmichals
                      Also, this is a default development system should this work out of the box?   
              • 4. Re: Using CyUSB with FX1
                anand.srinivasan.asokan
                        In the C api the default driver GUID of cyusb.sys is hardcoded and hence it checks for that value even if it is not registered in the registry. In .Net api currently it is not hardcoded. The 64 bit support release of the .Net interface which will happen soon has this value hardcoded in it and will detect the device even if driver guid is not registered.   
                The logic is here when you get the device and driver whql signed you will have to use your own VID/PID and DriverGUID. So to emphasize the usage of your own DriverGUID the 2 lines in the inf file are commented out. ensuring the uncommenting of those two lines should make the device work fine on all systems.   
                • 5. Re: Using CyUSB with FX1
                  tcmichals
                          Ok, I see what is going on.   
                  1) needed to update the inf to use the correct PID, for the prom it is 0082, the new inf does not have this one defined, but, easy to change..   
                  2) If you plugin the FX1 board into several usb ports the USB control center may not find it. The reason is Enum/USB/Vid_04b4&Pid_0082, there are several entries one per port, thus if the first one is not active, then the control central does not find the device...   
                  • 6. Re: Using CyUSB with FX1
                    anand.srinivasan.asokan

                    control center collects the driver GUIDs registered and then searches for device connected to driver with that GUID. So if it registered under some VID/PID in the registry then control center should be able to find it irrespective of the hub port the device is connected to...

                    Regarding prom having 0082 it was used to download the monitor program automatically... you can disable eeprom and connect the device. Then using vend_ax example you can write the desired value...