Count the time a toggle button is pressed down
    10 views (last 30 days)
  
       Show older comments
    
Hello,
I would like to know how can I create a timer that will only be activated when a toggle button is pressed down. It will of course start from 0 as the button is up when I launch the GUI, but when I press the button, I would like the timer to start, and then stop when I press it again. Then, I would like the timer to resume when I press the toggle button down again, and so on.
How can I do that?
Thanks!
0 Comments
Answers (1)
  Andrew Reibold
      
 on 2 Dec 2014
        
      Edited: Andrew Reibold
      
 on 2 Dec 2014
  
      I use tic and toc to start and stop timers
>> help tic
 tic Start a stopwatch timer.
    tic and TOC functions work together to measure elapsed time.
Run tic and a timer starts. Then everytime you run toc , it tells you how much time since the last tic.
What I would do is run tic and toc to measure how long the toggle was down. Save that value to a variable. Then each time you do that another time, add the new tic/toc difference to your running variable of total time.
3 Comments
  Guillaume
      
      
 on 2 Dec 2014
				
      Edited: Guillaume
      
      
 on 2 Dec 2014
  
			To make sure that you don't 'lose your workspace tic/toc values or something' and to make sure that a tic/toc from another piece of code does not interfere, explicitly use the return value of tic:
function togglebutton1_Callback(hObject, eventdata, handles)
  persistent t;
  if get(hObject, 'Value')
     t = tic
     disp('timer started')
  else
     elapsedtime = toc(t);
     fprintf('time elapsed = %f', elapsedtime);
  end
end
See Also
Categories
				Find more on Startup and Shutdown 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!
