Possible bug found in listArduinoLibraries()

56 views (last 30 days)
Clayton Allen
Clayton Allen on 3 Dec 2024 at 13:23
Answered: Sreeram about 16 hours ago
Greetings,
I have followed the tutorial for the creation of a HelloWorld Arduino Addon Library. Upon completion I was unable to get the addon to register so I subsequently followed the documention for Custom Arduino Library Issues.
1.
clear classes
2.
rehash toolboxcache
Produces a warning:
Warning: Function license has the same name as a MATLAB built-in. We suggest you rename the function to avoid a potential name conflict.
3.
lib = listArduinoLibraries();
Produces a list of warnings and errors
Warning: The following error was caught while executing 'onCleanup' class destructor:
Output argument "status" (and possibly others) not assigned a value in the execution with "matlabshared.ddux/HWSDKDataUtility/dataUpdateImpl" function.
Error in matlabshared.internal.DataUtility/dataUpdate
Error in matlabshared.ddux.HWSDKDataUtilityHelper/integrateData
Error in listArduinoLibraries>@()integrateData(dduxHelper) (line 17)
c = onCleanup(@()integrateData(dduxHelper));
^^^^^^^^^^^^^^^^^^^^^^^^^
Error in onCleanup/delete (line 25)
obj.task();
^^^^^^^^^^
Error in listArduinoLibraries (line 72)
end
^
And of course, my HelloWorld addon doesn't register. Perhaps this potential bug might be the cause?
Cheers,
  4 Comments
Les Beckham
Les Beckham on 5 Dec 2024 at 15:47
Interesting. Did you try which -all license in Matlab Online? The error messages that you showed seemed to indicate an issue with that command.
Clayton Allen
Clayton Allen on 5 Dec 2024 at 16:35
/MATLAB/toolbox/matlab/connector2/shadowfiles/shadows/license/license.m
built-in (/MATLAB/toolbox/local/license) % Shadowed

Sign in to comment.

Answers (1)

Sreeram
Sreeram 1 minute ago
Hi Clayton,
I also encountered the same warnings and errors when callinglistArduinoLibraries()in MATLAB Online.
I fixed it by running the following snippet before calling listArduinoLibraries():
system('mkdir -p overloads/+matlab/+ddux/+internal');
system (['echo -e "function status = logData(identification, varargin) \\n status = true; \\n end" > overloads/+matlab/+ddux/+internal/logData.m']);
addpath('./overloads');
Regarding warning about license, I remember seeing in an older documentation of “rehash” that this functionality was not supported in MATLAB Online. This might be contributing to the unexpected behaviour.

Products


Release

R2024b

Community Treasure Hunt

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

Start Hunting!