Added support for POSIX timers
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@111 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
parent
28da5a6c19
commit
36f441cb11
|
@ -867,7 +867,7 @@ below and discussed in the following paragraphs:</p>
|
|||
</ul>
|
||||
|
||||
<ul>
|
||||
<code>CONFIG_DISABLE_CLOCK</code>, <code>CONFIG_DISABLE_PTHREAD</code>,
|
||||
<code>CONFIG_DISABLE_CLOCK</code>, <code>CONFI_DISABLE_POSIX_TIMERS</code>, <code>CONFIG_DISABLE_PTHREAD</code>,
|
||||
<code>CONFIG_DISABLE_SIGNALS</code>, <code>CONFIG_DISABLE_MQUEUE</code>,
|
||||
</ul>
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ User's Manual
|
|||
<P>
|
||||
Gregory Nutt
|
||||
<P>
|
||||
<SMALL>Last Update: January 28, 2007</SMALL>
|
||||
<SMALL>Last Update: March 21, 2007</SMALL>
|
||||
</CENTER>
|
||||
|
||||
<H1>1.0 <A NAME="Introduction">Introduction</A></H1>
|
||||
|
@ -37,7 +37,7 @@ perspective of the firmware developer. This section is divided
|
|||
into several paragraphs that describe different groups of OS interfaces:
|
||||
<UL>
|
||||
<LI>Paragraph 2.1 <A HREF="#Task_Control">Task Control Interfaces</A>
|
||||
8nnnnn<LI>Paragraph 2.2 <A HREF="#Task_Schedule">Task Scheduling Interfaces</A>
|
||||
<LI>Paragraph 2.2 <A HREF="#Task_Schedule">Task Scheduling Interfaces</A>
|
||||
<LI>Paragraph 2.3 <A HREF="#Task_Switch">Task Switching Interfaces</A>
|
||||
<LI>Paragraph 2.4 <A HREF="#Message_Queue">Named Message Queue Interfaces</A>
|
||||
<LI>Paragraph 2.5 <A HREF="#Semaphores">Counting Semaphore Interfaces</A>
|
||||
|
@ -1840,6 +1840,7 @@ interface of the same name.
|
|||
<li><a href="#wddelete">2.6.2 wd_delete</a></li>
|
||||
<li><a href="#wdstart">2.6.3 wd_start</a></li>
|
||||
<li><a href="#wdcancel">2.6.4 wd_cancel</a></li>
|
||||
<li><a href="#wdgettime">2.6.5 wd_gettime</a></li>
|
||||
</ul>
|
||||
|
||||
<H3><a name="wdcreate">2.6.1 wd_create</a></H3>
|
||||
|
@ -2017,6 +2018,30 @@ VxWorks provides the following comparable interface:
|
|||
STATUS wdCancel (WDOG_ID wdog);
|
||||
</PRE>
|
||||
|
||||
<h3><a name="wdgettime">2.6.5 wd_gettime</a></h3>
|
||||
<p>
|
||||
<b>Function Prototype:</b>
|
||||
</p>
|
||||
<pre>
|
||||
#include <wdog.h>
|
||||
Sint wd_gettime(WDOG_ID wdog);
|
||||
</pre>
|
||||
<p>
|
||||
<b>Description:</b>
|
||||
This function returns the time remaining before the the specified watchdog expires.
|
||||
</p>
|
||||
<p>
|
||||
<b>Input Parameters:</b>
|
||||
<ul>
|
||||
<li><code>wdog</code>. Identifies the watchdog that the request is for.</li>
|
||||
</ul>
|
||||
</p>
|
||||
<p>
|
||||
<b>Returned Value:</b>
|
||||
The time in system ticks remaining until the watchdog time expires. Zero
|
||||
means either that wdog is not valid or that the wdog has already expired.
|
||||
</p>
|
||||
|
||||
<HR>
|
||||
|
||||
<H2><A NAME="ClocksNTimers">2.7 Clocks and Timers</A></H2>
|
||||
|
@ -2217,7 +2242,8 @@ VxWorks provides the following comparable interface:
|
|||
<b>Input Parameters:</b>
|
||||
</p>
|
||||
<ul>
|
||||
<li><code>clockid</code>. Specifies the clock to use as the timing base.</li>
|
||||
<li><code>clockid</code>. Specifies the clock to use as the timing base.
|
||||
Must be <code>CLOCK_REALTIME</code>.</li>
|
||||
<li><code>evp</code>. Refers to a user allocated sigevent structure that defines the
|
||||
asynchronous notification. evp may be NULL (see above).</li>
|
||||
<li><code>timerid</code>. The pre-thread timer created by the call to timer_create().</li>
|
||||
|
@ -2241,6 +2267,13 @@ VxWorks provides the following comparable interface:
|
|||
to the CPU-time clock that is specified by clock_id and associated with a
|
||||
thread different thread invoking timer_create().</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b>POSIX Compatibility:</b>
|
||||
Comparable to the POSIX interface of the same name. Differences from the full POSIX implementation include:
|
||||
</p>
|
||||
<ul>
|
||||
<li>Only <code>CLOCK_REALTIME</code> is supported for the <code>clockid</code> argument.</li>
|
||||
</ul>
|
||||
|
||||
<H3><a name="timerdelete">2.7.8 timer_delete</A></H3>
|
||||
<p>
|
||||
|
@ -2275,6 +2308,10 @@ VxWorks provides the following comparable interface:
|
|||
<ul>
|
||||
<li><code>EINVAL</code>. The timer specified timerid is not valid.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b>POSIX Compatibility:</b>
|
||||
Comparable to the POSIX interface of the same name.
|
||||
</p>
|
||||
|
||||
<H3><a name="timersettime">2.7.9 timer_settime</A></H3>
|
||||
<p>
|
||||
|
@ -2326,6 +2363,8 @@ VxWorks provides the following comparable interface:
|
|||
amount of time before the timer would have expired, or zero if the timer was
|
||||
disarmed, together with the previous timer reload value. Timers will not
|
||||
expire before their scheduled time.
|
||||
</p>
|
||||
<b>NOTE:</b>At present, the <code>ovalue</code> argument is ignored.
|
||||
</p>
|
||||
<p>
|
||||
<b>Input Parameters:</b>
|
||||
|
@ -2334,7 +2373,7 @@ VxWorks provides the following comparable interface:
|
|||
<li><code>timerid</code>. The pre-thread timer, previously created by the call to timer_create(), to be be set.</li>
|
||||
<li><code>flags</code>. Specifie characteristics of the timer (see above)</li>
|
||||
<li><code>value</code>. Specifies the timer value to set</li>
|
||||
<li><code>ovalue</code>. A location in which to return the time remaining from the previous timer setting.</li>
|
||||
<li><code>ovalue</code>. A location in which to return the time remaining from the previous timer setting (ignored).</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b>Returned Values:</b>
|
||||
|
@ -2348,6 +2387,13 @@ VxWorks provides the following comparable interface:
|
|||
<li><code>EINVAL</code>. A value structure specified a nanosecond value less than zero or greater than or equal to 1000 million,
|
||||
and the it_value member of that structure did not specify zero seconds and nanoseconds.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b>POSIX Compatibility:</b>
|
||||
Comparable to the POSIX interface of the same name. Differences from the full POSIX implementation include:
|
||||
</p>
|
||||
<ul>
|
||||
<li>The <code>ovalue</code> argument is ignored.</li>
|
||||
</ul>
|
||||
|
||||
<H3><a name="timergettime">2.7.10 timer_gettime</A></H3>
|
||||
<p>
|
||||
|
@ -2367,6 +2413,11 @@ VxWorks provides the following comparable interface:
|
|||
even if the timer was armed with absolute time. The <code>it_interval</code> member of
|
||||
<code>value</code> will contain the reload value last set by <code>timer_settime()</code>.
|
||||
</p>
|
||||
<p>
|
||||
Due to the asynchronous operation of this function, the time reported
|
||||
by this function could be significantly more than that actual time
|
||||
remaining on the timer at any time.
|
||||
</p>
|
||||
<p>
|
||||
<b>Input Parameters:</b>
|
||||
</p>
|
||||
|
@ -2386,6 +2437,10 @@ VxWorks provides the following comparable interface:
|
|||
The <code>timerid</code> argument does not correspond to an ID returned by
|
||||
<code>timer_create()</code> but not yet deleted by <code>timer_delete()</code>.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b>POSIX Compatibility:</b>
|
||||
Comparable to the POSIX interface of the same name.
|
||||
</p>
|
||||
|
||||
<H3><a name="timergetoverrun">2.7.11 timer_getoverrun</A></H3>
|
||||
<p>
|
||||
|
@ -2414,6 +2469,9 @@ VxWorks provides the following comparable interface:
|
|||
for the timer, or if the <i>Realtime Signals Extension</i> is not supported, the
|
||||
return value of <code>timer_getoverrun()</code> is unspecified.
|
||||
</p>
|
||||
<p>
|
||||
<b>NOTE:</b> This interface is not currently implemented in NuttX.
|
||||
</p>
|
||||
<p>
|
||||
<b>Input Parameters:</b>
|
||||
</p>
|
||||
|
@ -2431,6 +2489,13 @@ VxWorks provides the following comparable interface:
|
|||
The <code>timerid</code> argument does not correspond to an ID returned by
|
||||
<code>timer_create()</code> but not yet deleted by <code>timer_delete()</code>.</li>
|
||||
</ul>
|
||||
<p>
|
||||
<b>POSIX Compatibility:</b>
|
||||
Comparable to the POSIX interface of the same name. Differences from the full POSIX implementation include:
|
||||
</p>
|
||||
<ul>
|
||||
<li>This interface is not currently implemented by NuttX.</li>
|
||||
</ul>
|
||||
|
||||
<B>Assumptions/Limitations:</B>
|
||||
<P>
|
||||
|
@ -4925,6 +4990,7 @@ notify a task when a message is available on a queue.
|
|||
<li><a href="#wdcancel">wd_cancel</a></li>
|
||||
<li><a href="#wdcreate">wd_create</a></li>
|
||||
<li><a href="#wddelete">wd_delete</a></li>
|
||||
<li><a href="#wdgettime">wd_gettime</a></li>
|
||||
<li><a href="#wdstart">wd_start</a></li>
|
||||
</ul>
|
||||
|
||||
|
|
Loading…
Reference in New Issue