ZNA Custom DLL SDK  Version1.0.0
Network Analyser Extensions
RsVnaCustomDllInterface.h
Go to the documentation of this file.
1 
113 #ifndef RS_VNA_CUSTOM_DLL_INTERFACE_28F7221D_FAA2_450B_B88A_BB6BED9C0262
114 #define RS_VNA_CUSTOM_DLL_INTERFACE_28F7221D_FAA2_450B_B88A_BB6BED9C0262
115 
116 
117 #ifndef RS_VNA_API_IMPORTS
118 #define RS_VNA_API __declspec(dllexport)
119 #else
120 #define RS_VNA_API __declspec(dllimport)
121 #endif
122 
124 #define RS_VNA_DLL_INTERFACE_MAJOR_RELEASE 1
125 #define RS_VNA_DLL_INTERFACE_MINOR_RELEASE 0
127 #define RS_VNA_DLL_INTERFACE_PATCH_LEVEL 0
129 
130 #define RS_VNA_MAX_CHAR_SIZE 512
132 
133 
134 #ifdef __cplusplus
135 extern "C" {
136 #endif
137 
140  {
141  unsigned int majorRelease;
142  unsigned int minorRelease;
143  unsigned int patchLevel;
144  };
145 
147  struct RsVnaTaskId
148  {
151  unsigned int drivingPort;
153  };
154 
157  {
158  double realPart;
159  double imaginaryPart;
160  };
161 
164  {
166  struct RsVnaComplex value;
167  };
168 
171  {
189  };
190 
193  {
195  RS_VNA_LIST
196  };
197 
200  {
205  };
206 
209  {
213  RS_VNA_BOTH
214  };
215 
226 
237 
252  RS_VNA_API int RsVnaGetVersion(struct RsVnaVersion* dllVersion, struct RsVnaVersion* interfaceVersion);
253 
265  RS_VNA_API int RsVnaGetNumberOfTaskTypes(unsigned int* numberOfTaskTypes);
266 
283  RS_VNA_API int RsVnaGetTaskTypes(const unsigned int numberOfTaskTypes, char** taskTypesList, char** additionalDefaultInput);
284 
298  RS_VNA_API int RsVnaGetUnit(const struct RsVnaTaskId taskId, enum ERsVnaMeasUnit* unit);
299 
313  RS_VNA_API int RsVnaGetNumberOfHumanNames(const struct RsVnaTaskId taskId, unsigned int* numberOfHumanNames);
314 
338  enum ERsVnaInputType* inputType,
339  const unsigned int numberOfHumanNames,
340  char** humanNamesList);
341 
360  RS_VNA_API int RsVnaCalculateTrace(const struct RsVnaTaskId taskId,
361  const unsigned int position,
362  const unsigned int numberOfSweepPoints,
363  const unsigned int numberOfTraceData,
364  const struct RsVnaTraceData** traceDataList,
365  struct RsVnaComplex* outputValue);
366 
401  enum ERsVnaInterruptPosition* interruptPositionForChannel,
402  enum ERsVnaInterruptPosition* interruptPositionForSegment,
403  enum ERsVnaInterruptPosition* interruptPositionForDrivingPort,
404  enum ERsVnaInterruptPosition* interruptPositionForMeasPoint);
405 
435  const char* deviceAddress,
436  const unsigned int position,
437  const unsigned int numberOfSweepPoints,
438  const enum ERsVnaInterruptType interruptType,
439  const enum ERsVnaInterruptPosition interruptPosition,
440  struct RsVnaComplex* outputValueList,
441  unsigned int* positionOfLastOutputValue);
442 
455  RS_VNA_API int RsVnaGetErrorInfo(const int errorCode, char** errorText);
456 
457 #ifdef __cplusplus
458 }
459 #endif
460 
461 #endif /*RS_VNA_CUSTOM_DLL_INTERFACE_28F7221D_FAA2_450B_B88A_BB6BED9C0262*/
ERsVnaInterruptPosition
ERsVnaInterruptPosition
Contains the interrupt position, which describes where the interrupt should be occurred.
Definition: RsVnaCustomDllInterface.h:209
RS_VNA_MEAS_POINT
@ RS_VNA_MEAS_POINT
If the interrupt is requested per measurement point.
Definition: RsVnaCustomDllInterface.h:204
RsVnaGetErrorInfo
RS_VNA_API int RsVnaGetErrorInfo(const int errorCode, char **errorText)
RS_VNA_MAX_CHAR_SIZE
#define RS_VNA_MAX_CHAR_SIZE
Contains the maximal length for the here used char types.
Definition: RsVnaCustomDllInterface.h:131
RsVnaOnUnloadDll
RS_VNA_API int RsVnaOnUnloadDll()
RsVnaTraceData::value
struct RsVnaComplex value
Complex value provided for the humanName.
Definition: RsVnaCustomDllInterface.h:166
RS_VNA_SECONDS
@ RS_VNA_SECONDS
Seconds.
Definition: RsVnaCustomDllInterface.h:174
RS_VNA_FARAD
@ RS_VNA_FARAD
Farad.
Definition: RsVnaCustomDllInterface.h:187
RS_VNA_API
#define RS_VNA_API
Usage as Dll export.
Definition: RsVnaCustomDllInterface.h:118
RsVnaGetTaskTypes
RS_VNA_API int RsVnaGetTaskTypes(const unsigned int numberOfTaskTypes, char **taskTypesList, char **additionalDefaultInput)
RS_VNA_SIEMENS
@ RS_VNA_SIEMENS
Siemens.
Definition: RsVnaCustomDllInterface.h:177
RS_VNA_DB_HZ
@ RS_VNA_DB_HZ
dB / Hz
Definition: RsVnaCustomDllInterface.h:185
RS_VNA_LIST
@ RS_VNA_LIST
If a list of human names (same as in SCPI) of a specific task type is returned, required for the trac...
Definition: RsVnaCustomDllInterface.h:195
RS_VNA_GRAD
@ RS_VNA_GRAD
Degree.
Definition: RsVnaCustomDllInterface.h:173
RS_VNA_SEGMENT
@ RS_VNA_SEGMENT
If the interrupt is requested per segment.
Definition: RsVnaCustomDllInterface.h:202
RsVnaTraceData
Contains an human name (same as in SCPI) with a corresponding complex value for a specific measuremen...
Definition: RsVnaCustomDllInterface.h:164
RS_VNA_POST
@ RS_VNA_POST
If the interrupt is requested after the measurement of the specified interrupt type.
Definition: RsVnaCustomDllInterface.h:212
RsVnaGetTraceRequirements
RS_VNA_API int RsVnaGetTraceRequirements(const struct RsVnaTaskId taskId, enum ERsVnaInputType *inputType, const unsigned int numberOfHumanNames, char **humanNamesList)
RsVnaVersion
Contains a version number in major release, minor release and patch level.
Definition: RsVnaCustomDllInterface.h:140
RsVnaVersion::minorRelease
unsigned int minorRelease
Minor release Version.
Definition: RsVnaCustomDllInterface.h:142
RS_VNA_DRIVING_PORT
@ RS_VNA_DRIVING_PORT
If the interrupt is requested per drive port.
Definition: RsVnaCustomDllInterface.h:203
ERsVnaInterruptType
ERsVnaInterruptType
Contains the custom DLL interrupt type, which describes how often an interrupt should be occurred.
Definition: RsVnaCustomDllInterface.h:200
RsVnaVersion::majorRelease
unsigned int majorRelease
Major release Version.
Definition: RsVnaCustomDllInterface.h:141
RS_VNA_WATT
@ RS_VNA_WATT
Watt.
Definition: RsVnaCustomDllInterface.h:179
RsVnaTaskId
Contains an ID, consisting of the following four parameters, to identify a specific task.
Definition: RsVnaCustomDllInterface.h:148
RS_VNA_DECIBEL
@ RS_VNA_DECIBEL
dB
Definition: RsVnaCustomDllInterface.h:175
RsVnaTaskId::additionalInput
char additionalInput[RS_VNA_MAX_CHAR_SIZE]
Contains the additional input text (e.g. "Ch1" for channel identification).
Definition: RsVnaCustomDllInterface.h:150
ERsVnaMeasUnit
ERsVnaMeasUnit
Contains all available units for the task type.
Definition: RsVnaCustomDllInterface.h:171
RS_VNA_UNIT
@ RS_VNA_UNIT
No Unit.
Definition: RsVnaCustomDllInterface.h:172
RsVnaCalculateTrace
RS_VNA_API int RsVnaCalculateTrace(const struct RsVnaTaskId taskId, const unsigned int position, const unsigned int numberOfSweepPoints, const unsigned int numberOfTraceData, const struct RsVnaTraceData **traceDataList, struct RsVnaComplex *outputValue)
RS_VNA_NONE
@ RS_VNA_NONE
If no interrupt is requested.
Definition: RsVnaCustomDllInterface.h:210
RS_VNA_DB_MICRO_V
@ RS_VNA_DB_MICRO_V
dB / μV
Definition: RsVnaCustomDllInterface.h:181
RS_VNA_DBM
@ RS_VNA_DBM
dBm
Definition: RsVnaCustomDllInterface.h:180
RS_VNA_HENRY
@ RS_VNA_HENRY
Henry.
Definition: RsVnaCustomDllInterface.h:186
RsVnaGetNumberOfTaskTypes
RS_VNA_API int RsVnaGetNumberOfTaskTypes(unsigned int *numberOfTaskTypes)
RsVnaTaskId::dllFilename
char dllFilename[RS_VNA_MAX_CHAR_SIZE]
Contains the DLL filename (excluding the file extension).
Definition: RsVnaCustomDllInterface.h:149
RS_VNA_SAME
@ RS_VNA_SAME
If the input should be equal to the output, so no trace calculation is required (no call to method "R...
Definition: RsVnaCustomDllInterface.h:194
RsVnaTraceData::humanName
char humanName[RS_VNA_MAX_CHAR_SIZE]
Human name associated with the value.
Definition: RsVnaCustomDllInterface.h:165
RS_VNA_PRE
@ RS_VNA_PRE
If the interrupt is requested before the measurement of the specified interrupt type.
Definition: RsVnaCustomDllInterface.h:211
RsVnaInterruptCallback
RS_VNA_API int RsVnaInterruptCallback(const struct RsVnaTaskId taskId, const char *deviceAddress, const unsigned int position, const unsigned int numberOfSweepPoints, const enum ERsVnaInterruptType interruptType, const enum ERsVnaInterruptPosition interruptPosition, struct RsVnaComplex *outputValueList, unsigned int *positionOfLastOutputValue)
RS_VNA_OHM
@ RS_VNA_OHM
Ohm.
Definition: RsVnaCustomDllInterface.h:176
RsVnaComplex
Contains a complex value in real and imaginary part.
Definition: RsVnaCustomDllInterface.h:157
RS_VNA_SECONDS_HZ
@ RS_VNA_SECONDS_HZ
s / Hz
Definition: RsVnaCustomDllInterface.h:182
RsVnaGetUnit
RS_VNA_API int RsVnaGetUnit(const struct RsVnaTaskId taskId, enum ERsVnaMeasUnit *unit)
RS_VNA_VOLT
@ RS_VNA_VOLT
Volt.
Definition: RsVnaCustomDllInterface.h:178
ERsVnaInputType
ERsVnaInputType
Contains the input type.
Definition: RsVnaCustomDllInterface.h:193
RsVnaTaskId::drivingPort
unsigned int drivingPort
Contains the drive port number (1-based). Zero if called for all drive ports.
Definition: RsVnaCustomDllInterface.h:151
RS_VNA_DBM_HZ
@ RS_VNA_DBM_HZ
dBm / Hz
Definition: RsVnaCustomDllInterface.h:184
RsVnaOnLoadDll
RS_VNA_API int RsVnaOnLoadDll()
RsVnaComplex::realPart
double realPart
real part of the complex number
Definition: RsVnaCustomDllInterface.h:158
RS_VNA_DBC
@ RS_VNA_DBC
dBc
Definition: RsVnaCustomDllInterface.h:183
RsVnaVersion::patchLevel
unsigned int patchLevel
Patch Version.
Definition: RsVnaCustomDllInterface.h:143
RsVnaGetVersion
RS_VNA_API int RsVnaGetVersion(struct RsVnaVersion *dllVersion, struct RsVnaVersion *interfaceVersion)
RS_VNA_AMPERE
@ RS_VNA_AMPERE
Ampere.
Definition: RsVnaCustomDllInterface.h:188
RS_VNA_CHANNEL
@ RS_VNA_CHANNEL
If the interrupt is requested per channel.
Definition: RsVnaCustomDllInterface.h:201
RsVnaGetInterruptRequests
RS_VNA_API int RsVnaGetInterruptRequests(const struct RsVnaTaskId taskId, enum ERsVnaInterruptPosition *interruptPositionForChannel, enum ERsVnaInterruptPosition *interruptPositionForSegment, enum ERsVnaInterruptPosition *interruptPositionForDrivingPort, enum ERsVnaInterruptPosition *interruptPositionForMeasPoint)
RS_VNA_BOTH
@ RS_VNA_BOTH
If the interrupt is requested before and after the measurement of the specified interrupt type.
Definition: RsVnaCustomDllInterface.h:213
RsVnaGetNumberOfHumanNames
RS_VNA_API int RsVnaGetNumberOfHumanNames(const struct RsVnaTaskId taskId, unsigned int *numberOfHumanNames)
RsVnaTaskId::taskType
char taskType[RS_VNA_MAX_CHAR_SIZE]
Contains the task type name.
Definition: RsVnaCustomDllInterface.h:152
RsVnaComplex::imaginaryPart
double imaginaryPart
imaginary part of the complex number
Definition: RsVnaCustomDllInterface.h:159