Send "abort signal" to MEX

5 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)

Categories

Find more on Graphics Objects in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!