The GXSW driver contains a set of functions for the GXSW boards. Function names that start with the GxSW prefix apply to all GXSW boards (i.e. GxSWGetDriverSummary). Other functions are specific to a board and start with the board model (e.g. Gx6264Initialize). The GXSW functions are designed with a consistent set of arguments and functionality. All boards have a function that initializes the GXSW driver for a specific board, resets the board, and displays the virtual panel. All the functions use handles to identify and reference a specific board and all functions return status and share the same functions to handle error codes.
The GXSW driver supports two device drivers HW and VISA which are used to initialize, identify and control the board. The user can use the GxXXXXInitialize (XXXX is the board model) to initialize the board ‘s driver using HW and GxXXXXInitializeVisa to initialize using VISA. The following describes the two different methods used to initialize:
1. Marvin Test Solutions' HW – This is the default device driver that is installed by the GXSW driver. To initialize and control the board using the HW use the GxXXXXInitialize (nSlot, pnHandle, pnStatus) function (XXXX is the board model for example Gx6115Initialize). The function initializes the driver for the board at the specified PXI slot number (nSlot) and returns boards handle. The PXI/PCI Explorer applet in the Windows Control Panel displays the PXI slot assignments. You can specify the nSlot parameter in the following way:
● A combination of chassis number (chassis # x 256) with the chassis slot number, e.g. 0x105 for chassis 1 and slot 5. The chassis number can be set by the PXI/PCI Explorer applet.
● Legacy nSlot is used by earlier versions of HW/VISA. The slot number contains no chassis number and can be changed using the PXI/PCI Explorer applet: 23 in this example.

PXI/PCI Explorer
2. VISA – This is a third party library usually supplied by National Instruments (NI-VISA). You must ensure that the VISA installed supports PXI and PCI devices (not all VISA providers supports PXI/PCI). GXSW setup installs a VISA compatible driver for the GXSW board in-order to be recognized by the VISA provider. Use the GXSW function GxXXXXInitializeVisa (szVisaResource, pnHandle, pnStatus) to initialize the driver’s board using VISA. The first argument szVisaResource is a string that is displayed by the VISA resource manager such as NI Measurement and Automation (NI_MAX). It is also displayed by Marvin Test Solutions PXI/PCI Explorer as shown in the prior figure. The VISA resource string can be specified in several ways as the following examples demonstrate:
● Using chassis, slot: “PXI0::CHASSIS1::SLOT5”
● Using the PCI Bus/Device combination: “PXI9::13::INSTR” (bus 9, device 9).
● Using the alias: for example “COUNTER1”. Use the PXI/PCI Explorer to set the device alias.
Information about VISA is available at http://www.pxisa.org.
The GxXXXXInitialize and the GxxxxxInitializeVisa functions return function returns a handle that is required by other driver functions in order to program the board. This handle is usually saved in the program as a global variable for later use when calling other functions. The initialize function does not change the state of the board or its settings. xInitialize function.
The board handle argument, nHandle , is passed (by reference) to the parameter pnHandle of the GxXXXXInitialize or the GxXXXXInitializeVisa functions as a short integer (16 bits) number. It is used by the GXSW driver functions to identify the board being accessed by the application. Since the driver supports many boards at the same time, the nHandle argument is required to uniquely identify which board is being programmed.
The nHandle is created when the application calls the GxXXXXInitialize function. There is no need to destroy the handle. Calling GxXXXXnitialize with the same slot number will return the same handle.
Once the board is initialized the handle can be used with other functions to program the board.
The Reset function opens all switches and setup the board to a known initial state. A reset is usually performed after the board is initialized. All boards have the GxXXXXReset (nHandle, nStatus) function. See the Function Reference for more information regarding the specific board.
All the GXSW function returns status - pnStatus - in the last parameter. This parameter can be later used for error handling. The status is zero for success status or less than zero for errors. When the status is error, the program can call the GxSWGetErrorString function to return a string representing the error. The GxSWGetErrorString reference contains possible error numbers and their associated error strings.
The GxSWGetDriverSummary function can be used to return the current GXSW driver version. It can be used to differentiate between the driver versions. See GXSW General Function Reference for more information.
Calling the GxXXXXPanel will display the instrument’s front panel dialog window. The panel can be used to initialize and control the board interactively. The panel function may be used by the application to allow the user to directly interact with the board.
The GxXXXXPanel function is also used by the GXSWPANEL.EXE panel program that is supplied with this package and provides a stand alone Windows application that displays the instrument panel.