-
Notifications
You must be signed in to change notification settings - Fork 52
NI SWITCH Setup Functions
ViStatus niSwitch_init (ViRsrc resourceName, ViBoolean idQuery, ViBoolean resetDevice, ViSession* vi);
Returns a session handle used to identify the switch module in all subsequent instrument driver calls.
niSwitch_init creates a new IVI instrument driver session for the switch module specified in the resourceName parameter. If multiple topologies) are valid for that device, NI-SWITCH uses the default topology specified in MAX.
By default, the switch module is reset to a known state.
An error is returned if a session to the specified resource exists in another process. The same session is returned if niSwitch_init is called twice in the same process for the same resource with the same topology.
Name | Type | Description |
---|---|---|
resourceName | ViRsrc |
Resource name of the switch module to initialize. Syntax: |
Configured in MAX Under | Valid Syntax |
---|---|
Devices and Interfaces | DeviceName |
PXI System | PXI[bus number]::device number |
Optional fields are shown in square brackets ([]). The default values for optional fields are as follows: chassis ID = 1 |
---|
Tip IVI logical names are also valid for the resource name. |
---|
Example resource names: |
---|
Name | Description |
---|---|
SC1Mod3 | NI-DAQmx module in chassis "SC1" Slot 3 |
MySwitch | NI-DAQmx module renamed to "MySwitch" |
PXI0::16 | PXI bus 0, device number 16 |
PXI::16 | PXI bus 0, device number 16 |
idQuery | ViBoolean |
This parameter is ignored. Because NI-SWITCH supports multiple switch modules, it always queries the switch to determine which device is installed. For this reason, this VI may return NISWITCH_ERROR_FAIL_ID_QUERY even if this parameter is set to VI_FALSE. |
Value | Description |
---|---|
VI_TRUE (default) | Queries the switch to determine which device is installed. |
VI_FALSE | Currently unsupported. |
resetDevice | ViBoolean | Specifies whether to reset the switch module during the initialization process. |
Value | Description |
---|---|
VI_TRUE (default) | Resets the device. |
VI_FALSE | Currently unsupported. The device will not reset. |
vi | ViSession | A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls. |
- Initialization
- Programming Flow
ViStatus niSwitch_InitWithOptions (ViRsrc resourceName, ViBoolean idQuery, ViBoolean resetDevice, ViConstString optionString, ViSession* vi);
Returns a session handle used to identify the switch module in all subsequent instrument driver calls and optionally sets the initial state of the session.
niSwitch_InitWithOptions creates a new IVI instrument driver session for the switch module specified in the resourceName parameter. If multiple topologies) are valid for that device, NI-SWITCH uses the default topology specified in MAX. The topology is also configurable in the optionString parameter.
!Note | Note When initializing an NI SwitchBlock device with topology, you must specify the topology created when you configured the device in MAX, using either Configured Topology or the topology string of the device. Refer to Initializing with Topology for NI SwitchBlock Devices) for information about determining the topology string of an NI SwitchBlock device. |
---|---|
By default, the switch module is reset to a known state. |
Enable simulation in the optionString parameter.
An error is returned if a session to the specified resource exists in another process. The same session is returned if niSwitch_InitWithOptions is called twice in the same process for the same resource with the same topology.
Name | Type | Description |
---|---|---|
resourceName | ViRsrc |
Resource name of the switch module to initialize. Syntax: |
Configured in MAX Under | Valid Syntax |
---|---|
Devices and Interfaces | DeviceName |
PXI System | PXI[bus number]::device number |
Optional fields are shown in square brackets ([]). The default values for optional fields are as follows: chassis ID = 1 |
---|
Tip IVI logical names are also valid for the resource name. |
---|
Example resource names: |
---|
Name | Description |
---|---|
SC1Mod3 | NI-DAQmx module in chassis "SC1" Slot 3 |
MySwitch | NI-DAQmx module renamed to "MySwitch" |
PXI0::16 | PXI bus 0, device number 16 |
PXI::16 | PXI bus 0, device number 16 |
idQuery | ViBoolean |
This parameter is ignored. Because NI-SWITCH supports multiple switch modules, it always queries the switch to determine which device is installed. For this reason, this VI may return NISWITCH_ERROR_FAIL_ID_QUERY even if this parameter is set to VI_FALSE. |
Value | Description |
---|---|
VI_TRUE (default) | Queries the switch to determine which device is installed. |
VI_FALSE | Currently unsupported. |
resetDevice | ViBoolean | Specifies whether to reset the switch module during the initialization process. |
Value | Description |
---|---|
VI_TRUE (default) | Reset device |
VI_FALSE | Currently unsupported. The device will not reset. |
optionString | ViConstString | Sets initial values of certain attributes for the NI-SWITCH session. The following table lists the attribute string names you can use: |
Attribute | Attribute String Name | Default Value |
---|---|---|
NISWITCH_ATTR_RANGE_CHECK | RangeCheck | 1 |
NISWITCH_ATTR_QUERY_INSTRUMENT_STATUS | QueryInstrStatus | 1 |
NISWITCH_ATTR_CACHE | Cache | 1 |
NISWITCH_ATTR_SIMULATE | Simulate | 0 |
NISWITCH_ATTR_RECORD_COERCIONS | RecordCoercions | 0 |
NISWITCH_ATTR_DRIVER_SETUP | DriverSetup | topology 1127/2-Wire 32x1 Mux |
The format of the optionString is, "AttributeStringName=Value" where AttributeStringName is the string name of the attribute shown above and Value is the value to which the attribute will be set. To set multiple attributes, separate assignments with a comma. If you pass an empty string for this parameter, the NI-SWITCH session uses the default values for the attributes. You can override the default values by explicitly assigning a value. You do not have to specify all of the available attributes. If you do not specify an attribute, its default value is used. Use the DriverSetup attribute to set the topology or the resource type of the switch module. This attribute can contain config token/value pairs within it. DriverSetup=[config token]:[value];[config token 2]:[value 2] Valid Config Tokens and Values: |
---|
Config Token | Description | Default Value |
---|---|---|
topology | The topology of the device. Refer to Devices) topic for valid values. You can also set the value of the topology config token to Configured Topology to specify the last topology that was configured for the device in MAX. | Max configured topology for each device |
resourcetype | Use "daqmx" for devices configured under NI-DAQmx Devices in MAX. | daqmx |
For example, use the following string to set an NI SCXI-1127 as a 2-wire 32x1 multiplexer configured in MAX under DAQmx Devices: "DriverSetup=topology:1127/2-Wire 32x1 Mux;resourcetype:daqmx" The DriverSetup string is particularly important when using NI-SWITCH through the IviSwtch class driver. To enable simulation, set simulate equal to 1 and specify the switch module and topology of the switch module to simulate. The following string enables simulation for an NI SCXI-1127 configured as a 2-wire 32x1 multiplexer. "Simulate=1, DriverSetup=topology:1127/2-Wire 32x1 Mux" If simulate is set to 1 and the DriverSetup string specifies a topology, the topology is used to determine which device to simulate. If the DriverSetup string does not specify a topology, the device specified in resource name is simulated. |
||
---|---|---|
vi | ViSession | A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls. |
- Initialization
- Programming Flow
ViStatus niSwitch_InitWithTopology (ViRsrc resourceName, ViConstString topology, ViBoolean simulate, ViBoolean resetDevice, ViSession* vi);
Returns a session handle used to identify the switch module in all subsequent instrument driver calls and sets the topology) of the switch module.
niSwitch_InitWithTopology creates a new IVI instrument driver session for the switch module specified in the resourceName parameter. The driver uses the topology specified in the topology parameter and overrides the topology specified in MAX.
!Note | Note When initializing an NI SwitchBlock device with topology, you must specify the topology created when you configured the device in MAX, using either NISWITCH_TOPOLOGY_CONFIGURED_TOPOLOGY or the topology string of the device. Refer to Initializing with Topology for NI SwitchBlock Devices) for information about determining the topology string of an NI SwitchBlock device. |
---|---|
By default, the switch module is reset to a known state. |
Enable simulation by specifying the topology and setting the simulate parameter to VI_TRUE.
Name | Type | Description |
---|---|---|
resourceName | ViRsrc |
Resource name of the switch module to initialize. Syntax: |
Configured in MAX Under | Valid Syntax |
---|---|
Devices and Interfaces | DeviceName |
PXI System | PXI[bus number]::device number |
Optional fields are shown in square brackets ([]). The default values for optional fields are as follows: chassis ID = 1 |
---|
Tip IVI logical names are also valid for the resource name. |
---|
Example resource names: |
---|
Name | Description |
---|---|
SC1Mod3 | NI-DAQmx module in chassis "SC1" Slot 3 |
MySwitch | NI-DAQmx module renamed to "MySwitch" |
PXI0::16 | PXI bus 0, device number 16 |
PXI::16 | PXI bus 0, device number 16 |
topology | ViConstString | Pass the topology name you want to use for the switch you specify with the resourceName parameter. You can also pass NISWITCH_TOPOLOGY_CONFIGURED_TOPOLOGY to use the last topology that was configured for the device in MAX. |
Note To determine the names of the supported topologies for your switch device, expand the Devices book, and select the switch module you are using from the Contents tab of this help file. In the device overview, the Operation Modes table(s) lists all supported topology and software names for the switch module. |
---|
simulate | ViBoolean | Enables simulation of the switch module specified in the resourceName parameter. |
Value | Description |
---|---|
VI_TRUE | Simulate |
VI_FALSE (default) | Do not simulate |
resetDevice | ViBoolean | Specifies whether to reset the switch module during the initialization process. |
Value | Description |
---|---|
VI_TRUE (default) | Reset device |
VI_FALSE | The device will not reset. |
Note The first call to niSwitch_InitWithTopology, after you reboot your computer, will reset the hardware. This is the only case when the Reset flag is not honored. |
---|
vi | ViSession | A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls. |
- Initialization
- Programming Flow
- Topologies
ViStatus niSwitch_close (ViSession vi);
Terminates the NI-SWITCH session and all of its attributes and deallocates any memory resources the driver uses.
Note You must unlock the session before calling niSwitch_close. After calling niSwitch_close, you cannot use the NI-SWITCH again until you call niSwitch_init or niSwitch_InitWithOptions. |
---|
Name | Type | Description |
---|---|---|
vi | ViSession | A particular NI-SWITCH session established with niSwitch_InitWithTopology, niSwitch_InitWithOptions, or niSwitch_init and used for all subsequent NI-SWITCH calls. |
- Close
Creating and Setting Up a gRPC Server
Session Utilities API Reference
gRPC API Differences From C API
Sharing Driver Sessions Between Clients
C API Docs
NI-DAQmx
- gRPC API Differences From C API
- Task Configuration And Control
- Channel Configuration And Creation
- Timing
- Triggering
- Read Functions
- Write Functions
- Export Hardware Signals
- Scale Configuration
- Internal Buffer Configuration
- Advanced Functions
- System Configuration
- Error Handling
- Buffer Attributes
- Calibration Info Attributes
- Channel Attributes
- Device Attributes
- Export Signal Attributes
- Persisted Channel Attributes
- Persisted Scale Attributes
- Persisted Task Attributes
- Physical Channel Attributes
- Read Attributes
- Scale Attributes
- System Attributes
- Task Attributes
- Timing Attributes
- Trigger Attributes
- Watchdog Attributes
- Write Attributes
NI-DCPOWER
- Setup Functions
- Configure Functions
- Measurement Functions
- Control Functions
- Trigger And Event
- Attribute Functions
- Query Functions
- Calibration Functions
- Utility Functions
- Supported Device
- Source Attributes
- Transient Attributes
- Voltage Attributes
- Current Attributes
- Pulse Voltage Attributes
- Pulse Current Attributes
- Cutoff Attributes
- Measurement Attributes
- Trigger Attributes Functions
- Event Attributes
- Advanced Attributes
- Inherent Ivi Attributes
- Supported Device Attributes
NI-DIGITAL PATTERN DRIVER
- Init And Close Functions
- Session Locking Functions
- Utility Functions
- Error Handling Functions
- Calibration Functions
- Attributes Functions
- Pin Map Functions
- Low Level Functions
- Low Level Action Functions
- Pin Control Functions
- Static IO Functions
- Clock Generator Functions
- Levels And Timing Functions
- TDR Functions
- PPMU Configuration Functions
- DC Voltage Functions
- DC Current Functions
- PPMU Action Functions
- Pattern Configuration Functions
- Pattern Action Functions
- History Ram Functions
- Source Memory Functions
- Capture Memory Functions
- Triggers And Events Functions
- Conditional Jump Trigger Functions
- Sequencer Flag Functions
- Sequencer Register Functions
- Match Fail Combination Functions
- Pattern Results Functions
- Sort Results Functions
- Frequency Measurement Functions
- IVI Inherent Attributes
- Specific Driver Information Attributes, Read Only
- Driver Setup Information Attributes
- Device Attributes
- Pin Control Attributes
- Level Configuration Attributes
- Trigger Configuration Attributes
- PPMU Attributes
- Patterns Attributes
- Pattern Opcode Event Attributes
- Timing Offset Attributes
- Keep Alive Attributes
- Frequency Measurement Attributes
- Clock Generator Attributes
- History RAM
- Synchronization Attributes
- TDR Endpoint Termination Attributes
NI-FGEN
- Setup Functions
- Configuration Functions
- Standard Output Functions
- Arbitrary Waveform Output Functions
- Arbitrary Sequence Output Functions
- Incremental Waveform Write Functions
- Configure Clock Functions
- Trigger And Syncronizations Functions
- 5404 Routing Functions
- Script Output Functions
- Configure Onboard Signal Processing Functions
- Configure Peer To Peer Functions
- Attribute Functions
- Waveform Control Functions
- Error Functions
- Output Attributes
- Arbitrary Waveform Attributes
- Data Transfer Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Attributes
- Standard Function Attributes
- Clock Attributes
- Event Attributes
- Triggering Attributes
- Instrument Specific Attributes
- Inherent IVI Attributes
- 5401 5411 5431
NI-RFmx Bluetooth
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Packet Attributes
- Auto Detect Signal Attributes
- Modacc Attributes
- ACP Attributes
- Twenty dB Attributes
- Frequency Range Attributes
- TXP Attributes
- Advanced Attributes
NI-RFmx NR
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attributes Functions
- Fetch Results Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Signal Detection Attributes
- Component Carrier Attributes
- List Attributes
- Modacc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- TXP Attributes
- Pvt Attributes
- Advanced Attributes
NI-RFmx LTE
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Ch Configuration Functions
- NB IoT Configuration Functions
- ModAcc Configuration Functions
- ACP Configuration Functions
- CHP Configuration Functions
- OBW Configuration Functions
- SEM Configuration Functions
- PVT Configuration Functions
- SlotPhase Configuration Functions
- SlotPower Configuration Functions
- Set And Get Attribute Functions
- ModAcc Fetch Functions
- ACP Fetch Functions
- CHP Fetch Functions
- OBW Fetch Functions
- SEM Fetch Functions
- PVT Fetch Functions
- SlotPhase Fetch Functions
- SlotPower Fetch Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- Component Carrier Attributes
- ModAcc Attributes
- ACP Attributes
- CHP Attributes
- OBW Attributes
- SEM Attributes
- PVT Attributes
- SlotPhase Attributes
- SlotPower Attributes
- Advanced Attributes
NI-RFmx SpecAn
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Read Functions
- Fetch Functions
- Utility Functions
- Marker Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- ACP Attributes
- Cdf Attributes
- CHP Attributes
- Fcnt Attributes
- Harm Attributes
- OBW Attributes
- SEM Attributes
- Spectrum Attributes
- Spur Attributes
- TXP Attributes
- AMPM Attributes
- Dpd Attributes
- IQ Attributes
- IM Attributes
- NF Attributes
- Phasenoise Attributes
- PAVT Attributes
- Advanced Attributes
NI-RFmx WLAN
- gRPC API Differences From C API
- General Functions
- Configuration Functions
- Set And Get Attribute Functions
- Fetch DSSS ModAcc Functions
- Fetch OFDM ModAcc Functions
- Fetch SEM Functions
- Fetch TXP Functions
- Fetch PowerRamp Functions
- Utility Functions
- Build String Functions
- Advanced Functions
- General Attributes
- Trigger Attributes
- OFDM Attributes
- Auto Detect Signal Attributes
- DSSS ModAcc Attributes
- OFDM ModAcc Attributes
- SEM Attributes
- TXP Attributes
- PowerRamp Attributes
- Advanced Attributes
NI-RFSA
- General Functions
- Configuration Functions
- Acquisition Functions
- Utility Functions
- Calibration Functions
- General Attributes
- Vertical Attributes
- Signal Path Attributes
- Acquisition Attributes
- Acquisition Attributes
- Triggers Attributes
- Events Attributes
- Device Characteristics Attributes
- Peer To Peer Streaming Attributes
- Configuration List Attributes
- Inherent IVI Properties Attributes
- De-embedding Attributes
- Self Calibration Attributes
- Factory Calibration Attributes
- External Alignment Attributes
- Device Specific Attributes
NI-RFSG
- General Functions
- Generation Configuration
- Utility Functions
- Calibration Functions
- Arb Attributes
- Clock Attributes
- Configuration List Attributes
- De-embedding Attributes
- Device Characteristics Attributes
- Device Specific Attributes
- Events Attributes
- External Calibration Attributes
- Inherent IVI Attributes Attributes
- IQ Impairment Attributes
- Load Configurations Attributes
- Modulation Attributes
- Obsolete Attributes
- Peer To Peer Attributes
- RF Attributes
- Self Calibration Attributes
- Triggers Attributes
NI-SCOPE
- Setup Functions
- Configure Functions
- Attribute Functions
- Acquisition Functions
- Measurement Functions
- Calibrate Functions
- Utility Funcitons
- Error Handling Functions
- IVI Compliance Or Obsolete Functions
- Vertical Attributes
- Horizontal Attributes
- Trigger Attributes
- Clocking Attributes
- Synchronization Attributes
- Acquisition Attributes
- Waveform Measurements Attributes
- Onboard Signal Processing Attributes
- Peer To Peer Streaming Attributes
- Device Attributes
- IVI Or Obsolete Attributes
- Instrument Capabilities Attributes
- If Digitizer Attributes
NI-XNET
- gRPC API differences from C APIs
- General Functions
- Cluster Properties
- Database Properties
- Device Properties
- ECU Properties
- Frame Properties
- Interface Properties
- LIN Schedule Entry Properties
- LIN Schedule Properties
- PDU Properties
- Session Ethernet Properties
- Session Frame Properties
- Session Interface Properties
- Session Properties
- Session SAE J1939 Properties
- Signal Properties
- Subframe Properties
- System Properties
- IP-Stack Functions
- Socket Options
- Socket Functions