NI DIGITAL PATTERN DRIVER Low Level Functions - ni/grpc-device GitHub Wiki
- niDigital_CreatePinMap
- niDigital_CreatePinGroup
- niDigital_CreateChannelMap
- niDigital_MapPinToChannel
- niDigital_EndChannelMap
- niDigital_GetPinName
- niDigital_GetChannelName
- niDigital_GetChannelNameFromString
Creates and loads a pin map. Use this function if you are not loading a pin map file using the niDigital_LoadPinMap function.
C Function Prototype: ViStatus niDigital_CreatePinMap (ViSession vi, ViConstString dutPinList, ViConstString systemPinList)
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
dutPinList | A list of device under test (DUT) pin names to include in the pin map. DUT pins are duplicated for all sites and are used in patterns. |
systemPinList | A list of system pins to include in the pin map. System pins do not scale with the number of sites and are not used with pattern functions. |
Return value: Reports the status of the operation.
Creates a pin group, which is an alias for a list of pins.
C Function Prototype: ViStatus niDigital_CreatePinGroup (ViSession vi, ViConstString pinGroupName, ViConstString pinList)
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
pinGroupName | Name of the pin group. |
pinList | List of pins to include in the pin group. |
Return value: Reports the status of the operation.
Creates a channel map, which specifies the number of sites and the connections of pins and sites to instrument channels. You must create the pin map using the niDigital_CreatePinMap function before calling this function. Use this function if you are not loading a pin map file using the niDigital_LoadPinMap function.
You cannot modify the channel map within an instrument session after you load patterns or waveforms on the digital pattern instrument.
C Function Prototype: ViSession niDigital_CreateChannelMap (ViSession vi, ViInt32 numSites)
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
numSites | How many sites to include in the channel map. |
Return value: Reports the status of the operation.
Maps a pin to a digital pattern instrument channel. You must call the niDigital_CreateChannelMap function before you call this function and call the niDigital_EndChannelMap function after creating all connections. For DUT pins, you must call this function multiple times for each pin and once for each site. For system pins, call this function only once per pin because the function ignores the site input for system pins.
C Function Prototype: ViStatus niDigital_MapPinToChannel (ViSession vi, ViConstString pin, ViInt32 site, ViConstString channel)
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
pin | Name of the pin to map to the specified channel. |
site | Site number for the pin mapped to the specified channel. If the pin is a system pin, the function ignores this parameter. |
channel | Channel to map to the specified pin and site. Specify channel names using the channel number, for example, "0" or "31." To specify channels used in multi-instrument sessions, use the form PXI1Slot2/0 or PXI1Spot2/31. |
Return value: Reports the status of the operation.
Call this function to indicate that the channel map configuration is complete after you create channel map connections using the niDigital_MapPinToChannel function.
C Function Prototype: ViStatus niDigital_EndChannelMap (ViSession vi)
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
Return value: Reports the status of the operation.
Returns the name of the pin at the index you specify.
You must provide a ViChar array to serve as a buffer for the value. You pass the number of bytes in the buffer as the nameBufferSize. If the current value of the attribute, including the terminating NULL byte, is larger than the size you indicate in the buffer size, the function copies (buffer size - 1) bytes into the buffer, places an ASCII NULL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value. For example, if the value is "123456" and the buffer size is 4, the function places "123" into the buffer and returns 7. If you want to call this function just to get the required buffer size, you can pass 0 for nameBufferSize and VI_NULL for the name.
C Function Prototype: ViStatus niDigital_GetPinName (ViSession vi, ViInt32 pinIndex, ViInt32 nameBufferSize, ViChar[] name)
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
pinIndex | Index of pin to query. Pin indexes begin at 0. |
nameBufferSize | The number of elements in the ViChar array you specify for name. |
Output | |
name | Returns the pin name at the specified pinIndex. |
Return value: Reports the status of the operation.
Returns the channel name that corresponds to the index you specify. Channel indexes are one-based.
You must provide a ViChar array to serve as a buffer for the value. You pass the number of bytes in the buffer as the nameBufferSize. If the current value of the attribute, including the terminating NULL byte, is larger than the size you indicate in the buffer size, the function copies (buffer size - 1) bytes into the buffer, places an ASCII NULL byte at the end of the buffer, and returns the buffer size you must pass to get the entire value. For example, if the value is "123456" and the buffer size is 4, the function places "123" into the buffer and returns 7. If you want to call this function just to get the required buffer size, you can pass 0 for nameBufferSize and VI_NULL for the name.
C Function Prototype: ViStatus niDigital_GetChannelName (ViSession vi, ViInt32 index, ViInt32 nameBufferSize, DataType VarName[])
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
index | Specifies a one-based index for the desired channel in the session. Valid values are from one to the total number of channels in the session. |
nameBufferSize | The number of elements in the ViChar array you specify for name. |
Output | |
name | The returned channel name(s) at the specified index. |
Return value: Reports the status of the operation. If the buffer size is 0 or too small for the error description, the buffer size needed for the full description is returned.
Returns a comma-separated list of channel names from a string index list.
C Function Prototype: ViStatus niDigital_GetChannelNameFromString (ViSession vi, ViConstString index, ViInt32 nameBufferSize, ViChar name[] )
Parameter | Description |
---|---|
vi | The specified instrument session the niDigital_init or niDigital_InitWithOptions function returns. |
index |
Index list for the channels in the session. Valid values are from zero to the total number of channels in the session minus one. The index string can be one of the following formats: - A comma-separated list—for example, "0,2,3,1" - A range using a hyphen—for example, "0-3" - A range using a colon—for example, "0:3 " You can combine comma-separated lists and ranges that use a hyphen or colon. Both out-of-order and repeated indices are supported ("2,3,0," "1,2,2,3"). White space characters, including spaces, tabs, feeds, and carriage returns, are allowed between characters. Ranges can be incrementing or decrementing. |
nameBufferSize | The number of elements in the ViChar array you specify for name. |
Output | |
name | The returned channel name(s) at the specified index. |
Return value: Reports the status of the operation. If the buffer size is 0 or too small for the error description, the buffer size needed for the full description is returned.