[hpsdr] Janus-Ozy Sound Card Driver [WDM]

Bill Tracey bill at ewjt.com
Sat May 31 21:18:55 PDT 2008


There are a number of reasons Ozy/Janus was not done as a WDM 
driver.    Basic reason is that not being a Windows audio device 
gives us more control by not getting a layer we don't need into the 
path - we keep Windows' hands off our precious data.  Libsub was used 
because it was open source and gave us access to a USB device without 
having to write a device driver.  One of the things we did not have 
when we did Ozy and Janus is someone willing to write a device 
driver.   At the time I'd stated very clearly I would not be doing a 
windows audio driver for Janus/Ozy -- it is simply something that 
does not interest me and was not something we needed to do to work 
with PowerSDR.

Another nice side effect of using Libusb is we can use Ozy/Janus on 
Linux (and OSX?) without having to do another round of  device drivers.

As to there being no specification --Phil Harman has posted the 
document we have describing the on the wire protocol for Ozy 
Janus.  I don't know how usable this will be in terms of building a 
WDM and/or ASIO driver.  I suspect changing the device class will 
change what the endpoints need to do which would require changes to 
the FX2 code running on Ozy.  To do Janus/Ozy as a WDM Audio driver 
is likely to take some interesting mapping, as it is not a typical 
sound card.  On 2 of the input channels you get 24bits samples 
at  48, 96 or 192 khz.  On the other input channel it's 16 bits at 48 
khz.  On the output side you have 4 channels 16 bits deep at 48 
khz.       Beyond the audio data there's some command and control 
data that rides inline in the audio stream  (PTT,  Dot/Dash, 
Frequency Tuned ...) as well as the SDR 1000 parallel port control 
data that runs on a different endpoint.

I don't think it will be a trivial amount of work to do a WDM and/or 
ASIO driver.  If someone want to take it on I'm very willing to 
answer questions on how the current code works etc.    I don't think 
it should take any reverse engineering -- I think the code authors 
and hardware designers on the project generally are willing to answer 
questions on how things work etc.

Regards,

Bill  (kd5tfd)




 1212293935.0


More information about the Hpsdr mailing list