Why am I getting "Internal error: The initialization of the server code is incorrect" while trying to connect Arduino Mega2560 with MATLAB?

93 views (last 30 days)
Why am I getting "Internal error: The initialization of the server code is incorrect" while trying to connect Arduino Mega2560 with MATLAB using "arduino" command on Windows 10?

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 28 Apr 2020
This issue might occur if the hardware is not getting reset correctly because of the smaller delay time.
The issue can be resolved by changing the "delayValue" to 10 in "getResetDelayHook()" in "arduino.m". The file can be found by executing the following code snippet in the MATLAB Command Window:
which -all arduino
The code for the method getResetDelayHook() in "arduino.m" looks like the following:
function delayValue = getResetDelayHook(obj)
% workaround for Arduino Mega on Linux taking longer time to reset, explained in g1638539
if(obj.ConnectionType==matlabshared.hwsdk.internal.ConnectionTypeEnum.Serial)
if ispc || ismac
delayValue = 2;
else
delayValue = 10;
end
else
%The reset on the DTR line is via Serial only
delayValue = 0;
end
end
Change the value of delayValue inside the if statement (if ispc ismac) to 10. This will give the board more time to get reset and after that connection can be established.
  5 Comments
ABDEL-RAHMAN MRYYAN
ABDEL-RAHMAN MRYYAN on 1 May 2022
Edited: ABDEL-RAHMAN MRYYAN on 1 May 2022
Wow!!! , amaizing math workers.
hopefully I'll be at this amazing stage of programming skills.
ما شاء الله

Sign in to comment.

More Answers (1)

Zafar Ahmad
Zafar Ahmad on 11 Dec 2020
By changing the Port, this problem can be solved.

Products


Release

R2019b

Community Treasure Hunt

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

Start Hunting!