Forum
Please or Register to create posts and topics.

C#/Managed DLL Wrapper

Hello,

Would it be possible for the Aaronia team to create a C# (managed) wrapper for the RTSA DLL?  Having this would allow people to create solutions using the MS Visual Studio IDE and C#.

Thank You

Maybe not exactly what you are looking for, but here is an API wrapper:
RTSAAPI.cs

and here is a prototype of a managed wrapper class, which is not fully featured:
SpectranDevice.cs
If you want to contribute, it is highly appreciated 🙂
mm_dev has reacted to this post.
mm_dev

Probably best to have this as an external project, as we do not really have much C# experience in-house.

when the code is a bit more mature and you agree with the RTSAAPI.cs being MIT, I can publish is separately as NuGet package.

Thank you, I will take a closer look at this this coming week and WILL work to contribute to the effort.

Question regarding the SDK and possibly the C# wrapper - Is there any place that identifies all of the passable parameters to the SpectranV6 via the ConfigSet and ConfigGet family of calls?  For instance, I see that to set center frequency you pass "main/centerfreq"; is there a full listing of all of these parameters?

Check the ConfigTree example in the RTSA installation "sdk" subfolder on how to enumerate all available config settings. Alternatively you can use the Block Graph Explorer block in the RTSA to see the internal names of the settings of the Spectran V6 block (not all of those are available in the SDK, like UI related stuff for obvious reasons)

Thank you, I did see this example which helped considerably.  I've noticed that not all of these settings apply depending on the mode that the SpectranV6 is instantiated in; for instance, for instance in IQ one can set Fcenter/Fspan, but not in SweptSa (need to use Fstart/Fstop).

Also, is there any way to get access to a complete mission, meaning can I instantiate the SpectranV6 with a pre-build mission and run it via the SDK?  This would require that the SDK offer may of the blocks to be accessible, and the data from these blocks.  What I would ultimately like to have is a mission where the SpectranV6 demodulates a QPSK signal and returns the bits.

The SDK is limited to controlling the Spectran hardware and getting the raw data, so it can be integrated into third party processing software directly with minimal overhead. If you want to access the processing features of the RTSA you should just use that (you can launch it via commandline and pass the --help option to see available options that might be useful) and control it over a HTTP connection. Extending the SDK to cover that would just be reinventing the wheel for no good reason, and development resources are better spent on improving the existing solution.