Hi Lads,
I have noticed something strange while developing some code for ni usb6009 (this same behavior on 6501). I want to load some digital patterns using digital i/o's. I dont really mind that samples are flushed out quite irregular (software timing) but there is one condition for which this module acts quite weird. It seems that when samples on any line are not changing their states, they are either ignored or flushed very fast (I dont know which is true). I hope example below will make it clearer.
I trigger the scope with P0.4->channel 1 on the scope.
This is what I am sending:
This is what I am getting on the scope (1->P0.4, 2->P0.3, 3->P0.2, 4->P0.1)
Than I push the trigger 4 clocks further:
And result is exactly this same as before.
Here I put trigger sooner when something is happening on the lines
And it works fine:
Did anybody came across problem like this?
Below is the code I am using to send the waveform. I have tried to replace waveform with 2d Boolean and send each bit in separate 'for loop' iteration but it didn't help.
Thanks for help,
Krystian