MATLAB Answers

Send "abort signal" to MEX

3 views (last 30 days)
Fox Mulder
Fox Mulder on 27 Jul 2021
Commented: Fox Mulder on 28 Jul 2021
I'm playing around in Matlab with MEX-files, right now coding the mandelbrot set. Works well so far, except that with high zooms, the iterations have to go up and thus the execution takes a while. I'd like to send an "abort signal" to the MEX-code when I change settings in Matlab (for example new zoom factor), so that the MEX-code can immediatly start calculating the new settings. Is it possible to, for example, update a variable used in MEX (maybe a variable in workspace that a pointer in MEX points to)? Like a boolean "abort" that I can check in the iteration-loops in MEX?

Accepted Answer

Jan
Jan on 27 Jul 2021
You could check from inside the MEX function, is a key is pressed.
Or you can use mexCallMATLAB to run a drawnow command and request the status of a GUI object, e.g. a button. This takes some time, but it should be enough to trigger this every second.
  1 Comment
Fox Mulder
Fox Mulder on 28 Jul 2021
Thank you, after a lot of struggle, I got the version with mexCallMATLAB to work. Needs a little change in my code, because I can't call mexCallMATLAB or return in a parallel for loop, but that's not a problem.
The version "key pressed" does work, however, only for keyboard. There are virtual key codes that refer to mouse-clicks, but they don't seem to do anything. Is this matlab-specific or maybe because there is no mex-window to click in?

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!