The following paragraphs describe the steps required to program the boards.
The GXFPGA driver supports two device drivers HW and VISA which are used to initialize, identify and control the board. The user can use the GxFpgaInitialize to initialize the board‘s driver using HW and GxFpgaInitializeVisa 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 GXFPGA driver. To initialize and control the board using the HW use the GxFpgaInitialize (nSlot, pnHandle, pnStatus) function. 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. 0x103 for chassis 1 and slot 3. 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). GXFPGA setup installs a VISA compatible driver for the GXFPGA board in-order to be recognized by the VISA provider. Use the GXFPGA function GxFpgaInitializeVisa (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 GxFpgaInitialize and the GxFpgaInitializeVisa functions return 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 functions do not change the state of the board or its settings.
The Reset function sets the board to a known default state. A reset is usually performed after the board is initialized. See the Function Reference for more information regarding the reset function.
All the GXFPGA functions 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 GxFpgaGetErrorString function to return a string representing the error. The GxFpgaGetErrorString reference contains possible error numbers and their associated error strings.
The GxFpgaGetDriverSummary function can be used to return the current GXFPGA driver version. It can be used to differentiate between the driver versions. See the Function Reference for more information.