PlotPackedDigitalLinesMultiBus
int PlotPackedDigitalLinesMultiBus (int panelHandle, int controlID, void *dataArray, size_t numberOfElements, int numberOfBuses, int dataType, int dataSequence, void *maskArray);
Purpose
Plots packed data from multiple buses to a digital graph.
The data you send to PlotPackedDigitalLinesMultiBus is packed, which means you can send data samples for more than one digital line per dataArray element. Each dataArray element corresponds to one data sample for a bus. The individual bits in each dataArray element correspond to individual lines within the bus. Use the maskArray parameter to specify which bits in the dataArray refer to valid lines.
If you use NI-DAQmx to acquire the data you plot with PlotPackedDigitalLinesMultiBus, you must call DAQmxReadDigU8 as the read function. You also must group the lines from each bus into a channel to ensure that PlotPackedDigitalLinesMultiBus can plot the data correctly.
Supported Controls
You can use PlotPackedDigitalLinesMultiBus with digital graph controls.
Parameters
Input | ||||||||||||||
Name | Type | Description | ||||||||||||
panelHandle | int | Specifier for a particular panel that is currently in memory. You can obtain this handle from functions such as LoadPanel and NewPanel. | ||||||||||||
controlID | int | The defined constant, located in the .uir header file, that you assigned to the control in the User Interface Editor, or the ID returned by functions such as NewCtrl and DuplicateCtrl. | ||||||||||||
dataArray | void * | Array that contains the values to plot on the digital graph. The data type must be of the type specified by dataType. Each element in the dataArray corresponds to one sample for a bus. Each bit within the dataArray element corresponds to a data value for a line within the bus. Use maskArray to specify which lines to plot on the digital graph. You can group the data into multiple buses, as specified in numBuses. If you plot data for more than one bus, all of the buses must have the same number of samples. Otherwise, the displayed data will be incorrect. |
||||||||||||
numberOfElements | size_t | Number of dataArray elements to plot. This value controls the number of elements to plot even if the total number of elements in dataArray is greater than numElements. numElements must be greater than zero and not greater than INT_MAX. |
||||||||||||
numberOfBuses | int | The number of data buses to plot. maskArray specifies the valid lines in each bus to plot. | ||||||||||||
dataType | int | The data type of dataArray. The data must be one of the following valid integer data types:
|
||||||||||||
dataSequence | int | Determines the order in which LabWindows/CVI plots the dataArray values. VAL_INTERLEAVED—LabWindows/CVI plots the data values for the first data sample of the first bus, then the data values for the first data sample of the second bus, and so on. VAL_NON_INTERLEAVED—LabWindows/CVI plots all of the data values for the first bus, then all of the data values for the second bus, and so on. If you use NI-DAQmx to acquire the data array, you must use the appropriate dataSequence. |
||||||||||||
maskArray | void * | Array that specifies which bits in each data element correspond to valid lines. The digital graph displays the result of a bitwise AND on maskArray and dataArray. For example, the dataArray you pass to PlotPackedDigitalLinesMultiBus has three buses of type VAL_SHORT_INTEGER. A maskArray that contains the values {0x00FF, 0x0001, 0x0001} indicates that the first bus has eight valid lines, and the second and third buses have one valid line each. If you pass in VAL_SINGLE_LINE for the maskArray, then PlotPackedDigitalLinesMultiBus plots only one line per bus. LabWindows/CVI plots the data in the least significant bit of each element. If there are multiple buses, VAL_SINGLE_LINE applies to all of them. The data type of maskArray must be the type specified in dataType. |
Return Value
Name | Type | Description |
status | int | Return value indicating whether the function was successful. A negative number indicates that an error occurred. |
Additional Information
Library: User Interface Library
Include file: userint.h
LabWindows/CVI compatibility: LabWindows/CVI 7.1 and later
Example
Refer to userint\TreeBusDigitalGraph.cws for an example of using the PlotPackedDigitalLinesMultiBus function.