08-20-2024 04:05 AM
Ah ah, you are killing me, so much easier. And completely improves my understanding. I am reworking my scripts 😉
I wrote a similar code yesterday but it was failing:
nidaqmx.errors.DaqError: Trigger line requested could not be reserved because it is already in use.
Property: DAQmx_Exported_10MHzRefClk_OutputTerm
Makes sense, I was still exporting manually the 10Mhz clock on RTSI0 thus there was a theoretical resource conflict even if it would achieve the same => task_master.export_signals.export_signal(nidaqmx.constants.Signal.TEN_MHZ_REF_CLOCK, "/Dev1/RTSI0")
Sharing also some experiments for the community:
nidaqmx.errors.DaqError: Specified route cannot be satisfied, because it requires resources that are currently in use by another route.
Property: DAQmx_Exported_StartTrig_OutputTerm => right, the framework reserved RTSI0... and I try to also reserve it
I can then conclude that a lot can happen under the hood, reserving RTSI routes 1 after the other in an incremental order. And it is better to leave it under the hood because it works (no PLL lock issue) 😉
For NI I would suggest to add this in the examples. I was not at all thinking about that (for Linux) because:
08-20-2024 04:08 AM
And I also inspired myself too much from https://www.mathworks.com/help/daq/synchronize-ni-pci-devices-using-rtsi.html 😞