Slight correction/clarification to the below: obviously, I am not
calling rtlsdr_set_center_freq when using rtl_tcp.exe. Instead, what I
see is that I can queue up a bunch of tuning calls, but they only kick
in at a very slow rate (1 hz). The effect is similar to when I used the
native libs, where rtlsdr_set_center_freq also took 1 s on the main thread.
-Scott
On 9/26/2012 3:23 AM, Scott Cutler wrote:
I've ported my app to use rtl_tcp.exe instead of
the native rtlsdr
libs, and while it is partly working (samples reading correctly, no
dropped samples, etc.), I have run into two issues.
First--when I start reading samples too quickly after setting the
sample rate, I get this error:
C:\Users\Scott
Cutler\Projects\p4\0\projects\sdr\SeeDeR\SeeDeR\rtl-sdr-release\x32>rtl_tcp.exe
-f 100000000 -s 2048000
Found 1 device(s).
Found Elonics E4000 tuner
Using Generic RTL2832U (e.g. hama nano)
Tuned to 100000000 Hz.
listening...
Use the device argument 'rtl_tcp=127.0.0.1:1234' in OsmoSDR
(gr-osmosdr) source
to receive samples in GRC and control rtl_tcp parameters (frequency,
gain, ...).
client accepted!
set freq 105000000
set sample rate 1920000
worker cond timeout
Signal caught, exiting!
comm recv socket error
Signal caught, exiting!
all threads dead..
listening...
Use the device argument 'rtl_tcp=127.0.0.1:1234' in OsmoSDR
(gr-osmosdr) source
to receive samples in GRC and control rtl_tcp parameters (frequency,
gain, ...).
If I instead wait about two seconds after setting the sample rate,
there is no problem. There is also no problem if I immediately read
samples after connecting, where I set the sample rate on the command line.
The other issue is that tuning is very slow--about one second per call
to rtlsdr_set_center_freq. I had a similar problem with the
rtlsdr.dll library, and I found that tuning was very slow if performed
from the main thread, but fairly quick (maybe 10-20 hz) if done from
the async proc thread that rtlsdr_read_async launches.
That seemed a bit odd to me but it worked. I suspect that rtl_tcp.exe
is doing the same thing; calling rtlsdr_set_center_freq from the main
thread.
Ideas, anyone? Thanks!
-Scott
PS: I'm running Win7-64, in case it matters. Also using the latest
version here:
http://sdr.osmocom.org/trac/attachment/wiki/rtl-sdr/RelWithDebInfo.zip