On 2021-10-13 8:22 p.m., Jeff Long wrote:
Don't understand that last sentence - that doesn't sound like anything
we're doing. How do you think it should work, taking into account that
different hardware has different features, sets of gains, etc?
I have used gr-osmosdr for many years, and my apps work just fine with a
variety of hardware without the app really "knowing" much about that
hardware, other
than that it has some basic parameters, like:
o sample rate
o RF gain
o Optionally other gains (labelled as "IF" and "BB" in gr-osmosdr,
but they may either be a NOP or do slightly-different things on various
hardware)
o center frequency
The user supplies a 'device string', and gr-osmosdr figures out which
driver to call.
The end user never needs to go into GRC to enable their particular
hardware. It "just works". Now, granted there are *other* features
that gr-osmosdr exposes,
like clock-synch and other things, but on hardware that doesn't
support those things, it's just a nice quiet "NOP". That's a very
useful model that facilitates a huge
swath of applications for which the relatively "generic" model is
appropriate.
Now, back to gr-soapy. It sounds from comments both here and on the
chat channels that there's a feeling that the "generic" source/sink
blocks for soapy should
just go away. If that's the case, then I must emphatically protest
in the strongest possible terms. If that's *NOT* the case, then I've
simply mis-understood something
either here or on the chat channel, and I apologize for the waste of
bandwidth.
On Wed, Oct 13, 2021 at 7:43 PM Marcus D. Leech
<[email protected] <mailto:[email protected]>> wrote:
On 2021-10-13 7:31 p.m., Jeff Long wrote:
No, the underlying C++ is not hardware specific and there is no
Soapy driver code in GR. We added some hardware-specific YAML
files to make life easier. Users can add their own, too, easily
enough. There are generic ones too at the moment, but to do
things right, they have to know the characteristics of every
possible device (e.g, gains) and they're a maintenance nightmare.
It's pretty easy to throw one block for each sdr you're likely to
use on the screen and disable the ones you're not using, if you
switch between them frequently.
I'm not keen on making my *users* pull .grc files into GRC to make
changes necessitated by the hardware model....
On Wed, Oct 13, 2021 at 5:47 PM Marcus D. Leech
<[email protected] <mailto:[email protected]>> wrote:
On 2021-10-13 4:20 p.m., Jeff Long wrote:
This is a LimeSDR Mini.
I think the complaint is about the fact that auto-discovery
of Lime doesn't work? Not sure.
To me, auto-discovery is fraught with issues, and I have
*NEVER* in the 17 years I've been
using Gnu Radio relied on it.
But more disturbing to ME is that the attached screen-cap
seems to indicate that the Soapy blocks
are all *device* specific. This seems wayyyy broken to
me. It means you cannot have an application that
is device agnostic. We have had device-agnostic apps for a
LONG time--ever since gr-osmosdr came onto the
scene and then again when SoapySDR showed up. We're going
back to device-specific source blocks? WHY????
On Sun, Oct 10, 2021 at 8:03 PM Aardric <[email protected]
<mailto:[email protected]>> wrote:
Hail,
My rtl-sdr soapy source block runs with attached
hardware but
running the flow graph with the lime source block throws
out the
unpleasant response:
File "./test39_lime-sdr.py", line 88, in __init__
stream_args, tune_args, settings)
RuntimeError: SoapySDR::Device::make() no match
> SoapySDRUtil --find="driver=lime"
######################################################
## Soapy SDR -- the SDR abstraction library ##
######################################################
Found device 0
addr = 1d50:6108
driver = lime
label = LimeSDR-USB [USB 3.0] 9081C05C4212E
media = USB 3.0
module = FX3
name = LimeSDR-USB
serial = 0009081C05C4212E
--init--
self.soapy_limesdr_source_0 = None
dev = 'driver=lime'
stream_args = ''
tune_args = ['']
settings = ['']
self.soapy_limesdr_source_0 = soapy.source(dev,
"fc32", 1,
"driver='lime'",stream_args, tune_args, settings)
I don't know why the dev_args input of "driver='lime'"
is required.
git branch gnuradio 3.9-maint
built with PyBOMBS (on 2021-10-09)
opensuse Leap 15.2.
The web page https://wiki.gnuradio.org/index.php/Soapy
<https://wiki.gnuradio.org/index.php/Soapy> was informative
but didn't tell me where to go next with this. Before I
begin the
daunting (for a non-developer) task of exploring more
deeply, I thought
to query this forum for obvious suggestions or known
solution (or bug
status).
Rick