Manawyrm / sdrsharp-plutosdr

ADALM-PLUTO frontend for SDRSharp
MIT License
106 stars 20 forks source link

The type or namespace name `IIQStreamController' could not be found #21

Closed soundart closed 5 years ago

soundart commented 5 years ago

Hi,

I cannot build the plugin. What I did:

Build sdrsharp from here https://github.com/cgommel/sdrsharp

xbuild /p:TargetFrameworkVersion="v4.5" /p:Configuration=Release

then cloned sdrsharp-plutosdr, linked the two dlls Radio, Common and started buiilding

xbuild /p:TargetFrameworkVersion="v4.5" /p:Configuration=Release

Result ` Build FAILED.

Warnings:

/projects/pluto/sdrsharp-plutosdr/SDRSharp.PlutoSDR.sln: warning : Don't know how to handle GlobalSection ExtensibilityGlobals, Ignoring.

Errors:

/projects/pluto/sdrsharp-plutosdr/SDRSharp.PlutoSDR.sln (default targets) -> (Build target) -> /projects/pluto/sdrsharp-plutosdr/PlutoSDR/SDRSharp.PlutoSDR.csproj (default targets) -> /usr/lib/mono/xbuild/14.0/bin/Microsoft.CSharp.targets (CoreCompile target) ->

PlutoSDRIO.cs(10,52): error CS0246: The type or namespace name `IIQStreamController' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(10,86): error CS0246: The type or namespace name `ISampleRateChangeSource' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(10,111): error CS0246: The type or namespace name `IFloatingConfigDialogProvider' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(10,142): error CS0246: The type or namespace name `ITunableSource' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(10,158): error CS0246: The type or namespace name `IControlAwareObject' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(10,179): error CS0246: The type or namespace name `ISpectrumProvider' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(183,14): error CS0246: The type or namespace name `ITunableSource' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(191,14): error CS0246: The type or namespace name `ITunableSource' could not be found. Are you missing an assembly reference?
PlutoSDRIO.cs(198,14): error CS0246: The type or namespace name `ITunableSource' could not be found. Are you missing an assembly reference?

 1 Warning(s)
 9 Error(s)

`

I cannot find IIQStreamController in sdrsharp. I think I am missing something....

Manawyrm commented 5 years ago

Hi!

SDR# has unfortunatly gone closed source a long while ago. The old source code is still online, but it's far from the current version.

My plugin is for the propritary closed source version and can only be compiled against those binaries, sorry!

EDIT: And it seems you're trying to use the plugin on Linux. That's cool, but I don't think the plugin will run in Mono. It uses native syscalls to a number of Windows-PE/ .dll files. You might be able to change the syscall definitions to use the .so files from libiio and libad9351, but I'm really not sure how well Mono does this.

Best regards, Tobi

soundart commented 5 years ago

Hi,

ah ok I did not see that sdrsharp has changed.

I think I would see more errors if libiio bindings would not work. I did sudo apt install libiio-cil-dev

I will investigate if there is an API in the old sdrsharp for devices.

Manawyrm commented 5 years ago

Very interesting! But still: https://github.com/Manawyrm/sdrsharp-plutosdr/blob/master/PlutoSDR/NativeMethods.cs does native .dll syscalls. Those will not work, even with the correct bindings. Especially the reflection trick into the libiio-cil binding will do strange things on non-windows platforms. It directly fetches the reference to the native libiio device handle. Not sure how compatible that is to linux code. You might be able to just change that to libad9361.so and go from there...