Access the board from Win32 API?


#1

I purchased your board so that I could study USB programming for Windows, as well as FPGAs. But USB programming is the main reason. For the FPGA, I have written and simulated a circuit that dumps data to the USB port. (Thank you for your support earlier).

I would now like to access the data from a user-mode software program. However, I would like to use the Win32 API rather than the FrontPanel library. Is there anything that I should know, such as the driver’s GUID value , and if so, is it possible to receive that information?

Thank you for your time and help.


#2

Hello-

We don’t provide any details of our underlying API. Primarily because our business is in making this layer transparent to the user with a reliable, convenient abstraction. This underlying API may change from version to version and we do not intend to handle support for those bypassing this API.

However, if I wanted to find the GUID of a particular driver, I’d look in the driver INF file. :slight_smile:

If you’re interested in USB programming, you may want to consider Mac OS X or Linux as your platform to get started. Windows makes the whole USB interface unnecessarily complicated. Mac and Linux provide user-mode interfaces to the USB system. On all three platforms, “libusb” is available which provides a generic user-mode USB interface.


#3

I get your hint. :slight_smile: I have been studying the Windows DDK and I have no interest in writing a driver for USB. :slight_smile: I am just trying to build a reliable hardware tool for managing several devices (it does firewire correctly right now, and now I am trying to do data acquisition with your USB board).

I agree with you about Mac OS X. It is so much easier to work with hardware using IOKit. But I work in an R&D lab for wireless communications, and Windows is the only thing I have available to work with. If only they would let me bring my iBook from home…

Thanks for the input though!


#4

On the Windows platform, then, I’d suggest two options: use libusb. It’s portable. I don’t have any experience with the Windows version, but I think pre-v1.0 is getting to be pretty solid now on all three platforms.

The second option is to get the CyAPI and CyUSB drivers from Cypress. They do everything you’d want from a nice user-mode interface. And, since the XEM3001 uses a Cypress chip, you’re even legal.