Closed cjcliffe closed 9 years ago
Getting there.. just need to implement sampling functions and some smart switching for the bandwidth based on rate.
cjmacbook:build ccliffe$ SoapySDRUtil --probe="driver=sdrplay"
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################
Probe device driver=sdrplay
mir_sdr version: 1.1
mir_sdr_Init: starting hardware initialization
mir_sdr_Init: gR=40dB fs=2.048MHz rf=222.064MHz bw=1.536MHz if=0.000MHz
mir_sdr_2500_Init(2)
mir_sdr_usb_Init()
mir_sdr_usb_USB DLL: Revision 0.1.1
mir_sdr_usb_Init: Timeout expired/failed to establish connection with the device
mir_sdr_2500_Init: mir_sdr_usb_Init() failed
mir_sdr_Init: mir_sdr_2500_Init() Error 1
Ping @Toontje :)
Segfaults fixed, getting decent --probe results now:
cjmacbook:build ccliffe$ SoapySDRUtil --probe="driver=sdrplay"
######################################################
## Soapy SDR -- the SDR abstraction library
######################################################
Probe device driver=sdrplay
mir_sdr_Init: starting hardware initialization
mir_sdr_Init: gR=40dB fs=2.048MHz rf=222.064MHz bw=1.536MHz if=0.000MHz
mir_sdr_2500_Init(2)
mir_sdr_usb_Init()
mir_sdr_usb_USB DLL: Revision 0.1.1
mir_sdr_usb_Init: Timeout expired/failed to establish connection with the device
mir_sdr_2500_Init: mir_sdr_usb_Init() failed
mir_sdr_Init: mir_sdr_2500_Init() Error 1
----------------------------------------------------
-- Device identification
----------------------------------------------------
driver=SDRPlay
hardware=SDRPlay
mir_sdr_version=1.100000
----------------------------------------------------
-- Peripheral summary
----------------------------------------------------
Channels: 1 Rx, 0 Tx
Timestamps: NO
----------------------------------------------------
-- RX Channel 0
----------------------------------------------------
Full-duplex: YES
Antennas: RX
Corrections: DC removal
Full gain range: [0, 0] dB
Full freq range: [0.1, 2000] MHz
RF freq range: [0.1, 2000] MHz
Sample rates: [0.2, 8] MHz
Filter bandwidths: [0.2, 8] MHz
I took a look at the progress. A few comments:
//are elements left in the buffer? if not, do a new read
if (this->elemsLeftInBuffer == 0)
{
//receive into temp buffer
err = mir_sdr_ReadPacket(&xi[0], &xq[0], &fs, &grc, &rfc, &fsc);
this->elemsLeftInBuffer = xi_buffer.size();
this->offsetInfoBuffer = 0;
}
size_t elemsToConvert = std::min(this->elemsLeftInBuffer, numElems);
//conversion loop here, use offsetInfoBuffer for xi_buffer,xq_buffer
//bump variables for next call into readStream
this->elemsLeftInBuffer -= elemsToConvert;
this->offsetInfoBuffer += elemsToConvert;
return elemsToConvert;
Thanks! I'll make the appropriate adjustments, I think it's getting close
Current progress is that it's functional, still need to do some fiddling with the bandwidth but you can track the progress at https://github.com/cjcliffe/CubicSDR/issues/144 including build instructions for OSX.
Starting an issue for current development status and work for shared discussion.
Already making some actual progress:
:)