Mercurial > hg > ltpda
diff m-toolbox/classes/@LTPDARepositoryManager/startTimer.m @ 0:f0afece42f48
Import.
author | Daniele Nicolodi <nicolodi@science.unitn.it> |
---|---|
date | Wed, 23 Nov 2011 19:22:13 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/m-toolbox/classes/@LTPDARepositoryManager/startTimer.m Wed Nov 23 19:22:13 2011 +0100 @@ -0,0 +1,37 @@ +% STARTTIMER returns a started timer. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% +% description: STARTTIMER returns a started timer. +% +% call: t = startTimer(name, fcn, period) +% +% inputs: name - name of the timer +% fcn - call back function of the timer +% period - period of the timer +% +% outputs: t - new timer object. +% +% version: $Id: startTimer.m,v 1.3 2011/02/03 13:44:02 ingo Exp $ +% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +function t = startTimer(name, fcn, period) + + t = timerfind('name', name); + + if isempty(t) || (isa(t, 'timer') && ~isvalid(t)) + + t = timer(... + 'TimerFcn', fcn, ... + 'StartDelay', period, ... + 'Period', period, ... + 'ExecutionMode', 'fixedRate', ... + 'Name', name); + end + + % start the timer + if ~strcmp(get(t,'Running'), 'on') + start(t); + end + +end