annotate general/algo/iterate_sched.m @ 61:eff6bddf82e3
tip
Finally implemented perceptual brightness thing.
author |
samer |
date |
Sun, 11 Oct 2015 10:20:42 +0100 |
parents |
e44f49929e56 |
children |
|
rev |
line source |
samer@4
|
1 function tm=iterate_sched(nextfn,X,T,varargin)
|
samer@4
|
2 % iterate_sched - Iterate function under control of timer
|
samer@4
|
3 %
|
samer@4
|
4 % iterate_sched ::
|
samer@4
|
5 % (A=>A) ~'state transformer action',
|
samer@4
|
6 % A ~'initial state',
|
samer@4
|
7 % real ~'time between updates in seconds'
|
samer@4
|
8 % options {
|
samer@4
|
9 % drawnow :: {0,1} /0 ~'call drawnow after each iteration';
|
samer@4
|
10 % busy_mode :: {'queue','drop'} /'queue' ~'See TIMER';
|
samer@4
|
11 % its :: natural / inf ~'iteration limit'
|
samer@4
|
12 % -> timer.
|
samer@4
|
13
|
samer@4
|
14 opts=prefs('its',inf,'drawnow',0,'busy_mode','queue','props',{},varargin{:});
|
samer@4
|
15 if opts.drawnow, post=@drawnow; else post=@nop; end
|
samer@4
|
16
|
samer@4
|
17 tm=rsched(@action,nows,T,opts.its,iterdata(nextfn,X));
|
samer@4
|
18 function [err,s]=action(t_sched,dt,s)
|
samer@4
|
19 err=nows-t_sched;
|
samer@4
|
20 s=nextfn(s);
|
samer@4
|
21 post();
|
samer@4
|
22 end
|
samer@4
|
23 end
|
samer@4
|
24
|