[hpsdr] Mac ghpsdr

Jeremy McDermond mcdermj at xenotropic.com
Tue Feb 9 13:53:28 PST 2010


I've actually worked on this a little bit more to see if I can do some further optimzations and I actually have it so that I'm not hearing any noticible pops or crackles even when I'm doing really intensive things like screen captures and such.  Just trying to do a screen capture to post a youtube video of ghpsdr used to make the audio go to hell.  Current code is checked into my SVN repository.  Make sure you recompile libDttSP.a because I made some changes to threading in that library.  I also updated the Wiki to reflect more information on what I've changed from the "stock" ghpsdr.  Mainly the latest changes are:

- Supporting "Chained" asynchronous reads.  Immediately upon entering the callback function we fire off another asynchronous read.  That makes sure we always have one "in the pipe" and getting data from the IO subsystem.

- Supporting "Chained" asynchronous writes.  Instead of just using a null callback, we check inside the callback to see if we have enough data to write out to Ozy.  If we do, we immediately dispatch another asynchronous write.  If not, we remove our lock and let the next iteration of the read loop fire off a write.  This, again, should make sure that we get things out to Ozy as expediently as possible.

- Changed the DttSP process_samples priority so that it is realtime like the read and write threads.  This was the last thing I did, and it seems to have cleaned up a lot of issues.

I haven't done extensive testing, but everything I've thrown at it so far seems to be okay.  I also am compromised by the fact that I don't yet have a Penelope to test transmitting with.  So, I don't know how any of these changes affect transmission.

I also posted a YouTube video of my receiver in action from the QTH in Springfield, MA.

http://www.youtube.com/watch?v=nojqdSS1fCA
--
Jeremy McDermond
Xenotropic Systems
mcdermj at xenotropic.com



 1265752408.0


More information about the Hpsdr mailing list