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

1 次查看(过去 30 天)
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 个评论
Sam Soifer
Sam Soifer 2018-11-19
编辑:Sam Soifer 2018-11-19
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 2018-11-20
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.

请先登录,再进行评论。

采纳的回答

Mark Sherstan
Mark Sherstan 2018-11-19
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 个评论
Mark Sherstan
Mark Sherstan 2018-11-20
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 2018-11-20
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')

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 App Building 的更多信息

标签

Community Treasure Hunt

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

Start Hunting!

Translated by