Error message using timer

Hi,
Im having issues with my timers giving lots of error messages when being runned.
Im using the timer to plot a capture of an image from a camera to get a live stream of the camera.
I also want to plot the image profiles using a secon timer. They can use the same timer, but im not sure its possible.
Any idea what the issue is?
Im getting the following error;
The state of warning 'MATLAB:JavaEDTAutoDelegation' is 'off'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in the second matrix. To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
My timer code:
% timer for plotting camera image
function CreateImageTimer(app)
app.timerImage = timer;
app.timerImage.StartDelay=1;
%app.timerImage.busymode='queue';
app.timerImage.ExecutionMode='fixedSpacing'; % 'fixedDelay'; %
app.timerImage.Period = 0.02;
app.timerImage.TimerFcn = @(~, ~)captureImage(app);
app.timerImage.StopFcn = @(~, ~)CleanUpImageTimer(app);
end % end function
function CleanUpImageTimer(app)
try
delete(app.timerImage)
catch
disp('error cleanup timer')
end
end % end fucntion
% timer for plotting camera image
function CreatePlotTimer(app)
app.timerPlot = timer;
app.timerPlot.StartDelay=2;
%app.timerPlot.busymode='queue';
app.timerPlot.ExecutionMode='fixedSpacing'; % 'fixedDelay'; %
app.timerPlot.Period = 0.1;
app.timerPlot.TimerFcn = @(~, ~)updateImageprofile(app);
app.timerPlot.StopFcn = @(~, ~)CleanUpImageTimer(app);
end % end function

4 comentarios

Jan
Jan el 27 de Mayo de 2021
The problems occur inside captureImage() or updateImageprofile(), but you do not show us the correspodning code.
Happy PhD
Happy PhD el 27 de Mayo de 2021
Editada: Happy PhD el 27 de Mayo de 2021
Oh, I see. I didn't think it was the issue.
Attaching my code.
Thanks!
Jan
Jan el 27 de Mayo de 2021
This is a compiled application. I cannot see the source code.
Happy PhD
Happy PhD el 27 de Mayo de 2021

Iniciar sesión para comentar.

Respuestas (1)

Jan
Jan el 27 de Mayo de 2021

0 votos

Incorrect dimensions for matrix multiplication. Check that the number of columns in
the first matrix matches the number of rows in the second matrix.
To perform elementwise multiplication, use '.*'.
Error while evaluating TimerFcn for timer 'timer-3'
The only matrix multiplcation I see is:
% function updateimageprofile(app,imagefile)
app.ProfileAxes_x.XTickLabel=[0:0.2:1].*XL*app.angularSize;
What is the value of app.angularSize ?

2 comentarios

Happy PhD
Happy PhD el 28 de Mayo de 2021
I don't know, it should just be a number. I can't check because when I run the program and try to debugg it, I get into a endless loop of timer-7 error print-outs and I can't quit it unless I terminate MATLAB via task manager. Cntrl C doesn't work to end it. I decided to start from the beginning and rewritten the code completely instead, taking mini steps and clean-write the code a bit. Hopefully i won't get the same issue. I honestly thought it was a timer issue and not the code for plotting because all that code is suppose to do is plot the intensity profiles of the object I have on the live feed of the camera. Thanks for trying to help.
Jan
Jan el 28 de Mayo de 2021
You can simply insert an output to check the value of the variable before the failing line:
disp(app.angularSize)

Iniciar sesión para comentar.

Categorías

Más información sobre Get Started with MATLAB en Centro de ayuda y File Exchange.

Productos

Versión

R2020b

Etiquetas

Preguntada:

el 27 de Mayo de 2021

Comentada:

Jan
el 28 de Mayo de 2021

Community Treasure Hunt

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

Start Hunting!

Translated by