Description
Native C# SMA100B Microwave Signal Generator driver
, that fully follow the SCPI-tree structure of an instrument.
For example, the SCPI command:
SENSe:ROSCillator:SOURce INTernal
is represented as:
RsSmab.Sense.Roscillator.Source.Set(ReferenceSourceAenum.INTernal);
Supported instruments: SMA100B
The package is hosted here: https://www.nuget.org/packages/RsSmab/
Examples: https://github.com/Rohde-Schwarz/Examples/tree/main/SignalGenerators/Csharp/RsSmab_ScpiPackage
Preconditions
Supported Frameworks
- .NET Core 3.1
- .NET Standard 2.0
- .NET Standard 2.1
- .NET Framework 4.5
- .NET Framework 4.8
Installation
Installation of the packages (e.g. for a new project):
- In your Visual Studio go to the top menu
Tools -> NuGet Packet Manager -> Manage NuGet Packages for Solution...
.
- At the top right,
Package source
select nuget.org
.
- At the top left, select the tab
Browse
, in the search box enter RsSmab
. Select the found item.
- On the right side, check the project(s) in which you want to reference the package, and hit
Install
button.
Option 2 - offline installation:
- The easiest way is to set up a local repository (a simple folder) for NuGet Packages.
- Create a folder and copy all the
*.nupkg
files there.
- In your Visual Studio go to the top menu
Tools -> NuGet Packet Manager -> Manage NuGet Packages for Solution...
.
- At the top right, near the
Package source
control, click on the cog wheel icon.
- Press plus icon. Give your new repository a name e.g.:
Local
and for the Source
navigate to your created folder.
- After that, change the
Package source
to your Local
.
- At the top left, select the tab
Browse
.
- Select the desired package and install it to the project(s) you want.
Usage
After installing the NuGet package, it adds the RsSmab.dll
reference to your project.
Use the intellisense to navigate the package's API, or find the examples here:
https://github.com/Rohde-Schwarz/Examples/tree/main/SignalGenerators/Csharp/RsSmab_ScpiPackage
Plain SCPI
If you wish to use the plain SCPI commands, the driver offers Utility Interface:
RsSmab.Utilities.WriteString()
RsSmab.Utilities.QueryString()
RsSmab.Utilities.QueryBoolean()
RsSmab.Utilities.QueryInteger()
RsSmab.Utilities.QueryFloat()
RsSmab.Utilities.Binary.QueryData()
...and many more
The Utilities interface is also available as a separate modul:
NuGet package RsInstrument
: https://www.nuget.org/packages?q=RsInstrument
Release Notes
Latest release notes summary
: Fixed all commands 'Pattern' variables from lists to raw scalar strings.
Version 5.30.133
- Fixed all commands 'Pattern' variables from lists to raw scalar strings.
Version 5.30.132
Version 5.10.121
Version 5.0.123.39
Version 4.70.300.36
- Rebuilt with new driver core
4.70.300.35
- Fixed several misspelled arguments and command headers
Version 4.70.300.26
- Complete rework of the Repeated capabilities. Before, the driver used extensively the RepCaps Channel, Stream, Subframe, User, Group. Now, they have more fitting names, and also proper ranges and default values.
- All the repcaps ending with Null have ranges starting with 0. 0 is also their default value. For example, ChannelNull starts from 0, while Channel starts from 1. Since this is a breaking change, please make sure your code written in the previous version of the driver is compatible with this new version. This change was necessary in order to assure all the possible settings.
Version 4.70.205.21
- Fixed Initial Visa Timeout setting to 10000ms
- Default HwInterface repcap is 0 (empty command suffix)
Version 4.70.205.4