Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

NI-DAQmx 15.1.1f3 breaks my application

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

0 Kudos
Message 1 of 8
(5,179 Views)

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!

 

 

0 Kudos
Message 2 of 8
(5,113 Views)

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.

0 Kudos
Message 3 of 8
(5,098 Views)

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. 

0 Kudos
Message 4 of 8
(5,034 Views)

Thanks Yiran. Please keep us posted.

 

Vinod Cherian

MathWorks

 

0 Kudos
Message 5 of 8
(5,030 Views)

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)?

0 Kudos
Message 6 of 8
(4,895 Views)

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

0 Kudos
Message 7 of 8
(4,879 Views)

Varun,

 

Thank you for bringing this issue to our attention. We have implemented a fix in NI-DAQmx 15.5, to be released in the coming months. We apologize for the inconvenience that this has caused you and your customers on DAQmx 15.1. When released, look for CAR#564919 in the readme. 

Nathan Murphy
Message 8 of 8
(4,827 Views)