I've posted this in the DAQ hardware forum, but realize this maybe a more appropriate place. I've got a PCI-6229 (M series) which says it can use a debounce filter on the trigger line (PFI0). Both the development machine and acquisition machine have NIDAQmx version 7.3.1 installed. Here's the code (with error checking, etc. omitted) that starts acquisition (and the error messages I get when trying to enable the debounce filter):
int32 result = DAQmxCreateTask( "",
&analogInputAcquisitionTaskHandle );
for each analog input channel:
result = DAQmxCreateAIVoltageChan( analogInputAcquisitionTaskHandle,
channelName,
"", // Make the virtual name the same as channelName
DAQmx_Val_RSE, // Referenced single-ended.
analogInputMinValue[ channel ],
analogInputMaxValue[ channel ],
DAQmx_Val_Volts, // Constant from NIDAQ.
"" );
To set up acquisition start:
TRIGGER_SOURCE = /Dev1/PFI0
result = DAQmxCfgDigEdgeStartTrig( analogInputAcquisitionTaskHandle,
TRIGGER_SOURCE,
DAQmx_Val_Rising );
This next line returns an error (-200452 - Specified property not supported by the device or is not applicable to the task)
result = DAQmxResetDigEdgeStartTrigDigFltrEnable( analogInputAcquisitionTaskHandle );
For continuous acquisition:
acquisitionRate = 20.0
result = DAQmxCfgSampClkTiming( analogInputAcquisitionTaskHandle,
TRIGGER_SOURCE,
acquisitionRate,
DAQmx_Val_Rising, // Acquire on rising edge of trigger.
DAQmx_Val_ContSamps,
numSamplesToAcquire );
This next call also succeeds:
result = DAQmxResetSampClkDigFltrMinPulseWidth( analogInputAcquisitionTaskHandle );
But this one fails with -200452 - Specified property not supported by the device or is not applicable to the task:
result = DAQmxSetSampClkDigFltrEnable( analogInputAcquisitionTaskHandle,
true );
Any clues? Acquisition proceeds normally, but I can't enable the filter, which is needed to eliminate some very short noise pulses on the trigger signal.
Thanks,
Greg