06-26-2008 05:14 PM
06-27-2008 03:56 PM
06-27-2008 04:47 PM
Hi Nicholas, I understand that Cypress does make a dll, but I do not have it. I have building with this particular chip for years and am very used to the SYS file driver, I hope to NOT have to switch over to use of a dll in order to make my device accessible to LabVIEW. If I have a Windows plug-and-play device attached to my computer, and it is responding to other programs that can access USB devices .... I should be able to access it from LabVIEW ???
I can set up my INF files so that when my device installs it loads my firmware, and then loads the NiViUsbK.sys driver as the 2nd part of the re-numeration process instead of the EZusb.sys driver. When I do that I can see my device in MAX, and it shows up in Device Manager as a NI VISA USB device.
But, if I try to send a command to my device using the Basic I/O function of the Test Panel .... my device does not respond. For example, simply sending a " 1 " to my device causes it to power on, and sending a " 2 " causes it to power off. But when I put a 1 in the Buffer and then press execute ... the return is 0, and nothing happens with my device. So, the Test Panel is not properly sending the buffer contents through the USB.... ???? I suspect that there is "stuff" going on in the EZusb.sys driver that is not implemented in the same way (or at all) in the NiViUsbK.sys driver ... and therefore the NiViUsbK.sys driver can not talk to my device???
06-28-2008 01:57 AM
Hello,
we use the Cypress 6803, and Visa, and it works fine.
You will need to do the following:
1. Load a firmeware program into the 68013 that implements the type of interface you want between the 68013 and your hardware system. This firmware program will include as a first byte 0xC0 which means do NOT double renumerate, but just load the eeprom contents and run. This means no further support is required from the PC operating system. The firmware program will include the manufacturers name, the device description string, and the VID and PID to use.
Cypress offer a development kit (http://app.cypress.com/portal/server.pt?space=CommunityPage&control=SetCommunity&CommunityID=285&Pag...) which includes a Keil compiler, and a console to send hex or .iic files to the 68013 to program the eeprom.
Included in this package are examples that you can use to build the interface program. The GPIF designer is useful for defining the interface you will use. The vend_ax source is useful as a framework.
2. Once you have made the 8051 code for the 68013, you can load it in as a hex file, and cause it to re-enumerate. Using cyconsole (which will be associated with the default 68013 PID and VID) you can test your interface by sending data out the bulk out end point (often 02) and read it back via the bulk in endpoint (often 86). You can send vendor commands via the control endpoint (0).
3. Once you have got the 8051 software working, you convert it to an .iic file. The attached file describes this. This file will have the final VID and PID in it.
4. Now you use VISA Driver Wizard to make a USB Raw .inf file. You need to specify the manufacturer, product name, and VID and PID.
5. Next you cycle the power on your product, and Windows will ask for a driver. You point at the .inf file you just made. This will associate your product with the Visa driver.
6. In Labview you open a VISA session with the correct mask - here we are opening all products with VID = 1E41 and PID = 8008
USB0::0x01E41::0x8008?*
using the VISA Find resource vi.
7. Then you start reading and writing to it.
hope this helps
Bart