Digital I/O

cancel
Showing results for 
Search instead for 
Did you mean: 

Specify Samples Only At Change?

Solved!
Go to solution

No doubt a variation of this has been asked before, so my apologies but I'm unable to find anything.

 

I am using a PCIe-6537 and trying to generate a long sequence (say 2 seconds) using C. Is there any way to only specify a few samples? Or do I need to specify the value at every sample time?

 

For example, suppose I want on all 32 channels a 1 microsecond HIGH followed by 1 second LOW, repeated twice. I would like to be able to say:

 

Sample 0: 2^32 - 1

Sample 1: 0

Sample 1000000: 2^32 - 1

Sample 1000001: 0

 

However it seems I have to specify the actual value at every point in time. Of course this takes far more time and memory to Write but I don't see any other way. Is there a way?

 

I hope the question is clear. Thank you.

0 Kudos
Message 1 of 3
(5,206 Views)
Solution
Accepted by topic author grahamgreve

I can't find a place to edit the topic or mark it as resolved

 

My actual scenario was a little more complicated but I've found away around it. Writing each sample explicitly should no longer be an issue.

 

I hope it's okay to mark my own post as a "solution"

0 Kudos
Message 2 of 3
(5,191 Views)

Hello,

 

With the 6537, unfortunately you will have to oversample and build your array in memory before transferring that data to the card at the specified rate you wish to run. We do not have a way to enter a sample time period with our board.

 

The normal way to work around this is scripting, but this is a feature only with our NI-HSDIO product offering. The NI-DAQmx based 653x boards do not have scripting.

Kyle A.
National Instruments
Senior Applications Engineer
0 Kudos
Message 3 of 3
(5,161 Views)