From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.

We appreciate your patience as we improve our online experience.

LabWindows/CVI

cancel
Showing results for 
Search instead for 
Did you mean: 

Using DAQmxGetDigitalPowerUpStates()

I was in doubt if this topic is best here or in DAQmx forum, but I choose this because any Labview related answer would be not useful for me and - on other hand - here I'm sure to find someone that will understand my C notation.
 

I'm trying to read the power-up state of DO bits with DAQmxGetDigitalPowerUpStates() function. 

Docs is here: http://zone.ni.com/reference/en-XX/help/370471AE-01/daqmxcfunc/daqmxgetdigitalpowerupstates/

 

When I read a single line status, i.e

...
int32 P0_0;
DAQmxGetDigitalPowerUpStates ("Dev1", "Dev1/port0/line0",   &P0_0, NULL);
...

it works.
When I try to read more lines:

...
int32 P0_0, P0_1;
DAQmxGetDigitalPowerUpStates ("Dev1", "Dev1/port0/line0", &P0_0, "Dev1/port0/line1", &P0_1, NULL);
...

it fails at runtime with a fatal error: "Missing argument to variable argument function."

Moreover, in the doc linked before is stated "channelName: The digital line or port to get the power-up state from. You can specify a list or range of channels". 
I assume this is wrong, too, because the variabile argument function cannot validate if we are passing a pointer to a single int32 or the base address of an array of int32s.

I will survive without using this function, but it will be nice to discover who is wrong or broken: me, the documentation or the function itself. Smiley Sad

All my tests were done with an USB-6212, if this is significant. 
Attached is a minimal program demostrating this behaviour.


Carlo A.
Megaris




0 Kudos
Message 1 of 1
(2,007 Views)