public inbox for ecos-discuss@sourceware.org
 help / color / mirror / Atom feed
From: "Paul D. DeRocco" <pderocco@ix.netcom.com>
To: "ariga masahiro" <ariga@link-lab.co.jp>,
		"eCos Discuss" <ecos-discuss@ecos.sourceware.org>
Subject: RE: [ECOS] Re: In trouble of timer operations
Date: Fri, 30 May 2008 07:47:00 -0000	[thread overview]
Message-ID: <PGEAIGBPLOMOJDAPCOJHIEJBKPAB.pderocco@ix.netcom.com> (raw)
In-Reply-To: <000d01c8c226$6fa92140$1c0110ac@ariga>

> From: ariga masahiro
>
> OK,I re_state what I want.I like to hold delay as close as  multiple of
> 10ms.

It might be helpful if we had an idea of what you actually need this delay
for. Let's say you need the software to turn on some hardware device at one
point in time, then turn it off some known amount of time later. If 10ms
granularity is sufficient, and it's acceptable to have both the turn-on and
turn-off occur on ticks of the existing system clock, then you could do a
one-tick delay to synchronize your thread to the clock, turn the device on,
delay some additional ticks, and then turn it off.

	cyg_thread_delay(1);
	control_something(TRUE);
	cyg_thread_delay(n);
	control_something(FALSE);

You'd get a pretty accurate n-tick delay between the two calls to
control_something(). But that assumes that no other thread of the same or
higher priority is running.

But if that's all you need, it's easier just to use an alarm object attached
to the system clock, and do whatever you need to do in the alarm handler. It
will run in DSR context, so can't do certain things like file I/O, but it
won't be pre-empted by anything else other than other ISRs and DSRs. A
thread could still control things either by setting static variables that
the alarm handler reads, or by explicitly enabling and disabling the alarm
as needed.

--

Ciao,               Paul D. DeRocco
Paul                mailto:pderocco@ix.netcom.com


-- 
Before posting, please read the FAQ: http://ecos.sourceware.org/fom/ecos
and search the list archive: http://ecos.sourceware.org/ml/ecos-discuss

  reply	other threads:[~2008-05-30  7:47 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-01-07 23:59 [ECOS] Wrongfully compiled code ariga masahiro
2008-01-08  0:05 ` Gary Thomas
2008-01-08  1:05   ` ariga masahiro
2008-01-17 19:21     ` [ECOS] " Dave Lawrence
2008-01-17 23:50       ` ariga masahiro
2008-01-18 12:16         ` Dave Lawrence
2008-01-18 14:40           ` Gregg Levine
2008-01-18 15:44             ` Dave Lawrence
2008-01-18 15:49               ` Gregg Levine
2008-01-18 16:09                 ` Dave Lawrence
2008-01-21  0:34           ` ariga masahiro
2008-02-04  1:49           ` ariga masahiro
2008-02-04 11:38             ` Dave Lawrence
2008-02-12  1:06               ` ariga masahiro
2008-02-12 10:55                 ` Dave Lawrence
2008-02-22  4:57   ` [ECOS] How to re-install newly compiled gnutools ariga masahiro
2008-02-22  7:15     ` ariga masahiro
2008-05-16  8:13       ` [ECOS] When or on what condition does "deschedule" happen? ariga masahiro
2008-05-16 15:26         ` Andrew Lunn
2008-05-19  5:32           ` ariga masahiro
2008-05-19 13:18             ` Andrew Lunn
2008-05-19 13:31               ` Gary Thomas
2008-05-20  1:26               ` ariga masahiro
2008-05-20 12:18                 ` Andrew Lunn
2008-05-23  7:38                   ` ariga masahiro
2008-05-23  9:35                     ` Nick Garnett
     [not found]                   ` <000601c8c165$406e0970$1c0110ac@ariga>
2008-05-29 18:23                     ` [ECOS] Re: In trouble of timer operations Andrew Lunn
2008-05-30  2:50                       ` ariga masahiro
2008-05-30  3:09                         ` Paul D. DeRocco
2008-05-30  4:11                           ` ariga masahiro
2008-05-30  4:43                             ` Paul D. DeRocco
2008-05-30  7:26                               ` ariga masahiro
2008-05-30  7:47                                 ` Paul D. DeRocco [this message]
2008-05-30  8:03                                   ` ariga masahiro
2008-05-30  8:07                                 ` Andrew Lunn
2008-06-04  5:25                                   ` ariga masahiro
2008-06-04 10:06                                     ` Paul D. DeRocco
2008-06-05  6:14                                       ` ariga masahiro
2008-06-05 17:39                                         ` Paul D. DeRocco
2008-05-30  6:35                             ` Andrew Lunn

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=PGEAIGBPLOMOJDAPCOJHIEJBKPAB.pderocco@ix.netcom.com \
    --to=pderocco@ix.netcom.com \
    --cc=ariga@link-lab.co.jp \
    --cc=ecos-discuss@ecos.sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).