12-18-2015 05:06 PM
Hi,
I recently upgraded my version of NI-DAQmx from 14.5 to 15.1.1f3. When I did this, an application that was built on NI-DAQmx 14.5 stopped working. I ran a comparison between NIDAQmx.h of each version of the driver and noticed that a number of functions have been removed from NIDAQmx.h between 14.5 and 15.1.1f3 such as:
DAQmxAdjust9246GainCal
DAQmxAdjust9246OffsetCal
DAQmxAdjust9247GainCal
DAQmxAdjust9247OffsetCal
DAQmxGetTimingSyncPulseForce
DAQmxSetTimingSyncPulseForce
DAQmxResetTimingSyncPulseForce
DAQmx_Timing_SyncPulseForce (This is a #define)
As a result these entry points are not found in the lib and my application breaks.
Is this a bug? If yes, please send me the CAR number that I can use to track this.
Thanks,
Varun Hariharan.
The MathWorks
12-21-2015 05:21 PM - edited 12-21-2015 05:21 PM
Hi vharihar,
The DAQmxAdjust9246GainCal and DAQmxAdjust9246OffsetCal functions and their 9247 equivalents were replaced by DAQmxAdjust9246Cal and DAQmxAdjust9247Cal.
The TimingSyncPulseForce functions were removed in 15.1. Why do you need those functions?
Thanks!
12-22-2015 12:56 AM
The functions are not directly used. However, the removal of the function entry points from the NIDAQmx.LIB and NIDAQmx.DLL causes downstream applications that are linked against the LIB and dynamically load the NIDAQmx.DLL to fail as the entry points have been removed.
It is very unusual for library authors to remove entry points as this causes backward incompatibilities when the entry points are removed without a clear deprecation process. The end result of removal of the entry points is that applications that used to work on one version of NIDAQmx stop working when the end user, or NI Driver itself, automatically updates NIDAQmx.
When functions are deprecated it is common to see the invocation of a deprecated function to return a negative status code. Could you please check with the developers to see if this is a bug, and, what the resolution path for this would be like?
It is also useful to know what the process is like when new functions are introduced, and existing functions are deprecated, in NIDAQmx.
Thanks,
Vinod Cherian
MathWorks.
12-23-2015 11:02 AM
Hi Vinod,
We are currently working on escalating this issue internally to get more information. However given the holidays, it may be a while until we have a response. My apologies for the inconvenience.
12-23-2015 11:10 AM
Thanks Yiran. Please keep us posted.
Vinod Cherian
MathWorks
01-04-2016 02:33 PM
Hi Vinod,
For now unfortunately, the best way to resolve this issue would be to rebuild your application against NI-DAQmx 15.1 if the option is available. I realize this is not an ideal solution, but for the time being the function prototypes are not available. We are looking more into this issue internally, but we cannot provide a guarantee as to the timeline. Will that work for your application(s)?
01-04-2016 05:40 PM
Hi Yiran,
This is a workaround that likely will not work for customers who will have to requalify entire test setups because of a driver incompatibility. This is complicated by the fact that the NI Updater service automatically prompts users to update the driver to 15.1.1.
Given the impact of the change, which will require requalifying multiple applications without a single line of code changing in the applications, we are letting our customers know not to upgrade to 15.1.1 of the NIDAQmx driver as it is an unsupported version. Would it be possible for NI to prevent the NI Updater from automatically updating NIDAQmx to 15.1.1 or until a version that resolves this issue?
It would help customers if there was a CAR number to track this issue. Would you be able to provide a CAR number for the issue?
Regards,
Varun Hariharan
MathWorks
01-06-2016 04:22 PM