Wednesday, March 18, 2009

GTK+ GUI moving along

Gradually adding some more features including waterfall display.

It now also supports 48k, 96k and 192k sampling. There is a small problem with DttSP when I switch sample rates where it is breaking some times. Need to investigate the code I added to support sample rate changes to DttSP.

Will add the bandscope next and then it should be ready for some testing.

Once that is completed I will start on Penelope support.


Saturday, March 14, 2009

GTK+ GUI for HPSDR Mercury


Currently working on a GUI for Mercury using GTK+. One of the drivers for this was to see how well I could get the USB code working without Jack

I modified the latest version of DttSP so that I could link it with the GUI and USB code, and make calls directly to it to process the I/Q data. I shamelessly borrowed the external functions from the Windows implementation!

I should have a releasable version within the next couple of days. Once I have the receiver working well I will add support for Penelope for a complete transceiver.

A quick YouTube demo:

Wednesday, February 18, 2009

libusb 1.0

Having upgraded HPSDR to v2.6 I ran into a problem readin the I/Q samples concurrently with the bandscope samples from the 2 end points.

The problem was caused by some real problems in libusb v0.1.12 (which is the version included with Ubunti 8.10) handling of threads. Version 1.0 has some documentation that implied it had fixed the problem, so I downloaded, built and installed it.

I then did a rewrite of the i/o code that uses libusb (the new api is so much easier to use).

I can now run 2 threads, one reading the sample data on EP6 and the other reading the bandscope samples on EP4 concurrently without them interfering with each other.

There are still some problems with synchronizing between ozy and jack, but that should be easier now that libusb is running correctly.

The image below shows the Mercury receiver running at 48K with an initial banscope display which still needs some work.

Wednesday, January 14, 2009

GTK+

Some time ago I tried to write some C code using GTK+.

I was interested in seeing what it would take to create some panels that were similar to the ones designed by Beppe. The code is written to run with the version of DttSP that uses FIFO's and to work with the Softrock. If I get time I will try to update it to uses the latest CGRAN version of DttSP and to also work with Ozy/Penelope/Mercury.

I fired it up again and this is what it looks like.


Tuesday, January 13, 2009

Mercury Bandscope

Just quickly added some support for the new bandscope capability of Mercury.

This is the first attempt at a GUI. I have not checked the code yet to validate it, but thought it was interesting as a first attempt. The full 0 to 55 MHz is being displayed. I am doing the FFT for this in the Java code and then calculating the Power Spectral Density which I am displaying.

Monday, January 12, 2009

More on Mercury running on Linux

Upgraded to the latest 2.4 firmware. Had to run Windows XP to do that!

I have some basic code working with Mercury. This really is a great little receiver. Still some problems with the code that takes the data from Ozy and creates the buffer for jack but at least I can tune around and hear the audio with the occasional click because of the buffering problem.

Still running everything at 48K as I try to resolve the buffering problem.




And this shows the System Monitor when running the receiver and the Java GUI.

Saturday, January 10, 2009

HPSDR Mercury card

Quickly installed the Mercury card and after a couple of minor bug fixes to the code it seems to be working!

Image below using Mercury at 48000 listening to BBC Radio 5 on 909 KHz Medium wave.

Still some work to do, but the basic code is working.