[hpsdr] Much success on winusb in KISS

george byrkit ghbyrkit at chartermi.net
Sun Dec 20 11:28:09 PST 2009


Jim,
Thanks for that pointer!  I'll check that out!

I've just finished the upload to the K9TRV branch of KISS.  It contains a
number of folders.

Let me enumerate them:
KISS Console - the KISS code, and where the solution file is located
SharpDSP - standard companion to the KISS code
LoadFW - added by me.  Produces LoadFW.exe.  Part of the KISS solution file
LoadFPGA - added by me.  Produces LoadFPGA.exe.  Part of the KISS solution
file 
WriteI2C - added by me.  Produces LoadFPGA.exe.  Part of the KISS solution
file
WinUSBManaged - added by me.  Produces LoadFPGA.exe.  Part of the KISS
solution file.  This is the C# code that is the interface to WinUSB.
WinUSBAPI - added by me.  There is a project there.  You need the Windows 7
version of the Windows Driver Kit (WDK) to build this.  It is NOT part of
the KISS solution file, because not all can build it.  It's included for
illustrative purposes
WinUSBTest - added by me.  Produces LoadFPGA.exe.  Part of the KISS solution
file.  Used to do trivial tests of WinUSBManaged.

Some notes:
You'll need to copy loadfw.exe, loadfpga.exe, writei2c.exe and
winusbmanaged.dll to your various binary directories, such as the USBBlaster
directory, if you switch from libusb0 to winusb for the driver, so that you
can still program the firmware on your Mercury and Penelope cards (and
others) using Ozy as a simulation for a USBBlaster.  Many call this
directory USBBlaster-Binaries.

You also need to copy these small files to whereever initozy11.bat exists,
so that initozy11.bat will work.  The copies of these small files that are
currently distributed with initozy11.bat use libusb0 and need to be replaced
with versions that use WinUSB, or else you have to constantly switch from
libusb0 to winusb and back, WHILE RUNNING, which is not really possible.

These files are already in the bin\release and bin\debug folders of MY KISS
branch, so that it can run.

No warrantee is made as to whether you can run Phil Covington's QS1RServer
at the same time.  You won't be able to run PowerSDR until Bill Tracey
KD5TFD changes PowerSDR to use WinUSB.  Phil C does use the same VID that we
do, 0xFFFE, but uses PID 0x8, where we use PID 0x7.  It is possible that the
PID difference WILL pose a problem if trying to run both sets of code on the
same machine, whether simultaneously or not.

What we need is feedback from people using Vista and Windows 7, ESPECIALLY
the 64 bit versions of those, as to whether KISS now works.

The version of KISS in this branch is the same as Phil Harman VK6APH had
several days ago.  I won't try to track his current changes, which are
mostly for his GigE work with Ozy/Aussie II, the ethernet interface for
HPSDR.  My code should work with Ozy (the original) and Magister.

I think it's time for a beer (Dogfish Head 90), before the bug reports start
rolling in.
Dave KV0S: maybe we need a WinUSB page now on the OpenHPSDR website where we
can keep all these notes and such.  Maybe I'll even have to start blogging
or wiki comment maintaining now!

Vy 73,
George Byrkit, K9trv

-----Original Message-----
From: James Brown [mailto:Jim at SETI.Net] 
Sent: Sunday, December 20, 2009 1:49 PM
To: george byrkit; hpsdr at lists.openhpsdr.org
Subject: Re: [hpsdr] Much success on winusb in KISS

That's great George.  I'm looking forward to getting your SVN output for my 
system.

Did you (or anyone else) look at LibUsbDotNet from SourceForge?  Its says
it's 
a package that can be used for either libusb-win32 OR WinUsb without 
changing your source code.  I would like to try it but if anyone else has 
experience with it I would like their input.

Regards......... Jim

--------------------------------------------------
From: "george byrkit" <ghbyrkit at chartermi.net>
Sent: Sunday, December 20, 2009 9:12 AM
To: <hpsdr at lists.openhpsdr.org>
Subject: [hpsdr] Much success on winusb in KISS

> ***** High Performance Software Defined Radio Discussion List *****
>
> Dear All,
>
> After last weekend's good luck in converting Alberto's C++ code to C#
> (thanks much Alberto!) and using the WinUSB driver .inf file and driver 
> pack
> that Alberto prepared, I was able this weekend to finish my work and have
> KISS working using WinUSB.
>
> What I've done is to prepare an assembly, WinUSBManaged.dll, built in C#,
> and the small programs LoadFW.exe, LoadFPGA.exe and WriteI2C.exe that use
> this assembly, along with converting KISS to use this assembly.
>
> I HAVE AUDIO!  And all control functions seem to work.  Now the one caveat
> is that the audio seems possibly a bit choppy at times, but that could
> easily be due to the computer that I'm using, and the fact that it has so
> much installed and running on it, despite being a quad-core i7 lga-1136
> 2.8ghz processor.  And it's definitely much better if I turn off the
> full-spectrum (0-50mhz) display.
>
> I've implemented most of the functions that are in the PowerSDR project
> HPSDR_USB_LIB_V1.1, especially those in the ozy.cs file.
>
> What I don't have implemented is read/write via timeout.  But since 
> Alberto
> had functions that could do overlapped IO, I have the basis for doing that
> if needed.  Right now, all USB IO is blocking.  That's possibly good 
> enough
> at this point for some testing, especially to see if it works on Vista and
> Windows 7, especially the 64 bit versions.  I have had PowerSDR and KISS
> work on Windows 7, 32 bit, in a VMWare VM, using libusb0.
>
> I also know that Phil Covington has libusb0 drivers for AMD 64 bit (but 
> not
> Intel 64 bit aka ia64).  You may wish to try those drivers which Phil uses
> for QS1RServer if you have an AMD 64 bit processor.
>
> Once I get some help posting my code up to my branch of KISS, it will be
> available for you all to test.  You will need to download Alberto's WinRad
> from weaksignals.com to get his driver for WinUSB, which is what I used.
>
> For those of you interested in WinUSB, I suggest a website,
> http://www.lvr.com/winusb.htm, for lots of info on USB, ethernet, serial
> ports, etc., some books by the website maintainer, and sample code for 
> .NET
> (both c# and vb.net).
>
> Vy 73,
> George Byrkit, K9TRV
>
>
> __________ Information from ESET Smart Security, version of virus 
> signature
> database 4703 (20091220) __________
>
> The message was checked by ESET Smart Security.
>
> http://www.eset.com
>
>
> _______________________________________________
> HPSDR Discussion List
> To post msg: hpsdr at openhpsdr.org
> Subscription help: 
> http://lists.openhpsdr.org/listinfo.cgi/hpsdr-openhpsdr.org
> HPSDR web page: http://openhpsdr.org
> Archives: http://lists.openhpsdr.org/pipermail/hpsdr-openhpsdr.org/
>
> 

__________ Information from ESET Smart Security, version of virus signature
database 4704 (20091220) __________

The message was checked by ESET Smart Security.

http://www.eset.com




 1261337289.0


More information about the Hpsdr mailing list