myriadrf / gr-limesdr

gr-limesdr Plugin for GNURadio
Other
142 stars 77 forks source link

Migrate to support GNU Radio 3.9 #77

Closed NZSmartie closed 1 year ago

NZSmartie commented 3 years ago

Migrates this Out of Tree module to support GNU Radio 3.9. Following GNU Radio 3.9 OOT Module Porting Guide Based on @chrisjohgorman's initial work (really appreciated btw!)

I've tested this with a LimeSDR-mini with the source module, however I have not tested the sink, yet. As I don't have a project ready to go.

I think some more testing would be in order. I haven't properly tested the RFE block, but it seems to behave as intended.

Closes #75

dennisog commented 2 years ago

I attempted to run this with the sink and have two takeaways:

  1. This line contains a bug that prevents GRC from generating the Python code. It should be #endif instead of #end if.
  2. I fixed 1. and attempted to run a two-radio loopback (TX of radio 1 plugged into RX of radio 2), but it seems that the samples don't make it to the transmitter, i.e., the sink block is consuming, but the radio is not transmitting. So there might still be an issue with the sink.
daniestevez commented 2 years ago

I have tested this and found some more problems with the GRC YML files. I have fixed them in the gr39 branch of my fork.

I've tested that the LimeSDR Source works well, both in SISO and MIMO modes. I haven't tested the LimeSDR Sink, but the generated Python code looks reasonable.

dennisog commented 2 years ago

I have tested this and found some more problems with the GRC YML files. I have fixed them in the gr39 branch of my fork.

I've tested that the LimeSDR Source works well, both in SISO and MIMO modes. I haven't tested the LimeSDR Sink, but the generated Python code looks reasonable.

I just ran your gr39 branch with source and sink (haven't tried MIMO) and the sink works!

df7cb commented 2 years ago

To support GNUradio 3.10 in the gr-limesdr Debian package, I pulled the changes from https://github.com/daniestevez/gr-limesdr/tree/gr39. The module works fine for me, receiving and transmitting on QO-100. Please consider merging that.

One odd point in there is that it's rewinding the soname of the module to 1.0.0, I put an extra patch on top to restore the old 3.0.1:

Revert unwanted soname change from the ea4gpz-gr39 patch

--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,10 +30,10 @@ set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE}
 list(INSERT CMAKE_MODULE_PATH 0 ${CMAKE_SOURCE_DIR}/cmake/Modules)

 # Set the version information here
-set(VERSION_MAJOR 1)
+set(VERSION_MAJOR 3)
 set(VERSION_API   0)
-set(VERSION_ABI   0)
-set(VERSION_PATCH git)
+set(VERSION_ABI   1)
+#set(VERSION_PATCH git)

 cmake_policy(SET CMP0011 NEW)
df7cb commented 2 years ago

Hmm. I just realized that this PR is based on the master branch which is supposed to target GNU Radio 3.7. Actual development happens in the gr-3.8 branch now. Unfortunately master and the gr-3.8 branch have diverged enough such that rebasing this PR to gr-3.8 will be nontrivial.

Any takers?

chrisjohgorman commented 2 years ago

Hi Christoph,

My contribution to gr-limesdr was an attempt to port it from 3.8 to 3.9. I did this when I thought I would buy a limesdr, but have since allocated the funds to another project. All my efforts were done by referencing https://wiki.gnuradio.org/index.php/GNU_Radio_3.9_OOT_Module_Porting_Guide . I will do as you suggest and merge my branch with that of daniestevez. That way if folks are trying to build gr-limesdr for gnuradio they can get working code. Thanks for the update.

Take care.

Chris

On Sun, Jan 23, 2022 at 5:20 PM Christoph Berg @.***> wrote:

Hmm. I just realized that this PR is based on the master branch which is supposed to target GNU Radio 3.7. Actual development happens in the gr-3.8 branch now. Unfortunately master and the gr-3.8 branch have diverged enough such that rebasing this PR to gr-3.8 will be nontrivial.

Any takers?

— Reply to this email directly, view it on GitHub https://github.com/myriadrf/gr-limesdr/pull/77#issuecomment-1019579220, or unsubscribe https://github.com/notifications/unsubscribe-auth/AG76X4YUR2PJZSENCO4COL3UXR5LZANCNFSM47NXPPDQ . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.

You are receiving this because you were mentioned.Message ID: @.***>

ncorgan commented 1 year ago

I built and ran this locally. So far, looks good.

As a pull request, I'm going to close this, as rather than merging this into master, this will be a new gr-3.9 branch. It will be off the latest commit in the pull request, so all your work will still be attributed.