[hpsdr] Ozy and WinUSB
Alberto I2PHD
i2phd at weaksignals.com
Thu Jul 23 14:38:46 PDT 2009
I started to write a WinUSB interface to talk to Ozy. I am doing this essentially for two reasons :
1) The current libusb interface won't likely be supported by the 64-bit version of the upcoming Windows 7,
while WinUSB will. At least M$oft guarantees this.
2) I know nothing about USB nor WinUSB, and this looks like a good way to learn something...:-)
So far, I have been able to code an INF file, and to install successfully the drivers needed by WinUSB.
Additionally, I wrote a small sample code that successfully issues the
GetDevicePath, SetupDiGetClassDevs, SetupDiEnumDeviceInterfaces
OpenDevice
WinUsb_Initialize
WinUsb_QueryDeviceInformation
calls (not necessarily in this order). As a last thing I issue the WinUsb_QueryInterfaceSettings API,
to know the characteristics of the USB device, i.e. the Ozy card.
And here is where I am having problems, and the reason for making this post.
That API fills a structure of type USB_INTERFACE_DESCRIPTOR, which has a field that contains the number
of the endpoints of the device. I find that field always set to zero.
Being totally ignorant, as said, of the USB architecture, I made an hypothesis which could be totally
wrong, so I ask those expert in this field.
Does that depend from the fact that the firmware hasn't (at that point) been loaded yet into the Ozy FPGA ?
If this is true, how can I load that firmware into the FPGA using WinUSB (libusb is out of the picture),
given that I have no endpoints to contact ?
Please enlighten me, this USB stuff is a bit confusing, at least initially...
Thanks
73 Alberto I2PHD
More information about the Hpsdr
mailing list