Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 09 Jul 1999 10:26:15 +0900
From:      Seigo Tanimura <tanimura@naklab.dnj.ynu.ac.jp>
To:        julian@whistle.com
Cc:        Seigo Tanimura <tanimura@naklab.dnj.ynu.ac.jp>
Subject:   Re: Rewriting pca(4) using finetimer(9) (was: Re: MPU401 now works under New Midi Driver Framework with a Fine Timer)
Message-ID:  <19990709102615A.tanimura@sakuramail.com>
In-Reply-To: Your message of "Thu, 8 Jul 1999 11:23:42 -0700 (PDT)" <Pine.BSF.3.95.990708112244.25198C-100000@current1.whistle.com>
References:  <Pine.BSF.3.95.990708112244.25198C-100000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
From: Julian Elischer <julian@whistle.com>
Subject: Re: Rewriting pca(4) using finetimer(9) (was: Re: MPU401 now works
 under New Midi Driver Framework with a Fine Timer)
Date: Thu, 8 Jul 1999 11:23:42 -0700 (PDT)
Message-ID: <Pine.BSF.3.95.990708112244.25198C-100000@current1.whistle.com>

julian> this is problematic.
julian> you cannot add a new element before the pending firing because you can't
julian> tell how far into the present trigger you are.

The workaround below would help it. The time elapsed since the last
aquire_timer0() can be determined by latching the timer counter.


From: Seigo Tanimura <tanimura@naklab.dnj.ynu.ac.jp>
Subject: Re: Rewriting pca(4) using finetimer(9) (was: Re: MPU401 now worksunder New Midi Driver Framework with a Fine Timer)
Date: Thu, 08 Jul 1999 18:40:23 +0900
Message-ID: <199907080940.SAA26649@rina.naklab.dnj.ynu.ac.jp>

tanimura> > 	t' > \sum_(k=0)^(j) dt_rem(c_k)
tanimura> > 
tanimura> > where the right hand side of the inequality is the time span after which
tanimura> > the callout c_k is made. Then c' is inserted after c_j and new dt_rem(c_(j+1))
tanimura> > and dt_rem(c_(j+2)) are determined. Now we can acquire_timer0() with dt_rem(c_0).
tanimura> 
tanimura> If t' is less than dt_rem(c_0) then we have no feasible j. This is the case
tanimura> in which we must reaquire_timer0() using t'. Then, after interting c', dt_rem(c_1)
tanimura> is updated to be (dt_rem(c_1) - (time elapsed since the last aquire_timer0())),
tanimura> so that c_1 can be armed later.


Seigo Tanimura <tanimura@naklab.dnj.ynu.ac.jp>


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19990709102615A.tanimura>