Thread: [Gnss-sdr-developers] Getting gnss-sdr working with ADALM-Pluto
An open source software-defined GNSS receiver
Brought to you by:
carlesfernandez
From: Will S. <wsi...@go...> - 2022-06-29 00:08:59
|
Hi, I'm trying to get gnss-sdr working with ADALM-Pluto as an input source. I built and installed gnss-sdr with -DENABLE_PLUTOSDR as described here <https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-plutosdr_signal_source>, but get this error: plutosdr_signal_source.h:28:10: fatal error: gnuradio/iio/pluto_source.h: No such file or directory 28 | #include <gnuradio/iio/pluto_source.h> As pluto_source.h doesn't exist in gnuradio/gr-iio/include/gnuradio/iio/ <https://github.com/gnuradio/gnuradio/tree/main/gr-iio/include/gnuradio/iio>, I tried installing https://github.com/analogdevicesinc/gr-iio directly (which required downgrading gnuradio to v3.8), following https://wiki.analog.com/resources/tools-software/linux-software/gnuradio. But this results in the same error about missing pluto_source.h. I also found in cmake/Modules/FindGNURADIO <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> that gr-iio is only included in gnss-sdr if the installed gnuradio version is >3.8.99. So it seems like installing the standalone gr-iio requires gnuradio v3.8, while gnss-sdr is requiring v>3.8.99. I tried removing the >3.8.99 restriction, but this just leads to more errors, and I suspect I'm going the wrong way: plutosdr_signal_source.cc: In member function ‘virtual void PlutosdrSignalSource::connect(gr::top_block_sptr)’: pllutosdr_signal_source.cc:174:31: error: no matching function for call to ‘gr::top_block::connect(gr::iio::fmcomms2_source<std::complex<float> >::sptr&, int, gnss_shared_ptr<gr::block>&, int)’ 174 | top_block->connect(plutosdr_source_, 0, valve_, 0); Any idea what I might be missing here? I suspect the documentation about using the pluto signal source <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> is incorrect in saying the gr-iio component in gnuradio is ready to go, since it doesn't actually include the relevant headers. Thank you! Will |
From: Will S. <wsi...@go...> - 2022-06-29 18:47:07
|
Following up on this - I may have made some progress since asking this question yesterday. I decided to try installing the most recent version of gnuradio, and then installing gr-iio separately, and along with a few other minor changes, gnss-sdr seems to now compile without issue. I'm still working on running it with the pluto device as input. As for the changes I needed to make: - Instances of 'boost::shared_ptr' in gr-iio needed to be switched to 'std::shared_ptr'. - Remove subdirectory python/iio from gr-iio build - GNURADIO_API_IIO needed to be switched to 'FALSE' in gnss-sdr/CMakeLists.txt <https://github.com/gnss-sdr/gnss-sdr/blob/main/CMakeLists.txt#L3039>. Once I verify gnss-sdr is running as expected with pluto I'll look into updating the code and documentation. Thanks again, Will On Tue, Jun 28, 2022 at 4:44 PM Will Silberman <wsi...@go...> wrote: > Hi, > > I'm trying to get gnss-sdr working with ADALM-Pluto as an input source. I > built and installed gnss-sdr with -DENABLE_PLUTOSDR as described here > <https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-plutosdr_signal_source>, > but get this error: > > plutosdr_signal_source.h:28:10: fatal error: gnuradio/iio/pluto_source.h: > No such file or directory > 28 | #include <gnuradio/iio/pluto_source.h> > > As pluto_source.h doesn't exist in gnuradio/gr-iio/include/gnuradio/iio/ > <https://github.com/gnuradio/gnuradio/tree/main/gr-iio/include/gnuradio/iio>, > I tried installing https://github.com/analogdevicesinc/gr-iio directly > (which required downgrading gnuradio to v3.8), following > https://wiki.analog.com/resources/tools-software/linux-software/gnuradio. > But this results in the same error about missing pluto_source.h. > > I also found in cmake/Modules/FindGNURADIO > <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> that gr-iio is only > included in gnss-sdr if the installed gnuradio version is >3.8.99. So it > seems like installing the standalone gr-iio requires gnuradio v3.8, while > gnss-sdr is requiring v>3.8.99. > > I tried removing the >3.8.99 restriction, but this just leads to more > errors, and I suspect I'm going the wrong way: > > plutosdr_signal_source.cc: In member function ‘virtual void > PlutosdrSignalSource::connect(gr::top_block_sptr)’: > pllutosdr_signal_source.cc:174:31: error: no matching function for call to > ‘gr::top_block::connect(gr::iio::fmcomms2_source<std::complex<float> > >::sptr&, int, gnss_shared_ptr<gr::block>&, int)’ > 174 | top_block->connect(plutosdr_source_, 0, valve_, 0); > > Any idea what I might be missing here? I suspect the documentation about > using the pluto signal source > <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> is incorrect in saying > the gr-iio component in gnuradio is ready to go, since it doesn't actually > include the relevant headers. > > Thank you! > Will > |
From: Cinaed S. <cin...@gm...> - 2022-06-30 01:36:50
|
Hi Will - I'm running gnuradio-3.10 and I was able to run pluto by installing libad9361-dev apt install libad9361-dev There was no longer a need to install pluto and gr-iio OOT from source - like I had to do running gnuradio-3.8 - pluto is support by gnuradio-10. I'm running Debian bookworm - or version 12. -- Cinaed On 6/29/22 11:46, Will Silberman via GNSS-SDR-developers wrote: > Following up on this - I may have made some progress since asking this > question yesterday. > > I decided to try installing the most recent version of gnuradio, and > then installing gr-iio separately, and along with a few other minor > changes, gnss-sdr seems to now compile without issue. I'm still > working on running it with the pluto device as input. > > As for the changes I needed to make: > - Instances of 'boost::shared_ptr' in gr-iio needed to be switched to > 'std::shared_ptr'. > - Remove subdirectory python/iio from gr-iio build > - GNURADIO_API_IIO needed to be switched to 'FALSE' in > gnss-sdr/CMakeLists.txt > <https://github.com/gnss-sdr/gnss-sdr/blob/main/CMakeLists.txt#L3039>. > > Once I verify gnss-sdr is running as expected with pluto I'll look > into updating the code and documentation. > > Thanks again, > Will > > On Tue, Jun 28, 2022 at 4:44 PM Will Silberman <wsi...@go...> > wrote: > > Hi, > > I'm trying to get gnss-sdr working with ADALM-Pluto as an input > source. I built and installed gnss-sdr with -DENABLE_PLUTOSDR as > described here > <https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-plutosdr_signal_source>, > but get this error: > > plutosdr_signal_source.h:28:10: fatal error: > gnuradio/iio/pluto_source.h: No such file or directory > 28 | #include <gnuradio/iio/pluto_source.h> > > As pluto_source.h doesn't exist in > gnuradio/gr-iio/include/gnuradio/iio/ > <https://github.com/gnuradio/gnuradio/tree/main/gr-iio/include/gnuradio/iio>, > I tried installing > https://github.com/analogdevicesinc/gr-iio directly (which > required downgrading gnuradio to v3.8), following > https://wiki.analog.com/resources/tools-software/linux-software/gnuradio. > But this results in the same error about missing pluto_source.h. > > I also found in cmake/Modules/FindGNURADIO > <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> that gr-iio is > only included in gnss-sdr if the installed gnuradio version is > >3.8.99. So it seems like installing the standalone gr-iio > requires gnuradio v3.8, while gnss-sdr is requiring v>3.8.99. > > I tried removing the >3.8.99 restriction, but this just leads to > more errors, and I suspect I'm going the wrong way: > > plutosdr_signal_source.cc: In member function ‘virtual void > PlutosdrSignalSource::connect(gr::top_block_sptr)’: > pllutosdr_signal_source.cc:174:31: error: no matching function for > call to > ‘gr::top_block::connect(gr::iio::fmcomms2_source<std::complex<float> > >::sptr&, int, gnss_shared_ptr<gr::block>&, int)’ > 174 | top_block->connect(plutosdr_source_, 0, valve_, 0); > > Any idea what I might be missing here? I suspect the documentation > about using the pluto signal source > <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> is incorrect in > saying the gr-iio component in gnuradio is ready to go, since it > doesn't actually include the relevant headers. > > Thank you! > Will > > > > _______________________________________________ > GNSS-SDR-developers mailing list > GNS...@li... > https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers |
From: Will S. <wsi...@go...> - 2022-07-11 20:19:19
|
Thank you Cinaed! I've been working with gnuradio-3.8 for the time being, but I'm now coming back to try with maint-3.10. After another try I was able to build with 3.10, but using the example config file <https://github.com/gnss-sdr/gnss-sdr/blob/main/conf/gnss-sdr_GPS_L1_plutosdr_realtime.conf> I get a seg fault. To be clear, you were able to run gnss-sdr with pluto without issue? I'm able to trace the seg fault back to this volk function <https://github.com/gnuradio/volk/blob/237a6fc9242ea8c48d2bbd417a6ea14feaf7314a/kernels/volk/volk_16i_s32f_convert_32f.h#L81>, where I found inputPtr is invalid. The volk function is called from here <https://github.com/gnuradio/gnuradio/blob/b44e28a8e5041dcb22812a8c514bcc0d88857150/gr-iio/lib/fmcomms2_source_impl.cc#L247> - which seems to be assuming there are two channels, while for pluto, total_channels=1. Note the d_device_buf array is populated here <https://github.com/gnuradio/gnuradio/blob/b44e28a8e5041dcb22812a8c514bcc0d88857150/gr-iio/lib/device_source_impl.cc#L312>, which seems to assume output_items.size=channel_list.size. I'm continuing to work with 3.8 for the time being, curious if anyone's run into or has thoughts on the issue I'm seeing. Thanks again! Will On Wed, Jun 29, 2022 at 6:37 PM Cinaed Simson <cin...@gm...> wrote: > Hi Will - I'm running gnuradio-3.10 and I was able to run pluto by > installing libad9361-dev > > apt install libad9361-dev > > There was no longer a need to install pluto and gr-iio OOT from source - > like I had to do running gnuradio-3.8 - pluto is support by gnuradio-10. > > I'm running Debian bookworm - or version 12. > > -- Cinaed > > On 6/29/22 11:46, Will Silberman via GNSS-SDR-developers wrote: > > Following up on this - I may have made some progress since asking this > question yesterday. > > I decided to try installing the most recent version of gnuradio, and then > installing gr-iio separately, and along with a few other minor changes, > gnss-sdr seems to now compile without issue. I'm still working on running > it with the pluto device as input. > > As for the changes I needed to make: > - Instances of 'boost::shared_ptr' in gr-iio needed to be switched to > 'std::shared_ptr'. > - Remove subdirectory python/iio from gr-iio build > - GNURADIO_API_IIO needed to be switched to 'FALSE' in > gnss-sdr/CMakeLists.txt > <https://github.com/gnss-sdr/gnss-sdr/blob/main/CMakeLists.txt#L3039>. > > Once I verify gnss-sdr is running as expected with pluto I'll look > into updating the code and documentation. > > Thanks again, > Will > > On Tue, Jun 28, 2022 at 4:44 PM Will Silberman <wsi...@go...> > wrote: > >> Hi, >> >> I'm trying to get gnss-sdr working with ADALM-Pluto as an input source. I >> built and installed gnss-sdr with -DENABLE_PLUTOSDR as described here >> <https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-plutosdr_signal_source>, >> but get this error: >> >> plutosdr_signal_source.h:28:10: fatal error: gnuradio/iio/pluto_source.h: >> No such file or directory >> 28 | #include <gnuradio/iio/pluto_source.h> >> >> As pluto_source.h doesn't exist in gnuradio/gr-iio/include/gnuradio/iio/ >> <https://github.com/gnuradio/gnuradio/tree/main/gr-iio/include/gnuradio/iio>, >> I tried installing https://github.com/analogdevicesinc/gr-iio directly >> (which required downgrading gnuradio to v3.8), following >> https://wiki.analog.com/resources/tools-software/linux-software/gnuradio. >> But this results in the same error about missing pluto_source.h. >> >> I also found in cmake/Modules/FindGNURADIO >> <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> that gr-iio is only >> included in gnss-sdr if the installed gnuradio version is >3.8.99. So it >> seems like installing the standalone gr-iio requires gnuradio v3.8, while >> gnss-sdr is requiring v>3.8.99. >> >> I tried removing the >3.8.99 restriction, but this just leads to more >> errors, and I suspect I'm going the wrong way: >> >> plutosdr_signal_source.cc: In member function ‘virtual void >> PlutosdrSignalSource::connect(gr::top_block_sptr)’: >> pllutosdr_signal_source.cc:174:31: error: no matching function for call >> to ‘gr::top_block::connect(gr::iio::fmcomms2_source<std::complex<float> >> >::sptr&, int, gnss_shared_ptr<gr::block>&, int)’ >> 174 | top_block->connect(plutosdr_source_, 0, valve_, 0); >> >> Any idea what I might be missing here? I suspect the documentation about >> using the pluto signal source >> <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> is incorrect in >> saying the gr-iio component in gnuradio is ready to go, since it doesn't >> actually include the relevant headers. >> >> Thank you! >> Will >> > > > _______________________________________________ > GNSS-SDR-developers mailing lis...@li...https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers > > > _______________________________________________ > GNSS-SDR-developers mailing list > GNS...@li... > https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers > |
From: Cinaed S. <cin...@gm...> - 2022-07-13 07:41:04
|
I'm not using pluto for gnss-sdr - I'm using the pluto for other things. I'm only indicating if you're using gnuradio-3.10 you don't need to install anything to use pluto except libad9361-dev. The code need for pluto is in libad9361-dev - gr-iio is included in the release of gnuradio 3.10. That is, gr-iio is no longer an OOT module. If you have the source code for gnuradio-3.10 then the code for gr-iio is in a subdirectory of gnuradio-3.10. -- CInaed On 7/11/22 13:19, Will Silberman wrote: > Thank you Cinaed! I've been working with gnuradio-3.8 for the time > being, but I'm now coming back to try with maint-3.10. > > After another try I was able to build with 3.10, but using the example > config file > <https://github.com/gnss-sdr/gnss-sdr/blob/main/conf/gnss-sdr_GPS_L1_plutosdr_realtime.conf> > I get a seg fault. To be clear, you were able to run gnss-sdr with > pluto without issue? > > I'm able to trace the seg fault back to this volk function > <https://github.com/gnuradio/volk/blob/237a6fc9242ea8c48d2bbd417a6ea14feaf7314a/kernels/volk/volk_16i_s32f_convert_32f.h#L81>, > where I found inputPtr is invalid. The volk function is called from > here > <https://github.com/gnuradio/gnuradio/blob/b44e28a8e5041dcb22812a8c514bcc0d88857150/gr-iio/lib/fmcomms2_source_impl.cc#L247> - > which seems to be assuming there are two channels, while for pluto, > total_channels=1. Note the d_device_buf array is populated here > <https://github.com/gnuradio/gnuradio/blob/b44e28a8e5041dcb22812a8c514bcc0d88857150/gr-iio/lib/device_source_impl.cc#L312>, > which seems to assume output_items.size=channel_list.size. > > I'm continuing to work with 3.8 for the time being, curious if > anyone's run into or has thoughts on the issue I'm seeing. > > Thanks again! > Will > > On Wed, Jun 29, 2022 at 6:37 PM Cinaed Simson > <cin...@gm...> wrote: > > Hi Will - I'm running gnuradio-3.10 and I was able to run pluto > by installing libad9361-dev > > apt install libad9361-dev > > There was no longer a need to install pluto and gr-iio OOT from > source - like I had to do running gnuradio-3.8 - pluto is support > by gnuradio-10. > > I'm running Debian bookworm - or version 12. > > -- Cinaed > > On 6/29/22 11:46, Will Silberman via GNSS-SDR-developers wrote: >> Following up on this - I may have made some progress since asking >> this question yesterday. >> >> I decided to try installing the most recent version of gnuradio, >> and then installing gr-iio separately, and along with a few other >> minor changes, gnss-sdr seems to now compile without issue. I'm >> still working on running it with the pluto device as input. >> >> As for the changes I needed to make: >> - Instances of 'boost::shared_ptr' in gr-iio needed to be >> switched to 'std::shared_ptr'. >> - Remove subdirectory python/iio from gr-iio build >> - GNURADIO_API_IIO needed to be switched to 'FALSE' in >> gnss-sdr/CMakeLists.txt >> <https://github.com/gnss-sdr/gnss-sdr/blob/main/CMakeLists.txt#L3039>. >> >> Once I verify gnss-sdr is running as expected with pluto I'll >> look into updating the code and documentation. >> >> Thanks again, >> Will >> >> On Tue, Jun 28, 2022 at 4:44 PM Will Silberman >> <wsi...@go...> wrote: >> >> Hi, >> >> I'm trying to get gnss-sdr working with ADALM-Pluto as an >> input source. I built and installed gnss-sdr with >> -DENABLE_PLUTOSDR as described here >> <https://gnss-sdr.org/docs/sp-blocks/signal-source/#implementation-plutosdr_signal_source>, >> but get this error: >> >> plutosdr_signal_source.h:28:10: fatal error: >> gnuradio/iio/pluto_source.h: No such file or directory >> 28 | #include <gnuradio/iio/pluto_source.h> >> >> As pluto_source.h doesn't exist in >> gnuradio/gr-iio/include/gnuradio/iio/ >> <https://github.com/gnuradio/gnuradio/tree/main/gr-iio/include/gnuradio/iio>, >> I tried installing >> https://github.com/analogdevicesinc/gr-iio directly (which >> required downgrading gnuradio to v3.8), following >> https://wiki.analog.com/resources/tools-software/linux-software/gnuradio. >> But this results in the same error about missing pluto_source.h. >> >> I also found in cmake/Modules/FindGNURADIO >> <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> that >> gr-iio is only included in gnss-sdr if the installed gnuradio >> version is >3.8.99. So it seems like installing the >> standalone gr-iio requires gnuradio v3.8, while gnss-sdr is >> requiring v>3.8.99. >> >> I tried removing the >3.8.99 restriction, but this just leads >> to more errors, and I suspect I'm going the wrong way: >> >> plutosdr_signal_source.cc: In member function ‘virtual void >> PlutosdrSignalSource::connect(gr::top_block_sptr)’: >> pllutosdr_signal_source.cc:174:31: error: no matching >> function for call to >> ‘gr::top_block::connect(gr::iio::fmcomms2_source<std::complex<float> >> >::sptr&, int, gnss_shared_ptr<gr::block>&, int)’ >> 174 | top_block->connect(plutosdr_source_, 0, valve_, 0); >> >> Any idea what I might be missing here? I suspect the >> documentation about using the pluto signal source >> <https://github.com/gnss-sdr/gnss-sdr/blob/main/c> is >> incorrect in saying the gr-iio component in gnuradio is ready >> to go, since it doesn't actually include the relevant headers. >> >> Thank you! >> Will >> >> >> >> _______________________________________________ >> GNSS-SDR-developers mailing list >> GNS...@li... >> https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers > > _______________________________________________ > GNSS-SDR-developers mailing list > GNS...@li... > https://lists.sourceforge.net/lists/listinfo/gnss-sdr-developers > |