MATLAB: Hardware discovery using instrhwinfo

instrument controlInstrument Control Toolbox

I am developing this little app. There is a "Find" button when it is clicked, I would like to scan for all available hardware connected to my system and then show a list of VISA address that is available.
Below is the code snippet using instrhwinfo to do this job. If this is the right way ?
visainfo = instrhwinfo('visa', 'agilent');
if ( isempty(visainfo.ObjectConstructorName) )
fprintf('No VISA instrument is found');
else
for n = 1:length(visainfo.ObjectConstructorName)
obj = eval(visainfo.ObjectConstructorName{n});
visaInstruments{n} = get(obj, 'RsrcName');
fprintf('%s\n', visaInstruments{n});
end
end
Based on the description for instrhwinfo, 'visa' is the interface and 'agilent' is the adaptor. Question is, if I create a standalone application using application compiler and share to user, does user need to install Agilent VISA library in order to use this application or everything will be provided by the Matlab runtime ?
In other words, any dependency for application using instrument control toolbox ?

Best Answer

Your standalone application will require the user of the application to install any 3rd party drivers such as Agilent VISA. Without this, your compiled code on a machine without Agilent VISA will fail to find Agilent VISA as the VISA libraries are attempted to be loaded up at run time.