09-27-2007 01:05 PM
09-28-2007 03:34 PM - edited 09-28-2007 03:34 PM
Message Edited by Paul C. on 09-28-2007 03:35 PM
09-28-2007 04:18 PM
Paul,
Thanks. I had found that property, but its title - SampleClockTimebase - didn't sound promising. It sounded like it would simply identify the internal timebase from which the sample clock was derived, rather than identifying AISampleClock itself. That has typically seemed to be the meaning of signals with the word "timebase" in their name.
Because of the name, I'm not sure if I actually tried it before so I'll go off and try it now. I'll send it into a counter task as a signal to measure so I can tell whether it's a timebase clock running at, say, 20 MHz or the actual sample clock at, say, 1 kHz. Then I'll report back what I find.
-Kevin P.
09-28-2007 04:40 PM
09-28-2007 05:02 PM
09-28-2007 05:50 PM - edited 09-28-2007 05:50 PM
Or maybe there's a version issue because that's not how it works on this end. Attached is an example vi in 8.20 along with screenshots of the diagram and the front panel results from trying the 2 properties in question.
-Kevin P.
Message Edited by Kevin Price on 09-28-2007 06:54 PM
10-01-2007 09:32 AM - edited 10-01-2007 09:32 AM
Message Edited by Neil S. on 10-01-2007 09:33 AM
10-02-2007 01:36 PM
10-03-2007 12:19 PM
10-03-2007 01:02 PM
Thanks Neil -- 1 more followup regarding the workaround you proposed with an explicit routing to RTSI.
Specifically, when exactly does DAQmx make its decision about how to perform its automatic routing? How can I make sure my manual routing instructions don't step on its toes?
One of the workarounds I abandoned went like this: Configure a dummy AO task, route its sample clock manually up to RTSI, pass the RTSI terminal through an output terminal for use by other tasks. However, I needed a method to verify that the RTSI terminal I wanted to use was actually available. The only way I know to do that is to ask for the routing, try to reserve / commit the task with the DAQmx state model, and look for an output error that tells me the resource is already reserved. Then try again with a different RTSI terminal.
Now that *might* be enough to work, but I'm not sure. I'll have other tasks hanging around out there which have been mostly configured, but not necessarily started, or even reserved / committed. These other tasks may be relying on DAQmx auto-routing.
So.... Suppose I have partially configured 3 other DAQmx tasks which may depend on auto-routing. Then I configure this AO task with a manual routing to RTSI0 and reserve / commit it. Later I start those other 3 DAQmx tasks. Will they have already decided what RTSI line they *intend* to reserve, but not yet reserved it? Or do they only decide when I start (or reserve / commit) them? Will they be aware of and able to avoid my manual signal routing?
And in a related note, is there a better programmatic way to query this kind of stuff than the trial-and-error looping? Something that means, "Hey, DAQmx, identify the available RTSI terminal(s) I can use here".
-Kevin P.