Programming Functions

 

SW Programming Overview Programming Libraries

Keysight provides highly optimized programming libraries to operate the Keysight M3601A HVI Design Environment which is supported by the following modules: M3100A, M3102A, M3201A, M3202A, M3300A and M3302A with -HV1 option enabled.

 

Native Programming Languages

Ready-to-use native libraries are supplied for the following programming languages and compilers:

 

Language

Compiler

Library

Files

C

Microsoft Visual Studio . NET

.NET Library

*.dll

 

MinGW (Qt), GCC

C Library

*.h, *.a

 

Any C compiler

C Library

*.h, *.lib

C++

Microsoft Visual Studio . NET

.NET Library

*.dll

 

MinGW (Qt), GCC

C++ Library

*.h, *.a

 

C++ Builder / Turbo C++

C++ Library

*.h, *.lib

C#

Microsoft Visual Studio .NET

.NET Library

*.dll

MATLAB

MathWorks MATLAB

.NET Library

*.dll

Python

Any Python compiler

Python Library

*.py

Basic

Microsoft Visual Studio .NET

.NET Library

*.dll

LabVIEW

National Instruments LabVIEW

LabVIEW Library

*.vi

 

Other Languages

Dynamic-link libraries are compatible with any programming language that has a compiler capable of performing dynamic linking. Here are some case examples:

 

Exported Functions Language Operating System Files
C Microsoft Windows *.dll

 

DLL function prototypes: The exported functions of the dynamic libraries have the same prototype as their counterparts of the static libraries

 

Function Parameters: Some of the parameters of the library functions are language dependent. The table of inputs and outputs parameters for each function is a conceptual description, therefore, the user must check the specific language function to see how to use it. One example are the ID parameters (moduleID, etc.), which identify objects in non object-oriented languages. In object-oriented languages the objects are identified by their instances, and therefore the IDs are not present.
Function Names: Some programming languages like C++ or LabVIEW have a feature called function overloading or polymorphism, that allows creating several functions with the same name but with different input/output parameters. In languages without this feature, functions with different parameters must have different names.

 

SD_HVI Functions

open

This function loads a Hard Virtual Instrument (HVI) previously created with Keysight M3601A into the hardware modules (see Software Programming Guide: HVI-VI Interaction).

 

Advanced

Memory usage: HVIs do not occupy RAM in the hardware modules, they have a dedicated HVI memory.

 

Parameters
Name Description
   
Inputs  
HVIfile The path of the HVI file (*.HVI) created with Keysight M3601A
errorIn If it contains an error, the function will not be executed .and errorIn will be passed to errorOut
   
Outputs  
HVIID HVI Identifier, or a negative number in case of error (see error codes in Table 1)
errorOut See error codes in Table 1

 

C Function

int SD_HVI_open(char* HVIfile);

 

C++ Function

int SD_HVI::open(char* HVIfile);

 

Visual Studio .NET, MATLAB

int SD_HVI::open(string HVIfile);

 

Python

int SD_HVI::open(string HVIfile);

 

LabVIEW

SD_HVI open.vi

 

close

This function closes the HVI, removing it from the hardware modules.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
errorOut See error codes in Table 1

 

C Function

int SD_HVI_close(int HVIID);

 

C++ Function

int SD_HVI::close();

 

Visual Studio .NET, MATLAB

int SD_HVI::close();

 

Python

int SD_HVI::close();

 

LabVIEW

SD_HVI close.vi

 

start

This function starts the HVI execution from the beginning.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

 

C Function

int SD_HVI_start(int HVIID);

 

C++ Function

int SD_HVI::start();

 

Visual Studio .NET, MATLAB

int SD_HVI::start();

 

Python

int SD_HVI::start();

 

LabVIEW

SD_HVI start.vi

 

pause

This function pauses the execution of an HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

 

C Function

int SD_HVI_pause(int HVIID);

 

C++ Function

int SD_HVI::pause();

 

Visual Studio .NET, MATLAB

int SD_HVI::pause();

 

Python

int SD_HVI::pause();

 

LabVIEW

SD_HVI pause.vi

 

 

resume

This function resumes the execution of an HVI paused with the function Pause.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

 

C Function

int SD_HVI_resume(int HVIID);

 

C++ Function

int SD_HVI::resume();

 

Visual Studio .NET, MATLAB

int SD_HVI::resume();

 

Python

int SD_HVI::resume();

 

LabVIEW

SD_HVI resume.vi

 

 

stop

This function finishes the HVI execution, releasing all the resources needed for the HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

 

C Function

int SD_HVI_stop(int HVIID);

 

C++ Function

int SD_HVI::stop();

 

Visual Studio .NET, MATLAB

int SD_HVI::stop();

 

Python

int SD_HVI::stop();

 

LabVIEW

SD_HVI stop.vi

 

reset

This function resets the HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

 

C Function

int SD_HVI_reset(int HVIID);

 

C++ Function

int SD_HVI::reset();

 

Visual Studio .NET, MATLAB

int SD_HVI::reset();

 

Python

int SD_HVI::reset();

 

LabVIEW

SD_HVI reset.vi

 

 

compile

This function compiles the HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
nErrors Number of error found during HVI compilation. To read the error message call function compilationErrorMessage (Section 2.1.2.9)
errorOut See error codes in Table 1

 

C Function

int SD_HVI_compile(int HVIID);

 

C++ Function

int SD_HVI::compile();

 

Visual Studio .NET, MATLAB

int SD_HVI::compile();

 

Python

int SD_HVI::compile();

 

LabVIEW

SD_HVI_compile.vi  

 

compilationErrorMessage

This function gets the indicated compilation error message.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIndex Index of error (from 0 to nErrors -1: section 2.1.2.8)
maxSize Size of message buffer
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
message Buffer to copy indicated error message
errorOut See error codes in Table 1

 

C Function

int SD_HVI_compilationErrorMessage(int HVIID, int errorIndex, char *message, int maxSize);

 

C++ Function

int SD_HVI::compilationErrorMessage(int errorIndex, char *message, int maxSize);

 

Visual Studio .NET, MATLAB

int SD_HVI::compilationErrorMessage(int errorIndex, out string message);

 

Python

{int, string} SD_HVI::compilationErrorMessage(int errorIndex);

 

LabVIEW

SD_HVI_compilationErrorMessage.vi

 

load

This function loads the HVI to the modules.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

 

C Function

int SD_HVI_load(int HVIID);

 

C++ Function

int SD_HVI::load();

 

Visual Studio .NET, MATLAB

int SD_HVI::load();

 

Python

int SD_HVI::load();

 

LabVIEW

SD_HVI_load.vi

 

assignHardware

This function substitutes one HVI module by another compatible module.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
index Module index inside the HVI
moduleUserName Nick name of the module defined by the user within HVI
productName Complete product name (e.g.”M3100A”). This name can be found on the product, or in nearly any Keysight software. It can also be retrieved with the function getProductName. 1
serialNumber Module Serial Number (e.g.”ES5641”). The serial number can be found on the product, or in nearly any Keysight software. It can also be retrieved with the function getSerialNumber. 1
chassis Number where the device is located. The chassis number can be found in nearly any Keysight software. It can also be retrieved with the function getChassis. 1
module ID or module object to assign.
slot Slot number where the device is plugged in. This number can be found on the chassis, in nearly any Keysight software. It can also be retrieved with the function getSlot. 1
errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
moduleID (Non-object-oriented languages only) Module identifier, or a negative number for Error Codes in Table 1
errorOut See Error Codes in Table 1

 

1 These are module related functions: please, consult the User Guide of your product

 

C

int SD_HVI_assignHardwareWithIndexAndSerialNumber(int HVIID, int index, const char *productName, const char *serialNumber);

int SD_HVI_assignHardwareWithIndexAndSlot(int HVIID, int index, int chassis, int slot);

int SD_HVI_assignHardwareWithUserNameAndSerialNumber(int HVIID, const char *moduleUserName, const char *productName, const char *serialNumber);

int SD_HVI_assignHardwareWithUserNameAndSlot(int HVIID, const char *moduleUserName, int chassis, int slot);

int SD_HVI_assignHardwareWithUserNameAndModuleID(int HVIID, const char *moduleUserName, int module);

 

C++

int SD_HVI::assignHardware(int index, const char *productName, const char *serialNumber);

int SD_HVI::assignHardware(int index, int chassis, int slot);

int SD_HVI::assignHardware(const char *moduleUserName, const char *productName, const char *serialNumber);

int SD_HVI::assignHardware(const char *moduleUserName, int chassis, int slot);

int SD_HVI::assignHardware(const char *moduleUserName, SD_Module *module);

 

Visual Studio .NET, MATLAB

int SD_HVI::assignHardware(int index, string productName, string serialNumber);

int SD_HVI::assignHardware(int index, int chassis, int slot);

int SD_HVI::assignHardware(string moduleUserName, string productName, string serialNumber);

int SD_HVI::assignHardware(string moduleUserName, int chassis, int slot);

int SD_HVI::assignHardware(string moduleUserName, SD_Module module);

 

Python

int SD_HVI::assignHardwareWithIndexAndSerialNumber(int index, string productName, string serialNumber);

int SD_HVI::assignHardwareWithIndexAndSlot(int index, int chassis, int slot);

int SD_HVI::assignHardwareWithUserNameAndSerialNumber(string moduleUserName, string productName, string serialNumber);

int SD_HVI::assignHardwareWithUserNameAndSlot(string moduleUserName, int chassis, int slot);

int SD_HVI::assignHardwareWithUserNameAndModuleID(string moduleUserName, SD_Module module);

 

LabVIEW

assignHardware.vi

 

getNumberOfModules

This function returns the number of modules controlled by the HVI. '

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
nModules Number of modules controlled by the HVI
errorOut See error codes in Table 1

 

C Function

int SD_HVI_getNumberOfModules(int HVIID);

 

C++ Function

int SD_HVI::getNumberOfModules();

 

Visual Studio .NET, MATLAB

int SD_HVI::getNumberOfModules();

 

Python

int SD_HVI::getNumberOfModules();

 

LabVIEW

SD_HVI_getNumberOfModules.vi

 

getModuleName

This function returns the nick name of one of the modules controlled by the HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
index Module index inside the HVI
size Size of the buffer
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
buffer Nick name of the indicated module
errorOut See error codes in Table 1

C Function

int SD_HVI_getModuleName(int HVIID, int index, char *buffer, int size);

 

C++ Function

int SD_HVI::getModuleName(int index, char *buffer, int size);

 

Visual Studio .NET, MATLAB

string SD_HVI::getModuleName(int index);

 

Python

string SD_HVI::getModuleName(int index);

 

LabVIEW

SD_HVI_getModuleName.vi

 

getModuleIndex

This function returns the nick name of one of the modules controlled by the HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
moduleUserName Nick name of the module defined by the user within HVI
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See error codes in Table 1

C Function

int SD_HVI_getModuleIndex(int HVIID, const char *moduleUserName);

 

C++ Function

int SD_HVI::getModuleIndex(const char *moduleUserName);

 

Visual Studio .NET, MATLAB

int SD_HVI::getModuleIndex(string moduleUserName);

 

Python

int SD_HVI::getModuleIndex(string moduleUserName);

 

LabVIEW

SD_HVI_getModuleIndex.vi

 

getModule

This function returns the selected module from the HVI.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
index Module index inside the HVI
moduleUserName Nick name of the module defined by the user within HVI
errorIn If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
module ID or module object
errorOut See error codes in Table 1

C Function

int SD_HVI_getModuleIDwithIndex(int HVIID, int index);

int SD_HVI_getModuleIDwithUserName(int HVIID, const char *moduleUserName);

 

C++ Function

SD_Module* SD_HVI::getModule(int index);

SD_Module* SD_HVI::getModule(const char *moduleUserName);

 

Visual Studio .NET, MATLAB

SD_Module SD_HVI::getModule(int index);

SD_Module SD_HVI::getModule(string moduleUserName);

 

Python

SD_Module SD_HVI::getModuleByIndex(int index);

SD_Module SD_HVI::getModuleByName(string moduleUserName);

 

LabVIEW

SD_HVI_getModuleID.vi

 

writeConstant

This function writes a value in an HVI constant of a module.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
moduleIndex Module index inside the HVI
moduleUserName Nick name of the module defined by the user within HVI
constantName Constant name
value Constant value
unit Unit of the constant
errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
errorOut See Error Codes in Table 1

C

int SD_HVI_writeIntegerConstantWithIndex(int HVIID, int moduleIndex, const char *constantName, int value);

int SD_HVI_writeIntegerConstantWithUserName(int HVIID, const char *moduleUserName, const char *constantName, int value);

int SD_HVI_writeDoubleConstantWithIndex(int HVIID, int moduleIndex, const char *constantName, double value, const char *unit);

int SD_HVI_writeDoubleConstantWithUserName(int HVIID, const char *moduleUserName, const char *constantName, double value, const char *unit);

 

C++

int SD_HVI::writeConstant(int moduleIndex, const char *constantName, int value);

int SD_HVI::writeConstant(const char *moduleUserName, const char *constantName, int value);

int SD_HVI::writeConstant(int moduleIndex, const char *constantName, double value, const char *unit);

int SD_HVI::writeConstant(const char *moduleUserName, const char *constantName, double value, const char *unit);

 

Visual Studio .NET, MATLAB

int SD_HVI::writeConstant(int moduleIndex, string constantName, int value);

int SD_HVI::writeConstant(string moduleUserName, string constantName, int value);

int SD_HVI::writeConstant(int moduleIndex, string constantName, double value, string unit);

int SD_HVI::writeConstant(string moduleUserName, string constantName, double value, string unit);

 

Python

int SD_HVI::writeIntegerConstantWithIndex(int moduleIndex, string constantName, int value);

int SD_HVI::writeIntegerConstantWithUserName(string moduleUserName, string constantName, int value);

int SD_HVI::writeDoubleConstantWithIndex(int moduleIndex, string constantName, double value, string unit);

int SD_HVI::writeDoubleConstantWithUserName(string moduleUserName, string constantName, double value, string unit);

 

LabVIEW

writeConstant.vi

 

readConstant

This function reads the value of an HVI constant of a module.

 

Parameters
Name Description
   
Inputs  
HVIID HVI identifier (returned by Open)
moduleIndex Module index inside the HVI
moduleUserName Nick name of the module defined by the user within HVI
constantName Constant name
errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
HVIIDOut A copy of HVIID
value Constant value
unit Unit of the constant
errorOut See Error Codes in Table 1

C

int SD_HVI_readIntegerConstantWithIndex(int HVIID, int moduleIndex, const char *constantName, int &value);

int SD_HVI_readIntegerConstantWithUserName(int HVIID, const char *moduleUserName, const char *constantName, int &value);

int SD_HVI_readDoubleConstantWithIndex(int HVIID, int moduleIndex, const char *constantName, double &value, const char * &unit);

int SD_HVI_readDoubleConstantWithUserName(int HVIID, const char *moduleUserName, const char *constantName, double &value, const char * &unit);

 

C++

int SD_HVI::readConstant(int moduleIndex, const char *constantName, int &value);

int SD_HVI::readConstant(const char *moduleUserName, const char *constantName, int &value);

int SD_HVI::readConstant(int moduleIndex, const char *constantName, double &value, const char *&unit);

int SD_HVI::readConstant(const char *moduleUserName, const char *constantName, double &value, const char *&unit);

 

Visual Studio .NET, MATLAB

int SD_HVI::readConstant(int moduleIndex, string constantName, out int value);

int SD_HVI::readConstant(string moduleUserName, string constantName, out int value);

int SD_HVI::readConstant(int moduleIndex, string constantName, out double value, out string unit);

int SD_HVI::readConstant(string moduleUserName, string constantName, out double value, out string unit);

 

Python

[int errorOut, int value] SD_HVI::readIntegerConstantWithIndex(int moduleIndex, string constantName);

[int errorOut, int value] SD_HVI::readIntegerConstantWithUserName(string moduleUserName, string constantName);

[int errorOut, double value, string unit] SD_HVI::readDoubleConstantWithIndex(int moduleIndex, string constantName);

[int errorOut, double value, string unit] SD_HVI::readDoubleConstantWithUserName(string moduleUserName, string constantName);

 

LabVIEW

readConstant.vi

 

SD Module Functions (HVI-related)

The following programming functions are related to Keysight's HVI technology and Keysight M3601A Design Environment. Please, check M3601A User Guide for more information.

 

writeRegister

This function writes a value in an HVI register of a hardware module.

 

Parameters
Name Description
   
Inputs  
moduleID (Non-object-oriented languages only) Module identifier, returned by function open
regNumber Register number
regName Register name
regValue Register value
unit Unit of the register value
errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
moduleIDout (LabVIEW only) A copy of moduleID
errorOut See Error Codes in Table 1

 

C

int SD_Module_writeRegister(int moduleID, int regNumber, int regValue);

int SD_Module_writeRegisterWithName(int moduleID, const char* regName, int regValue);

int SD_Module_writeDoubleRegister(int moduleID, int regNumber, double regValue, const char* unit);

int SD_Module_writeDoubleRegisterWithName(int moduleID, const char* regName, double regValue, const char* unit);

 

C++

int SD_Module::writeRegister(int regNumber, int regValue);

int SD_Module::writeRegister(const char* regName, int regValue);

int SD_Module::writeRegister(int regNumber, double regValue, const char* unit);

int SD_Module::writeRegister(const char* regName, double regValue, const char* unit);

 

Visual Studio .NET, MATLAB

int SD_Module::writeRegister(int regNumber, int regValue);

int SD_Module::writeRegister(string regName, int regValue);

int SD_Module::writeRegister(int regNumber, double regValue, string unit);

int SD_Module::writeRegister(string regName, double regValue, string unit);

 

Python

int SD_Module::writeRegisterByNumber(int regNumber, int regValue);

int SD_Module::writeRegisterWithName(string regName, int regValue);

int SD_Module::writeDoubleRegisterByNumber(int regNumber, double regValue, string unit);

int SD_Module::writeDoubleRegisterWithName(string regName, double regValue, string unit);

 

LabVIEW

writeRegister.vi

 

M3601A

Available: No (the value can be accessed using math operations: e.g. MathAssign)

 

readRegister

This function reads a value from an HVI register of a hardware module.

 

Parameters
Name Description
   
Inputs  
moduleID (Non-object-oriented languages only) Module identifier, returned by function open
regNumber Register number
regName Register name
regValue Register value
unit Unit of the register value
errorIn (LabVIEW only) If it contains an error, the function will not be executed and errorIn will be passed to errorOut
   
Outputs  
regValue Register value
moduleIDout (LabVIEW only) A copy of moduleID
errorOut Error Codes

 

C

int SD_Module_readRegister(int moduleID, int regNumber, int regValue);

int SD_Module_readRegisterWithName(int moduleID, const char* regName, int regValue);

double SD_Module_readDoubleRegister(int moduleID, int regNumber, const char* unit, int& errorOut);

double SD_Module_readDoubleRegisterWithName(int moduleID, const char* regName, const char* unit, int& errorOut);

 

C++

int SD_ Module::readRegister(int regNumber, int regValue);

int SD_ Module::readRegister(const char* regName, int regValue);

double SD_ Module::readRegister(int regNumber, const char* unit, int& errorOut);

double SD_ Module::readRegister(const char* regName, const char* unit, int& errorOut);

 

Visual Studio .NET, MATLAB

int SD_ Module::readRegister(int regNumber, int regValue);

int SD_ Module::readRegister(string regName, int regValue);

int SD_ Module::readRegister(int regNumber, string unit, out int error);

int SD_ Module::readRegister(string regName, string unit, out int error);

 

Python

int SD_Module::readRegisterByNumber(int regNumber, int regValue);

int SD_Module::readRegisterWithName(string regName, int regValue);

[int errorOut, double regValue] SD_Module::readDoubleRegisterByNumber(int regNumber, string unit;

[int errorOut, double regValue] SD_Module::readDoubleRegisterWithName(string regName, string unit);

 

LabVIEW

readRegister.vi

 

M3601A

Available: No (the value can be accessed using math operations: e.g. MathAssign)

 

Error Codes

 

Error Define

Error No

Error Description

     
SD_ERROR_OPENING_MODULE -8000 Keysight Error: Opening module
SD_ERROR_CLOSING_MODULE -8001 Keysight Error: Closing module
SD_ERROR_OPENING_HVI -8002 Keysight Error: Opening HVI
SD_ERROR_CLOSING_HVI -8003 Keysight Error: Closing HVI
SD_ERROR_MODULE_NOT_OPENED -8004 Keysight Error: Module not opened
SD_ERROR_MODULE_NOT_OPENED_BY_USER -8005 Keysight Error: Module not opened by user
SD_ERROR_MODULE_ALREADY_OPENED -8006 Keysight Error: Module already opened
SD_ERROR_HVI_NOT_OPENED -8007 Keysight Error: HVI not opened
SD_ERROR_INVALID_OBJECTID -8008 Keysight Error: Invalid ObjectID
SD_ERROR_INVALID_MODULEID -8009 Keysight Error: Invalid ModuleID
SD_ERROR_INVALID_MODULEUSERNAME -8010 Keysight Error: Invalid Module User Name
SD_ERROR_INVALID_HVIID -8011 Keysight Error: Invalid HVI
SD_ERROR_INVALID_OBJECT -8012 Error: Invalid Object
SD_ERROR_INVALID_NCHANNEL -8013 Keysight Error: Invalid channel number
SD_ERROR_BUS_DOES_NOT_EXIST -8014 Keysight Error: Bus doesn’t exist
SD_ERROR_BITMAP_ASSIGNED_DOES_NOT_EXIST -8015 Keysight Error: Any input assigned to the bitMap does not exist
SD_ERROR_BUS_INVALID_SIZE -8016 Keysight Error: Input size does not fit on this bus
SD_ERROR_BUS_INVALID_DATA -8017 Keysight Error: Input data does not fit on this bus
SD_ERROR_INVALID_VALUE -8018 Keysight Error: Invalid value
SD_ERROR_CREATING_WAVE -8019 Keysight Error: Creating Waveform
SD_ERRO_NOT_VALID_PARAMETERS -8020 Keysight Error: Invalid Parameters
SD_ERROR_AWG -8021 Keysight Error: AWG function failed
SD_ERROR_DAQ_INVALID_FUNCTIONALITY -8022 Keysight Error: Invalid DAQ functionality
SD_ERROR_DAQ_POOL_ALREADY_RUNNING -8023 Keysight Error: DAQ buffer pool is already running
SD_ERROR_UNKNOWN -8024 Keysight Error: Unknown error
SD_ERROR_INVALID_PARAMETERS -8025 Keysight Error: Invalid parameter
SD_ERROR_MODULE_NOT_FOUND -8026 Keysight Error: Module not found
SD_ERROR_DRIVER_RESOURCE_BUSY -8027 Keysight Error: Driver resource busy
SD_ERROR_DRIVER_RESOURCE_NOT_READY -8028 Keysight Error: Driver resource not ready
SD_ERROR_DRIVER_ALLOCATE_BUFFER -8029 Keysight Error: Cannot allocate buffer in driver
SD_ERROR_ALLOCATE_BUFFER -8030 Keysight Error: Cannot allocate buffer
SD_ERROR_RESOURCE_NOT_READY -8031 Keysight Error: Resource not ready
SD_ERROR_HARDWARE -8032 Keysight Error: Hardware error
SD_ERROR_INVALID_OPERATION -8033 Keysight Error: Invalid Operation
SD_ERROR_NO_COMPILED_CODE -8034 Keysight Error: No compiled code in the module
SD_ERROR_FW_VERIFICATION -8035 Keysight Error: Firmware verification failed
SD_ERROR_COMPATIBILITY -8036 Keysight Error: Compatibility error
SD_ERROR_INVALID_TYPE -8037 Keysight Error: Invalid type
SD_ERROR_DEMO_MODULE -8038 Keysight Error: Demo module
SD_ERROR_INVALID_BUFFER -8039 Keysight Error: Invalid buffer
SD_ERROR_INVALID_INDEX -8040 Keysight Error: Invalid index
SD_ERROR_INVALID_NHISTOGRAM -8041 Keysight Error: Invalid histogram number
SD_ERROR_INVALID_NBINS -8042 Keysight Error: Invalid number of bins
SD_ERROR_INVALID_MASK -8043 Keysight Error: Invalid mask
SD_ERROR_INVALID_WAVEFORM -8044 Keysight Error: Invalid waveform
SD_ERROR_INVALID_STROBE -8045 Keysight Error: Invalid strobe
SD_ERROR_INVALID_STROBE_VALUE -8046 Keysight Error: Invalid strobe value
SD_ERROR_INVALID_DEBOUNCING -8047 Keysight Error: Invalid debouncing
SD_ERROR_INVALID_PRESCALER -8048 Keysight Error: Invalid prescaler
SD_ERROR_INVALID_PORT -8049 Keysight Error: Invalid port
SD_ERROR_INVALID_DIRECTION -8050 Keysight Error: Invalid direction
SD_ERROR_INVALID_MODE -8051 Keysight Error: Invalid mode
SD_ERROR_INVALID_FREQUENCY -8052 Keysight Error: Invalid frequency
SD_ERROR_INVALID_IMPEDANCE -8053 Keysight Error: Invalid impedance
SD_ERROR_INVALID_GAIN -8054 Keysight Error: Invalid gain
SD_ERROR_INVALID_FULLSCALE -8055 Keysight Error: Invalid fullscale
SD_ERROR_INVALID_FILE -8056 Keysight Error: Invalid file
SD_ERROR_INVALID_SLOT -8057 Keysight Error: Invalid slot
SD_ERROR_INVALID_NAME -8058 Keysight Error: Invalid product name
SD_ERROR_INVALID_SERIAL -8059 Keysight Error: Invalid serial number
SD_ERROR_INVALID_START -8060 Keysight Error: Invalid start
SD_ERROR_INVALID_END -8061 Keysight Error: Invalid end
SD_ERROR_INVALID_CYCLES -8062 Keysight Error: Invalid number of cycles
SD_ERROR_HVI_INVALID_NUMBER_MODULES -8063 Keysight Error: Invalid number of modules on HVI
SD_ERROR_DAQ_P2P_ALREADY_RUNNING -8064 Keysight Error: DAQ P2P is already running

 

Table 1: Software error codes