myriadrf / gr-limesdr

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

Update to new API #94

Closed DominykasPetke closed 6 months ago

DominykasPetke commented 6 months ago

Note: This requires changes from the main LimeSuite repository as well (https://github.com/myriadrf/LimeSuite/pull/411)

9600 commented 6 months ago

@DominykasPetke @rjonaitis This is potentially going to introduce the same sort of issues that users would experience if we simply switched the existing Lime Suite repo to using the new API. Downstream projects, such as Linux distros, package this and if we tag a new gr-limesdr release, they will distribute it, but it would need limesuiteng as a dependency.

DominykasPetke commented 6 months ago

With the new repository it now indeed makes sense to just move it straight there; will do that with PRs there.

9600 commented 6 months ago

@DominykasPetke So gr-limesdr would no longer live in its own repository and would instead be distributed as part of Lime Suite NG? Presumably that would mean that we'd then need to have different branches in that repo for different GNU Radio release? If so, that doesn't sound ideal.

DominykasPetke commented 6 months ago

With this PR, this exact same codebase works for GNU Radio 3.9, 3.10 and 3.11-git (latest main). If 3.8 support is still needed, or if GNU Radio introduces breaking changes, then yes, this would become a valid problem.

I'll leave this for you to discuss amongst yourselves and I'll adapt this as needed.

9600 commented 6 months ago

Thanks for clarifying, so that shouldn't be so much an issue then.

So if this becomes a component of Lime Suite NG, presumably cmake will check for GR development files and build the gr-limesdr blocks if present, otherwise skip them?

And we would then just leave this repo for use with the "classic" version of Lime Suite? As this will be kept around for hardware which will not be supported by NG moving forwards, e.g. the Novena SDR module and other older legacy boards.

DominykasPetke commented 6 months ago

As of the current (closed) PR in the old LimeSuite repo, I have the default set for this plug-in to NOT be built in the Lime Suite NG repo, only manually enabling the option when invoking CMake would build it (with GNU Radio then being a required dependency), as this functionality does require a rather new GNU Radio version (3.10.4 or newer), which is not available by default in Debian 11 or Ubuntu 22.04. Navigating to the plug-in's directory and invoking CMake and make from there would still be able to build the plug-in just fine though.