myriadrf / gr-limesdr Goto Github PK
View Code? Open in Web Editor NEWgr-limesdr Plugin for GNURadio
License: Other
gr-limesdr Plugin for GNURadio
License: Other
Hi, I was wondering if there is some way to destroy the instance of a sink/source in python.
rx = limesdr.source(arg1, arg2, arg3, arg4)
del rx
does'nt work.
The new gr-3.8 fails to compile for me.
Compilation output:
https://pastebin.com/9c94ivdg
System:
archlinux x86_64
python 3.8.1
python2 2.7.17
swig 4.0.1
limesuite 20.01.0
gnuradio 3.8.0 (actually 3.8.0.0 due to archlinux packaging mistake)
Can you recommend a specific commit version of gnuradio that this was tried and tested with?
Just installed the MacPort and that went well. I'm working from the example FM receiver with changes to the gui for QT. Now I'm seeing the following at compile time
`
Generating: '/opt/local/share/gnuradio/examples/gr-limesdr/top_block.py'
Executing: /opt/local/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python -u /opt/local/share/gnuradio/examples/gr-limesdr/top_block.py
Traceback (most recent call last):
File "/opt/local/share/gnuradio/examples/gr-limesdr/top_block.py", line 235, in
main()
File "/opt/local/share/gnuradio/examples/gr-limesdr/top_block.py", line 223, in main
tb = top_block_cls()
File "/opt/local/share/gnuradio/examples/gr-limesdr/top_block.py", line 161, in init
60)
TypeError: make() takes exactly 3 arguments (26 given)
Done (return code 1)
`
line 161 points to:
`
self.limesdr_source_0_0 = limesdr.source(0,
2,
1,
0,
0,
'',
100.1e6,
samp_rate,
0,
0,
2.6e6,
0,
2.6e6,
1,
1,
1,
0,
1.5e6,
0,
1.5e6,
0,
100e3,
0,
100e3,
60,
60)
self.blocks_multiply_const_vxx_0_1 = blocks.multiply_const_vff((volume, ))
self.audio_sink_0_0 = audio.sink(48000, '', True)
self.analog_wfm_rcv_0_1 = analog.wfm_rcv(
quad_rate=480e3,
audio_decimation=10,
)
`
This is clearly not what is show in the documentation tab:
limesdr_source make(std::string serial, int channel_mode, std::string const & filename) -> source_sptr Return a shared_ptr to a new instance of source. To avoid accidental use of raw pointers, source's constructor is private. limesdr::source::make is the public interface for creating new instances. Params: (serial, channel_mode, filename)
I suspect that I may have some detritus left over from previous installs with the brew package manager? Could this be a version 1 vs 2 issue?
It would be great if there is parameter on sink and/or source block to manually (or semiautomatically) control VCTCXO DAC parameter from GNU radio by user.
PS: I am no programmer, but will try to add this as personal exercise and play with code.
I already downloaded and install gr-lte for gnuradio on ubuntu 16, and i take a look at the example but i don't see nothing about interfacing with an SDR source. Can you help me to catch LTE stream from air with LimeSDR board?
It is no longer possible to use gr-limesdr blocks in GRC or python.
paul@comp22:~/gr-limesdr/examples$ gnuradio-companion signal_analyzer.grc
DEBUG:grc:Loading platform
WARNING:gnuradio.grc.core.platform:Slow YAML loading (libyaml not available)
DEBUG:grc:Loading application
DEBUG:grc:Running
<<< Welcome to GNU Radio Companion 3.8tech-preview-170-g7333f851 >>>
Block paths:
/home/paul/.grc_gnuradio
/usr/local/share/gnuradio/grc/blocks
Loading: "/home/paul/gr-limesdr/examples/signal_analyzer.grc"
Converting from XML
Block id "limesdr_source" not found
Error: 'id'
Failure
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/gnuradio/grc/gui/MainWindow.py", line 261, in new_page
file_path=file_path,
File "/usr/local/lib/python3.5/dist-packages/gnuradio/grc/gui/Notebook.py", line 107, in init
flow_graph.import_data(initial_state)
File "/usr/local/lib/python3.5/dist-packages/gnuradio/grc/core/FlowGraph.py", line 381, in import_data
block.import_data(**block_data)
File "/usr/local/lib/python3.5/dist-packages/gnuradio/grc/core/blocks/block.py", line 344, in import_data
self.params['id'].value = name
KeyError: 'id'
Related to this issue: gnuradio/gnuradio#2039
System is Ubuntu 16.04 LTS, GR is compiled with Python3.5.
Getting this error for some reason, I only just updated the repo and redid the cmake.
Traceback (most recent call last):
File "top_block.py", line 358, in
main()
File "top_block.py", line 346, in main
tb = top_block_cls()
File "top_block.py", line 163, in init
self.limesdr_sink_0 = limesdr.sink('', 0, '', '')
TypeError: make() takes exactly 30 arguments (4 given)
Any clues as too what might be happening?
Ubuntu 16.04, GRC 3.7.10.1-62
See:
https://discourse.myriadrf.org/t/limesdr-usb-inconsistent-configuration-and-sample-rate/6345/3
Perhaps we could grey out all the other settings when an INI file is loaded?
There are some writes to FPGA regs in mini_switch_workaround and set_lna_path_mini - what are those writes for, are they necessary to make the lime mini work? Why is that stuff not part of Limesuite?
Hi,
in your sourcecode "lib/common/device_handler.cc", there is
506 | if (nco_freq > 0)
507 | cmix_mode = 0;
508 | else if (nco_freq < 0)
509 | cmix_mode = 1;
But with my test, it seems be reversed? Are you sure it's correct in your code?
I get
gr-limesdr/swig/limesdr_swig.i:5: Error: Unable to find 'gnuradio.i' make[2]: *** [swig/CMakeFiles/limesdr_swig_swig_compilation.dir/build.make:64: swig/CMakeFiles/limesdr_swig.dir/limesdr_swigPYTHON.stamp] Error 1 make[2]: *** Suppression du fichier « swig/CMakeFiles/limesdr_swig.dir/limesdr_swigPYTHON.stamp » make[1]: *** [CMakeFiles/Makefile2:309: swig/CMakeFiles/limesdr_swig_swig_compilation.dir/all] Error 2
But in /usr/local/include/gnuradio/swig/ the gnuradio.i is present
Hi there,
trying to capture wifi packets with gr-ieee802-11 and my LimeSDR-Mini. I am asked for a Calibration Bandwidth and analog filter bandwidth however these terms aren't referenced anywhere that I can see.
Has anyone attempted to do something similar?
Thanks
pmt is a required component, its exposed in the headers/API and needed by the swig compile
diff --git a/CMakeLists.txt b/CMakeLists.txt
index a5dd8f5..b45581c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -124,7 +124,7 @@ endif(APPLE)
find_package(Doxygen)
MESSAGE(STATUS "Configuring GNU Radio C++ Libraries...")
-set(GR_REQUIRED_COMPONENTS RUNTIME)
+set(GR_REQUIRED_COMPONENTS RUNTIME PMT)
set(MIN_GR_VERSION "3.7.8")
find_package(Gnuradio REQUIRED)
if("${Gnuradio_VERSION}" VERSION_LESS MIN_GR_VERSION)
Installing on an Raspberry Pi 3 according to: https://wiki.myriadrf.org/Gr-limesdr_Plugin_for_GNURadio
and using the PPA install of LimeSuite.
cmake outputs the following
~/gr-limesdr/build $ cmake ..
-- Build type not specified: defaulting to release.
-- Configuring Boost C++ Libraries...
-- Boost version: 1.62.0
-- Found the following Boost libraries:
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Configuring GNU Radio C++ Libraries...
Checking for GNU Radio Module: RUNTIME
* INCLUDES=/usr/include
* LIBS=/usr/lib/arm-linux-gnueabihf/libgnuradio-runtime.so;/usr/lib/arm-linux-gnueabihf/libgnuradio-pmt.so
GNURADIO_RUNTIME_FOUND = TRUE
-- Configuring LimeSuite C++ Libraries...
-- Checking for module 'LimeSuite'
-- No package 'LimeSuite' found
-- Found LimeSuite: /usr/include/lime, /usr/lib/arm-linux-gnueabihf/libLimeSuite.so
--
-- Checking for module SWIG
-- Found SWIG version 3.0.10.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/pi/gr-limesdr/build
make fails with the following
make
[ 5%] Building CXX object lib/CMakeFiles/gnuradio-limesdr.dir/source_impl.cc.o
[ 11%] Building CXX object lib/CMakeFiles/gnuradio-limesdr.dir/sink_impl.cc.o
[ 16%] Building CXX object lib/CMakeFiles/gnuradio-limesdr.dir/common/device_handler.cc.o
/home/pi/gr-limesdr/lib/common/device_handler.cc: In member function ‘void device_handler::set_gain(int, bool, int, unsigned int)’:
/home/pi/gr-limesdr/lib/common/device_handler.cc:769:107: error: ‘LMS_SetGaindB’ was not declared in this scope
r::getInstance().get_device(device_number),direction,channel,gain_dB)!=LMS_SUCCESS)
^
/home/pi/gr-limesdr/lib/common/device_handler.cc:779:101: error: ‘LMS_GetGaindB’ was not declared in this scope
andler::getInstance().get_device(device_number),direction,channel,&gain_value);
^
lib/CMakeFiles/gnuradio-limesdr.dir/build.make:110: recipe for target 'lib/CMakeFiles/gnuradio-limesdr.dir/common/device_handler.cc.o' failed
make[2]: *** [lib/CMakeFiles/gnuradio-limesdr.dir/common/device_handler.cc.o] Error 1
CMakeFiles/Makefile2:135: recipe for target 'lib/CMakeFiles/gnuradio-limesdr.dir/all' failed
make[1]: *** [lib/CMakeFiles/gnuradio-limesdr.dir/all] Error 2
Makefile:138: recipe for target 'all' failed
make: *** [all] Error 2
Closing from the X button.
Following message loops for about 10 sec:
##################
libusb: warning [add_to_flying_list] failed to arm first timerfd (errno 9)
Write(64 bytes) failed
libusb: warning [add_to_flying_list] failed to arm first timerfd (errno 9)
Write(64 bytes) failed
libusb: warning [add_to_flying_list] failed to arm first timerfd (errno 9)
Write(64 bytes) failed
ERROR: Write(64 bytes) failed
##################
libusb: warning [add_to_flying_list] failed to arm first timerfd (errno 9)
Write(64 bytes) failed
Line 73, should be
LimeUtil --find
I.e. no space after the dashes. Not set up to do a PR at the moment.
Can it worked on GNU 3.7.3
(Windows-32bit)?
When I extract the limesdr zip you can see errors like:
element block content does not follow DTD.
no declaration for element
Can I use limesdr mini and gnu on win32?
Hi, cmake reports
GnuRadio version required: >="3.7.8" < "3.8.0" found: "3.8.0.0"
Is there any way to force compiling or i have to wait for a new version to be released ?
txn, Fabio,
In LimeSuite set SXT 1575.42MHz is ok but in gnuradio(gr-limesdr and soapyuhd) will have a
"SetFrequencySXT(1575.42 MHz) - cannot deliver frequency" error
LimeSuite Sink (TX) info
##################
Connecting to device
##################
Devices found: 1
##################
Device list:
Nr.:|0|device:|LimeSDR Mini, media=USB 3.0, module=FT601, addr=24607:1027, serial=1D423421DE7C61
##################
Device number 0 from the list is used.
Reference clock 40.00 MHz
##################
Warning: the blks2.tcp_source block is deprecated.
libusb: warning [libusb_exit] application left some devices open
Neither block, source nor sink, is registered as a throttle block. Therefore, the following warning is issued when generating the python code and no other throttle block is used in the flow graph.
>>> Warning: This flow graph may not have flow control: no audio or RF hardware blocks found. Add a Misc->Throttle block to your flow graph to avoid CPU congestion.
There will be a lot of changes necessary to support GNU-Radio 3.8, currently it is still in development. Documentation to port to 3.8 is provided here.
Right now it doesn't compile(#37) and the block description needs to be changed to yaml(#27).
At minimum, things that will need to be updated/changed are: CMake, python?, xml to yaml, examples.
this compiles on macOS Mojave 10.14.13 and gnuradio installed via Macports, but does not show up under grc
the make install
part seems to need adaptation as files go to /usr/local
any suggestions?
thanks in advance
Michael
When config file is loaded it is not possible to change TX frequency.
config file is generated with LimeSuiteGUI. Config file is nacessary because running GRC without config, TX calibration is performed and calibration fail.
Hey, could you add a release so that will be easier to distribute this software?
Thanks
Hi all,
I am currently getting into Software Defined Radio using the LimeSDR USB Board with GNU Radio. For a research project, I want to be able to transmit a signal over one antenna at around 2.4GHz and receive it over two different antennas (best case: on the same board / okay case: on another board).
I've created a simple flow graph, receiving a transmitted signal over either channel A or B and feeding it into a Time Sink block - which, from my perspective, works as expected. But as soon, as I want to use a LimeSuite Source working on both channels (A+B)MIMO, no signal is received at both channels.
Do I additionally have to tell the board or the flow graph that it is used in MIMO mode now, except changing the LimeSuite Source's channel to (A+B)MIMO?
I know that my usecase is rather SIMO than MIMO, but this shouldn't affect the receiver side, should it?
Is receiving on two antennas on channels A and B even possible with the LimeSuite Source or do I basically misunderstand the concept of "channels"?
Thank you in advance!
How to deal with it??
dell@dell-XPS-15-9550:~$ gnuradio-companion
WARNING:gnuradio.grc.core.platform:Slow YAML loading (libyaml not available)
<<< Welcome to GNU Radio Companion 3.9.0.0-git >>>
Block paths:
/usr/local/share/gnuradio/grc/blocks
Warning: restarting the docstring loader (crashed while loading 'qtgui_bercurve_sink')
Warning: restarting the docstring loader (crashed while loading 'qtgui_const_sink_x')
Warning: restarting the docstring loader (crashed while loading 'qtgui_edit_box_msg')
Warning: restarting the docstring loader (crashed while loading 'qtgui_freq_sink_x')
Warning: restarting the docstring loader (crashed while loading 'qtgui_histogram_sink_x')
Warning: docstring loader crashed too often
Loading: "/home/dell/Downloads/FM_receiver.grc"
Error: mapping values are not allowed here
in "/home/dell/Downloads/FM_receiver.grc", line 117, column 71
Failure
Traceback (most recent call last):
File "/usr/local/lib/python3.6/dist-packages/gnuradio/grc/gui/MainWindow.py", line 264, in new_page
file_path=file_path,
File "/usr/local/lib/python3.6/dist-packages/gnuradio/grc/gui/Notebook.py", line 106, in init
initial_state = flow_graph.parent_platform.parse_flow_graph(file_path)
File "/usr/local/lib/python3.6/dist-packages/gnuradio/grc/core/platform.py", line 337, in parse_flow_graph
data = yaml.safe_load(fp)
File "/usr/lib/python3/dist-packages/yaml/init.py", line 94, in safe_load
return load(stream, SafeLoader)
File "/usr/lib/python3/dist-packages/yaml/init.py", line 72, in load
return loader.get_single_data()
File "/usr/lib/python3/dist-packages/yaml/constructor.py", line 35, in get_single_data
node = self.get_single_node()
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 36, in get_single_node
document = self.compose_document()
File "/usr/lib/python3/dist-packages/yaml/composer.py", line 58, in compose_document
self.get_event()
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 118, in get_event
self.current_event = self.state()
File "/usr/lib/python3/dist-packages/yaml/parser.py", line 193, in parse_document_end
token = self.peek_token()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 128, in peek_token
self.fetch_more_tokens()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 220, in fetch_more_tokens
return self.fetch_value()
File "/usr/lib/python3/dist-packages/yaml/scanner.py", line 576, in fetch_value
self.get_mark())
yaml.scanner.ScannerError: mapping values are not allowed here
in "/home/dell/Downloads/FM_receiver.grc", line 117, column 71
I have created a new module in gnuradio-companion(GRC), the new project is called zzz and adds the module stoo which has been compiled successfully and can generate view modules in GRC.
But when running a simple program including this new mod named stoo in GRC, the error is as follows, I Online access said that the pyc file is asked, but the error path points to the stoloc.py file. This is a python file that is automatically generated by a program running in GRC.
Sincerely ask for help ! Thanks!
Traceback (most recent call last):
File "/home/zhou/Desktop/stoloc.py", line 159, in
main()
File "/home/zhou/Desktop/stoloc.py", line 147, in main
tb = top_block_cls()
File "/home/zhou/Desktop/stoloc.py", line 66, in init
self.zzz_stoo_0 = zzz.stoo(0.25, 0.4, 10, 0.001)
AttributeError: 'module' object has no attribute 'stoo'
Hello,
I seem to be experiencing an issue (on two different hosts/archirectures, using two different LimeSDR USBs) where if the sample rate is set to 2.5e6 or lower then no samples are returned. This was experienced with any use of the LimeSDR RX block with sample rate <=2.5e6. Even some of the example flowgraphs (for example, FM_receiver.grc) do not work because the example sample rates are only 2M by default. However, if the sample rate is set to anything greater than 2.5M (such as 2.51e6) then suddenly samples begin to flow and everything works fine.
Software versions in use:
LimeSuiteGUI 19.01.0 (commit 7557e29)
gr-limesdr 2.0.1 (commit 4125e1f)
Output from flowgraph when it does not work:
---------------------------------------------------------------
LimeSuite Source (RX) info
##################
Connecting to device
##################
Devices found: 2
##################
Device list:
Nr.:|0|device:|LimeSDR-USB, media=USB 3.0, module=FX3, addr=1d50:6108, serial=0009070602500E37
Nr.:|1|device:|Remote, media=TCP, module=Z_Remote
##################
INFO: device_handler::open_device(): no serial number. Using first device in the list. Use "LimeUtil --find" in terminal to find prefered device serial.
##################
Device number 0 from the list is used.
RemoteControl Listening on port: 5000
Reference clock 30.72 MHz
##################
INFO: device_handler::enable_channels(): SISO CH0 set for device number 0.
INFO: device_handler::set_samp_rate(): set sampling rate: 2.5 MS/s.
INFO: device_handler::set_rf_freq(): RF frequency set [RX]: 436 MHz.
RX LPF configured
INFO: device_handler::set_analog_filter(): INFO: device_handler::set_gain(): set gain [RX] CH0: 50 dB.
INFO: device_handler::set_antenna(): CH0 antenna set [RX]: LNAL.
Rx calibration finished
INFO: device_handler::calibrate(): INFO: source_impl::init_stream(): source channel 0 (device nr. 0) stream setup done.
If there's any additional info that could help diagnose this problem please let me know and I will do my best to supply it. Thank you for your time and efforts!
I installed GnuRadio 3.8.1.0 via ppa.
While trying to cmake gr-limesdr I get this:
"-- The CXX compiler identification is GNU 7.4.0
-- The C compiler identification is GNU 7.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Build type not specified: defaulting to release.
-- Configuring Boost C++ Libraries...
-- Looking for pthread.h
-- Looking for pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE
-- Boost version: 1.65.1
-- Found the following Boost libraries:
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.13") found components: doxygen missing components: dot
-- Configuring GNU Radio C++ Libraries...
-- Found LOG4CPP: /usr/lib/x86_64-linux-gnu/liblog4cpp.so
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.29.1")
-- Checking for module 'gmp'
-- No package 'gmp' found
-- Found GMP: /usr/lib/x86_64-linux-gnu/libgmpxx.so
-- Checking for module 'mpir >= 3.0'
-- No package 'mpir' found
-- Could NOT find MPIR (missing: MPIRXX_LIBRARY MPIR_LIBRARY MPIR_INCLUDE_DIR)
-- Found MPLIB: /usr/lib/x86_64-linux-gnu/libgmpxx.so
-- Found VOLK: Volk::volk
CMake Warning (dev) at /usr/local/lib/cmake/gnuradio/GnuradioConfig.cmake:48 (if):
if given arguments:
"ON"
An argument named "ON" appears in a conditional statement. Policy CMP0012
is not set: if() recognizes numbers and boolean constants. Run "cmake
--help-policy CMP0012" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:130 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Warning (dev) in /usr/local/lib/cmake/gnuradio/GnuradioConfig.cmake:
Policy CMP0011 is not set: Included scripts do automatic cmake_policy PUSH
and POP. Run "cmake --help-policy CMP0011" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
The included script
/usr/local/lib/cmake/gnuradio/GnuradioConfig.cmake
affects policy settings. CMake is implying the NO_POLICY_SCOPE option for
compatibility, so the effects are applied to the including context.
Call Stack (most recent call first):
CMakeLists.txt:130 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
CMake Error at CMakeLists.txt:133 (MESSAGE):
GnuRadio version required: >="3.7.8" < "3.8.0" found: "3.8.1.0"
-- Configuring incomplete, errors occurred!
See also "/home/rush/gr-limesdr/build/CMakeFiles/CMakeOutput.log".
See also "/home/rush/gr-limesdr/build/CMakeFiles/CMakeError.log".
"
Will there be a release for GnuRadio 3.8.1.0. in the next time? Or is there any other way to compile it for GnuRadio 3.8.1.0 ?
I installed limesuite from pybombs (example: pybombs -p myprefix install limesuite) that means that CMakeLists.txt could not find LIMESUITE_INCLUDE_DIRS, so I added a line to this code snippet:
find_path(LIMESUITE_INCLUDE_DIRS
NAMES LimeSuite.h
PATHS ${LIMESUITE_PKG_INCLUDE_DIRS}
/usr/include/lime
/usr/local/include/lime
${CMAKE_INSTALL_PREFIX}/include/lime
)
I see that there is a function called “disable_DC_corrections” in device_handler.cc; however, that is not implemented in the python wrapper for the “sink” object. It would help me immensely if that is added.
I’m not requesting that be added to the block in GRC (that would be cool though). I can manually add the command in the GRC generated python code, so hopefully this doesn’t require a lot of work!
Tx Block(Sink) does not support sample rate above the 2MHz
Hello,
I've tried testing the gr-limesdr plugin, have all the required utilities but for some reason it throws a Python error when using the FM_receiver.grc example.
Traceback (most recent call last):
File "/home/.../gr-limesdr/examples/top_block.py", line 232, in <module>
main()
File "/home/.../gr-limesdr/examples/top_block.py", line 226, in main
tb = top_block_cls()
File "/home/.../gr-limesdr/examples/top_block.py", line 149, in __init__
self.limesdr_source_0_0 = limesdr.source('device-serial',
AttributeError: 'module' object has no attribute 'source'
I'm using GNU Radio Companion 3.7.11 on Ubuntu 18.04 with Python 2.7.15rc1. Do you know what could cause this? It doesn't seem like an issue with hardware or GNU Radio but maybe a version mismatch? Maybe the one I have expects blocks to follow a different API.
cmake (ok)
make ...:
[ 56%] Swig source
/home/gufo/Scrivania/gr-limesdr/swig/limesdr_swig.i:5: Error: Unable to find 'gnuradio.i'
make[2]: *** [swig/CMakeFiles/limesdr_swig_swig_compilation.dir/build.make:64: swig/CMakeFiles/limesdr_swig.dir/limesdr_swigPYTHON.stamp] Error 1
make[2]: *** Eliminazione del file "swig/CMakeFiles/limesdr_swig.dir/limesdr_swigPYTHON.stamp"
make[1]: *** [CMakeFiles/Makefile2:309: swig/CMakeFiles/limesdr_swig_swig_compilation.dir/all] Error 2
make: *** [Makefile:141: all] Error 2
gufo@meo:~/Scrivania/gr-limesdr/bu$
I have created a new module in gnuradio-companion(GRC), the new project is called zzz and adds the module stoo which has been compiled successfully and can generate view modules in GRC.
But when running a simple program including this new mod named stoo in GRC, the error is as follows, I Online access said that the pyc file is asked, but the error path points to the stoloc.py file. This is a python file that is automatically generated by a program running in GRC.
Sincerely ask for help ! Thanks!
Traceback (most recent call last):
File "/home/zhou/Desktop/stoloc.py", line 159, in
main()
File "/home/zhou/Desktop/stoloc.py", line 147, in main
tb = top_block_cls()
File "/home/zhou/Desktop/stoloc.py", line 66, in init
self.zzz_stoo_0 = zzz.stoo(0.25, 0.4, 10, 0.001)
AttributeError: 'module' object has no attribute 'stoo'
Sink exit should disable the transmitter.
Hi all,
I have already reported this on MyriadRF discourse, but maybe this is more official way, so just in case I will repeat it here as well.
I have tested gr-limesdr in full MIMO configuration (transmitting BPSK signals at two different frequencies with both TX channels and receiving them at the same time at the same frequencies with both RX channels) and found some obvious bugs in NCO offsets implementation.
I’ve been using sample rate of 6 MHz, center frequency of 2.44 GHz, NCO offsets of -2MHz and +2MHz for channels 0 and 1, respectively. Expected signal is shown in a picture below:
However, with spectrum analyzer I saw only signal from TX channel 1 actually present over-the-air, and none of the signals was correctly received.
All this works just fine with UHD and Osmocom blocks, so this is obviously gr-limesdr issue.
When generating a flow graph within GRC, if CH0 is set to "B" in SISO mode, the generated code has "0" (Channel 0, or A) hard coded into all callback functions. This prevents any GRC generated code from modifying Channel B parameters while the flow graph is running. Manual editing of the code is required
Example to reproduce:
Using the signal_generator.grc example flow graph from gr-limesdr, change CH0 to "B" and attempt to run and adjust any channel specific parameters while running (TX Gain for example).
I'm trying to get the FM TX example working, but I get this error message:
Executing: /usr/bin/python2 /home/leon/Desktop/top_block.py
Error: failed to enable real-time scheduling.
Traceback (most recent call last):
File "/home/leon/Desktop/top_block.py", line 91, in <module>
main()
File "/home/leon/Desktop/top_block.py", line 85, in main
tb = top_block_cls()
File "/home/leon/Desktop/top_block.py", line 61, in __init__
60)
TypeError: make() takes exactly 4 arguments (26 given)
I know it has something to do with older versions, I also installed the package into /usr/local/ but it didn't help.
I'm trying to build gr-limesdr on OSX after upgrading to Mojave and Xcode 10.1 (10B61), then removing all homebrew and port installs then reinstalling GNURadio from scratch with MacPorts to clean-up tons of conflicts I'd built-up. I've done the usual git, mkdir build, cmake .. two-step but was receiving an error from cmake:
`
Scott-OSX:build scott$ cmake ..
-- Build type not specified: defaulting to release.
-- Configuring Boost C++ Libraries...
CMake Error at /opt/local/share/cmake-3.13/Modules/FindBoost.cmake:1357 (file):
file STRINGS file "/usr/local/include/boost/version.hpp" cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:74 (find_package)
-- Could NOT find Boost
CMake Error at CMakeLists.txt:77 (message):
Boost required to compile limesdr
-- Configuring incomplete, errors occurred!
See also "/Users/scott/WIP/gr-limesdr/build/CMakeFiles/CMakeOutput.log".
See also "/Users/scott/WIP/gr-limesdr/build/CMakeFiles/CMakeError.log".
`
After reviewing the port boost version:
`
Scott-OSX:build scott$ port info boost
boost @1.66.0_3 (devel)
Sub-ports: boost-numpy
Variants: clang33, clang34, clang37, clang38, clang39, clang40, clang50, clang60, clang70, debug, mpich,
mpich_devel, [+]no_single, [+]no_static, openmpi, openmpi_devel, python26, [+]python27, python33,
python34, python35, python36, python37, regex_match_extra, universal
Description: Boost provides free portable peer-reviewed C++ libraries. The emphasis is on portable libraries
which work well with the C++ Standard Library.
Homepage: http://www.boost.org
Library Dependencies: zlib, expat, bzip2, libiconv, icu, python27
Platforms: darwin
License: Boost-1
Maintainers: Email: [email protected], GitHub: ryandesign
Email: [email protected], GitHub: michaelld
Policy: openmaintainer
'
After seeing that the boost version is "@1.66.0_3 (devel)", I edited the cmake file at line 64 to read (note the addition of "1.66.0_3" that matches what my version of boot reported):
set(Boost_ADDITIONAL_VERSIONS "1.35.0" "1.35" "1.36.0" "1.36" "1.37.0" "1.37" "1.38.0" "1.38" "1.39.0" "1.39" "1.40.0" "1.40" "1.41.0" "1.41" "1.42.0" "1.42" "1.43.0" "1.43" "1.44.0" "1.44" "1.45.0" "1.45" "1.46.0" "1.46" "1.47.0" "1.47" "1.48.0" "1.48" "1.49.0" "1.49" "1.50.0" "1.50" "1.51.0" "1.51" "1.52.0" "1.52" "1.53.0" "1.53" "1.54.0" "1.54" "1.55.0" "1.55" "1.56.0" "1.56" "1.57.0" "1.57" "1.58.0" "1.58" "1.59.0" "1.59" "1.60.0" "1.60" "1.61.0" "1.61" "1.62.0" "1.62" "1.63.0" "1.63" "1.64.0" "1.64" "1.65.0" "1.65" "1.66.0" "1.66" "1.67.0" "1.67" "1.68.0" "1.68" "1.69.0" "1.69" "1.66.0_3" )
And it seemed to compile with modest warnings:
'
Scott-OSX:build scott$ cmake ..
-- Build type not specified: defaulting to release.
-- Configuring Boost C++ Libraries...
CMake Error at /opt/local/share/cmake-3.13/Modules/FindBoost.cmake:1357 (file):
file STRINGS file "/usr/local/include/boost/version.hpp" cannot be read.
Call Stack (most recent call first):
CMakeLists.txt:74 (find_package)
-- Could NOT find Boost
CMake Error at CMakeLists.txt:77 (message):
Boost required to compile limesdr
-- Configuring incomplete, errors occurred!
See also "/Users/scott/WIP/gr-limesdr/build/CMakeFiles/CMakeOutput.log".
See also "/Users/scott/WIP/gr-limesdr/build/CMakeFiles/CMakeError.log".
Scott-OSX:build scott$ cmake ..
-- Build type not specified: defaulting to release.
-- Configuring Boost C++ Libraries...
-- Boost version: 1.66.0
-- Found the following Boost libraries:
-- thread
-- system
-- chrono
-- date_time
-- atomic
-- Found Doxygen: /opt/local/bin/doxygen (found version "1.8.14") found components: doxygen dot
-- Configuring GNU Radio C++ Libraries...
Checking for GNU Radio Module: RUNTIME
For compatibility with older versions of CMake, the install_name fields for
the following targets are still affected by RPATH settings:
gnuradio-limesdr
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done
-- Build files have been written to: /Users/scott/WIP/gr-limesdr/build
Scott-OSX:build scott$
`
When I go to make the file I then get what looks like a real error:
`
Scott-OSX:build scott$ make
Scanning dependencies of target gnuradio-limesdr
[ 4%] Building CXX object lib/CMakeFiles/gnuradio-limesdr.dir/source_impl.cc.o
In file included from /Users/scott/WIP/gr-limesdr/lib/source_impl.cc:25:
In file included from /opt/local/include/gnuradio/io_signature.h:27:
In file included from /opt/local/include/gnuradio/runtime_types.h:27:
In file included from /opt/local/include/gnuradio/types.h:27:
In file included from /opt/local/include/boost/shared_ptr.hpp:17:
In file included from /opt/local/include/boost/smart_ptr/shared_ptr.hpp:17:
In file included from /opt/local/include/boost/config.hpp:57:
In file included from /opt/local/include/boost/config/platform/macos.hpp:28:
/opt/local/include/boost/config/detail/posix_features.hpp:18:15: fatal error: 'unistd.h' file not found
'# include <unistd.h>
' ^~~~~~~~~~
1 error generated.
make[2]: *** [lib/CMakeFiles/gnuradio-limesdr.dir/source_impl.cc.o] Error 1
make[1]: *** [lib/CMakeFiles/gnuradio-limesdr.dir/all] Error 2
make: *** [all] Error 2
`
Not sure best practices for cmake, etc. Am I supposed to force the latest version in port, tell cmake to just live with my version, etc? Will I regret building from a dev boost, what's the best way to handle this type of issue, etc? Mostly putting this here as a note in a bottle for the next person. I did see similar issues on my Linux box. Regardless of my likely self-inflicted install wounds, I'm really enjoying LimeSDR and the new driver, thanks team. (PS would greatly value control of GPIOs)
-scott
Toggling the AGC would seem like a popular setting and suggest we add a checkbox for this.
we have this repo
we have the Soapy driver as outlined here: https://discourse.myriadrf.org/t/guide-gnuradio-and-gqrx-with-limesdr-mini-on-macos-10-13/2702
which one is preferrable? why?
thanks in advance
Michael
Wondering if there are any debian packages to install gr-limesdr. I can compile from source, but prefer to use to package for automated installation.
I already have GNU Radio installed using apt install gnuradio
https://gist.github.com/wgaylord/03bd87b234ca20490e9a3e3e13eb5b6b
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.