I looked for a post that addressed my problem, but I couldn't find one that quite answered my question.
Based on the below link, the timestamp returned by DAQmx from a `DAQmx Read` operation is indeterminate relative to when its corresponding data was taken:
https://knowledge.ni.com/KnowledgeArticleDetails?id=kA00Z000000P9Q9SAK&l=en-US
In my system, I have a PXIe 1085 chassis with a 6674T in the timing slot, a 6683H time reference in slot 9, and many 4303 ADC cards. I send a Global Software Trigger as my Start Trigger from the 6674T. The software trigger is connected to many lines/ports, but the relevant one here is PXI_Trig1. I use `niSync Enable Time Stamp Trigger` and `niSync Read Trigger Time Stamp` on the 6683H to capture the rising edge of the Start Trigger on PXI_Trig1. I would like to use this as my t0 instead of the one coming from `DAQmx Read`. In my testing, I expected this t0 to be a few microseconds off from the actual time of the first acquired sample (due to the time to ready internal buffers), but I’m observing a lag on the order of 100s of milliseconds (with 1-5 ms variance). To test, I use a PPS signal coming from the 6683H fed into a channel of one ADC to see if the rising edge of the PPS signal lands exactly on the second.
So then, is there a way to know the dt between when these ADC cards receive a Start Trigger and when they start filling up their internal buffers? Is it really 100s of milliseconds?