I have one of these devices that I am using to drive a switch/LED interface with. I have some code written in LabVIEW for it that works, but I think the performance could be better than what it is. Before I try everything under the sun, I hope that I can have some questions/thoughts responded to by the experts here in the forum.
1. Is there anyway to setup a "Change Detect Event" for the Digital Inputs of the device so that there is not needless polling at the software level? I notice that with just the USB-6501 in the filter for the "DAQmx Export Signal" property node, there is no "Change Detect Event" option... from what I read in other places in the forum it does not seem possible to do anything but poll the device for digital input changes. Can anyone confirm this?
2. My design uses two USB-6501 devices. Would performance increase if I created DAQmx tasks that handled ports instead of accessing each individual line? Would performance increase if I handled Digital Input on one USB-6501 and Digital Output on the other USB-6501? Surely this makes since because I would only have to poll one USB-6501 while the other could be handled through software intterupts and user events.
3. I may be able to come up with some digital circuitry that will create a pulse whenever any of the switches change states. I could then wire this pulse to a single Digital Input, and only poll that one input for change. When the pulse is seen, the code will sample the rest of the hardware channels. Does this seem pratical? The digital circuitry may take me awhile to work out, and I'm not sure if there will be as much of a performance increase as I expect. It really comes down to how the device's hardware driver works exactly. If the driver polls all the ports regardless of which one is in use than this would be pretty pointless, for example.
Thanks for your input!
-Nickerbocker