How do I loop a program that waits for a .dat file to be updated?

1 visualización (últimos 30 días)
I am trying to loop a program that calls data from a gui input.
In this case 'steps.dat' is created from a gui input and everytime the input changes so does the .dat file. Now I need to loop this program so that everytime the input changes the program runs, but i dont want it to run endlessly i want it to wait for the .dat file to be changed.
Thank you
while
F=load('steps.dat')
for motornum= 1:3
direc= sign(F(motornum))
steps=abs(F(motornum))
end
end
  3 comentarios
Sam Soifer
Sam Soifer el 19 de Nov. de 2018
Editada: Sam Soifer el 19 de Nov. de 2018
The gui Is a forward/ inverse kinematic solution that calculates the number of steps for 3 diffirent motors to move. This command will than be sent to arduino.
Luna
Luna el 20 de Nov. de 2018
Your gui element means when you import your .dat file to your gui by using a browse button, etc.
Define a callback function for that uicontrol object then you can do what ever you want, each time you clicked the button matlab calls the callback function.

Iniciar sesión para comentar.

Respuesta aceptada

Mark Sherstan
Mark Sherstan el 19 de Nov. de 2018
Depending on the size of your .dat file this may work for your application:
while
while ~isfile('steps.dat'); end
F = load('steps.dat');
for motornum = 1:3
direc = sign(F(motornum));
steps = abs(F(motornum));
end
delete steps.dat
end
  5 comentarios
Mark Sherstan
Mark Sherstan el 20 de Nov. de 2018
Something from your GUI writing the file isent being initialized then. It worked for me when I dragged the file into the directory.
Sam Soifer
Sam Soifer el 20 de Nov. de 2018
This is the line of code from my GUI that I am using to write the .dat file
save('steps.dat','FxStep','FyStep','FzStep','-ascii')

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre App Building en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by