Migrating 2015b code to 2018b

Hi everyone ,
I have a .m file which makes use of functions that were available only in 2015b version of matlab and now i need to make the code working on 2018b ? Can someone help to do this?
Thank you

 Accepted Answer

Cris LaPierre
Cris LaPierre on 7 Jul 2021
Edited: Cris LaPierre on 7 Jul 2021
The analoginput function was removed in R2016a. See the release notes here (under Legacy Interface Removed).
Pre R2016a you might do this:
% Legacy code
ai = analoginput('nidaq','Dev1');
addchannel(ai,0);
start(ai);
data = getdata(ai);
Equivalent code starting in R2016a
s = daq.createSession('ni');
addAnalogInputChannel(s,'Dev1',1,'voltage')'
data = startForeground(s);

9 Comments

Thank you for the help , i appreciate it. I was able to resolved analoginput part of the code but i am getting error " too many inputs for daq.getDevices
Cris LaPierre
Cris LaPierre on 7 Jul 2021
Edited: Cris LaPierre on 7 Jul 2021
Please share the full error message (all the red text). Without seeing your cody, my initial reaction is that daq.getDevices does not appear to accept any inputs (see documentation), so you may have a syntax error in your code.
Sorry for the confusion , can you please tell me the alternative of haqhwinfo command ?
MATLAB convereted to a session-based interface. See this page on how to transiion your code to the new interface.
So basically i need to convert this code
HWInfo = daqhwinfo(analoginput(handles.DeviceName,handles.DeviceID))
to 2018 where
handles.DeviceName = 'nidaq'
handles.DevideID = 'dev1'
See this session-based interface example (on the page I linked to previously). You can see the equivalent legacy-interface code just above it.
Thank you so much that was really helpful , but still i am stuck here at :
I cannot find the property (DifferentialIDs) of the object created by daq.getDevices
for example
HWinfo = daq.getDevices
HWinfo.DifferentialIDs
What does DifferentialIDs refer to??
I'm not sure what it refers to. My searching suggests it is not a property of session-based interfaces. I can't find any references to it at least.
Thank you so much for your help. I really appreciate it.

Sign in to comment.

More Answers (1)

In fact, in general all M-files (Simulink .slx and .mdl files) are forward compatible. However, there a few fcn/command syntaxes have been changed in later versions of matlab. E.g.:
legend('Abc', 'Dce', 1) % Old version
legend('Abc', 'Dce', 'location', 'northeast')

1 Comment

HWInfo = daqhwinfo(analoginput(handles.DeviceName,handles.DeviceID))
the above line has functions that were used in 2015b , can you help me to make it work on 2018b?

Sign in to comment.

Categories

Products

Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!