C#/Managed DLL Wrapper

Quote from CorNic East on 21/04/2022, 20:02Hello,
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
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

Quote from g3gg0 on 21/04/2022, 22:13Maybe not exactly what you are looking for, but here is an API wrapper:
RTSAAPI.csand here is a prototype of a managed wrapper class, which is not fully featured:
SpectranDevice.csIf you want to contribute, it is highly appreciated 🙂
Maybe not exactly what you are looking for, but here is an API wrapper:
RTSAAPI.cs
SpectranDevice.cs

Quote from mm_dev on 22/04/2022, 10:33Probably best to have this as an external project, as we do not really have much C# experience in-house.
Probably best to have this as an external project, as we do not really have much C# experience in-house.

Quote from g3gg0 on 22/04/2022, 12:33when the code is a bit more mature and you agree with the RTSAAPI.cs being MIT, I can publish is separately as NuGet package.
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.

Quote from CorNic East on 25/04/2022, 03:04Thank you, I will take a closer look at this this coming week and WILL work to contribute to the effort.
Thank you, I will take a closer look at this this coming week and WILL work to contribute to the effort.

Quote from CorNic East on 09/05/2022, 20:47Question 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?
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?

Quote from mm_dev on 10/05/2022, 09:15Check 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)
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)

Quote from CorNic East on 10/05/2022, 17:05Thank 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.
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.

Quote from mm_dev on 11/05/2022, 09:44The 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.
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.