doc/doxygen/html/timer_8h.html
author etisserant
Fri, 29 Jun 2007 19:51:39 +0200
changeset 235 f812bf6b7237
parent 215 f49e5a6b7804
child 240 34654679f262
permissions -rw-r--r--
Preliminary implementation of Event Timer and Inhibit Timer driven TPDO
+ re-organisation and cleanup of pdo.c.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>CanFestival: include/timer.h File Reference</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Generated by Doxygen 1.5.1 -->
<div class="tabs">
  <ul>
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
    <li id="current"><a href="files.html"><span>Files</span></a></li>
    <li><a href="dirs.html"><span>Directories</span></a></li>
  </ul></div>
<div class="tabs">
  <ul>
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
    <li><a href="globals.html"><span>Globals</span></a></li>
  </ul></div>
<div class="nav">
<a class="el" href="dir_2209bfb26110ae52d50da4cefad5e72f.html">include</a></div>
<h1>timer.h File Reference</h1><code>#include &lt;<a class="el" href="win32_2timerscfg_8h-source.html">timerscfg.h</a>&gt;</code><br>
<code>#include &lt;<a class="el" href="win32_2applicfg_8h-source.html">applicfg.h</a>&gt;</code><br>
<code>#include &quot;<a class="el" href="data_8h-source.html">data.h</a>&quot;</code><br>

<p>
Include dependency graph for timer.h:<p><center><img src="timer_8h__incl.png" border="0" usemap="#include/timer.h_map" alt=""></center>
<map name="include/timer.h_map">
<area href="win32_2timerscfg_8h.html" shape="rect" coords="176,8,275,32" alt="">
<area href="win32_2applicfg_8h.html" shape="rect" coords="479,181,567,205" alt="">
<area href="data_8h.html" shape="rect" coords="194,325,258,349" alt="">
<area href="def_8h.html" shape="rect" coords="495,373,551,397" alt="">
<area href="can_8h.html" shape="rect" coords="347,157,406,181" alt="">
<area href="objdictdef_8h.html" shape="rect" coords="326,448,427,472" alt="">
<area href="objacces_8h.html" shape="rect" coords="330,205,423,229" alt="">
<area href="sdo_8h.html" shape="rect" coords="347,592,406,616" alt="">
<area href="pdo_8h.html" shape="rect" coords="347,349,406,373" alt="">
<area href="states_8h.html" shape="rect" coords="339,253,414,277" alt="">
<area href="lifegrd_8h.html" shape="rect" coords="338,301,415,325" alt="">
<area href="sync_8h.html" shape="rect" coords="343,496,410,520" alt="">
<area href="nmtMaster_8h.html" shape="rect" coords="323,544,430,568" alt="">
<area href="config_8h.html" shape="rect" coords="626,373,700,397" alt="">
</map>

<p>
This graph shows which files directly or indirectly include this file:<p><center><img src="timer_8h__dep__incl.png" border="0" usemap="#include/timer.hdep_map" alt=""></center>
<map name="include/timer.hdep_map">
<area href="timer_8c.html" shape="rect" coords="259,6,349,30" alt="">
<area href="timers__unix_8c.html" shape="rect" coords="181,54,427,78" alt="">
<area href="timers__xeno_8c.html" shape="rect" coords="177,102,431,126" alt="">
<area href="drivers__win32_8cpp.html" shape="rect" coords="481,152,721,176" alt="">
<area href="timers__win32_8cpp.html" shape="rect" coords="483,200,720,224" alt="">
<area href="sdo_8h.html" shape="rect" coords="248,350,360,374" alt="">
<area href="timers__driver_8h.html" shape="rect" coords="216,251,392,275" alt="">
<area href="dcf_8c.html" shape="rect" coords="563,446,640,470" alt="">
<area href="sdo_8c.html" shape="rect" coords="561,398,641,422" alt="">
<area href="data_8h.html" shape="rect" coords="543,350,660,374" alt="">
<area href="unix_8c.html" shape="rect" coords="796,336,943,360" alt="">
<area href="unix_2canfestival_8h.html" shape="rect" coords="772,263,967,287" alt="">
</map>

<p>
<a href="timer_8h-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Data Structures</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">struct &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="structstruct__s__timer__entry.html">struct_s_timer_entry</a></td></tr>

<tr><td colspan="2"><br><h2>Defines</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#146f546340de2a44ab2f63681d40de95">TIMER_HANDLE</a>&nbsp;&nbsp;&nbsp;INTEGER16</td></tr>

<tr><td colspan="2"><br><h2>Typedefs</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef void(*)&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#f7d102e060339d3730ceae5fea03691b">TimerCallback_t</a> (<a class="el" href="structstruct__CO__Data.html">CO_Data</a> *d, UNS32 id)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="structstruct__s__timer__entry.html">struct_s_timer_entry</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#da9472124b37d582959f8b16e6d29ffe">s_timer_entry</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">TIMER_HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#11c2616d78f06ed9144ef662f757b128">SetAlarm</a> (<a class="el" href="structstruct__CO__Data.html">CO_Data</a> *d, UNS32 id, <a class="el" href="timer_8h.html#f7d102e060339d3730ceae5fea03691b">TimerCallback_t</a> callback, TIMEVAL value, TIMEVAL period)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">TIMER_HANDLE&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#991b3cfaac2f201b14d5530f75985c21">DelAlarm</a> (TIMER_HANDLE handle)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#9e5fb60f13faab8705899c5806754864">TimeDispatch</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#b8d05dee70f04b5c5190ab00e84da106">setTimer</a> (TIMEVAL value)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">TIMEVAL&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timer_8h.html#4dccc204d52176bd547ab34d6858f5ba">getElapsedTime</a> (void)</td></tr>

</table>
<hr><h2>Define Documentation</h2>
<a class="anchor" name="146f546340de2a44ab2f63681d40de95"></a><!-- doxytag: member="timer.h::TIMER_HANDLE" ref="146f546340de2a44ab2f63681d40de95" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define TIMER_HANDLE&nbsp;&nbsp;&nbsp;INTEGER16          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="timer_8h-source.html#l00029">29</a> of file <a class="el" href="timer_8h-source.html">timer.h</a>.
<p>
Referenced by <a class="el" href="timer_8c-source.html#l00057">SetAlarm()</a>, and <a class="el" href="timer_8c-source.html#l00131">TimeDispatch()</a>.
</div>
</div><p>
<hr><h2>Typedef Documentation</h2>
<a class="anchor" name="da9472124b37d582959f8b16e6d29ffe"></a><!-- doxytag: member="timer.h::s_timer_entry" ref="da9472124b37d582959f8b16e6d29ffe" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structstruct__s__timer__entry.html">struct_s_timer_entry</a> <a class="el" href="structstruct__s__timer__entry.html">s_timer_entry</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="timer_8h-source.html#l00052">52</a> of file <a class="el" href="timer_8h-source.html">timer.h</a>.
</div>
</div><p>
<a class="anchor" name="f7d102e060339d3730ceae5fea03691b"></a><!-- doxytag: member="timer.h::TimerCallback_t" ref="f7d102e060339d3730ceae5fea03691b" args="(CO_Data *d, UNS32 id)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(*) <a class="el" href="timer_8h.html#f7d102e060339d3730ceae5fea03691b">TimerCallback_t</a>(<a class="el" href="structstruct__CO__Data.html">CO_Data</a> *d, UNS32 id)          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="timer_8h-source.html#l00041">41</a> of file <a class="el" href="timer_8h-source.html">timer.h</a>.
</div>
</div><p>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="991b3cfaac2f201b14d5530f75985c21"></a><!-- doxytag: member="timer.h::DelAlarm" ref="991b3cfaac2f201b14d5530f75985c21" args="(TIMER_HANDLE handle)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TIMER_HANDLE DelAlarm           </td>
          <td>(</td>
          <td class="paramtype">TIMER_HANDLE&nbsp;</td>
          <td class="paramname"> <em>handle</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
----- Use this to remove an alarm ----<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>handle</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd></dd></dl>

<p>
Definition at line <a class="el" href="timer_8c-source.html#l00112">112</a> of file <a class="el" href="timer_8c-source.html">timer.c</a>.
<p>
References <a class="el" href="timer_8c-source.html#l00042">last_timer_raw</a>, <a class="el" href="hcs12_2applicfg_8h-source.html#l00190">MSG_WAR</a>, <a class="el" href="timer_8h-source.html#l00044">struct_s_timer_entry::state</a>, and <a class="el" href="timer_8c-source.html#l00039">timers</a>.
<p>
Referenced by <a class="el" href="lifegrd_8c-source.html#l00236">heartbeatStop()</a>, <a class="el" href="lifegrd_8c-source.html#l00081">proceedNODE_GUARD()</a>, <a class="el" href="lifegrd_8c-source.html#l00161">ProducerHearbeatAlarm()</a>, and <a class="el" href="sync_8c-source.html#l00105">stopSYNC()</a>.
</div>
</div><p>
<a class="anchor" name="4dccc204d52176bd547ab34d6858f5ba"></a><!-- doxytag: member="timer.h::getElapsedTime" ref="4dccc204d52176bd547ab34d6858f5ba" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TIMEVAL getElapsedTime           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="canOpenDriver_8c-source.html#l00066">66</a> of file <a class="el" href="canOpenDriver_8c-source.html">canOpenDriver.c</a>.
<p>
References <a class="el" href="timers__win32_8cpp-source.html#l00210">class_timers::get_elapsed_time()</a>, <a class="el" href="portsaccess_8h-source.html#l00046">IO_PORTS_16</a>, and <a class="el" href="ports__def_8h-source.html#l00119">TC4H</a>.
<p>
Here is the call graph for this function:<p><center><img src="timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph.png" border="0" usemap="#timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph_map" alt=""></center>
<map name="timer_8h_4dccc204d52176bd547ab34d6858f5ba_cgraph_map">
<area href="classclass__timers.html#0fa5bd5d1d4012bf9eef3ffabe990dfb" shape="rect" coords="186,6,418,30" alt="">
<area href="classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b" shape="rect" coords="467,6,646,30" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="11c2616d78f06ed9144ef662f757b128"></a><!-- doxytag: member="timer.h::SetAlarm" ref="11c2616d78f06ed9144ef662f757b128" args="(CO_Data *d, UNS32 id, TimerCallback_t callback, TIMEVAL value, TIMEVAL period)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">TIMER_HANDLE SetAlarm           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structstruct__CO__Data.html">CO_Data</a> *&nbsp;</td>
          <td class="paramname"> <em>d</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">UNS32&nbsp;</td>
          <td class="paramname"> <em>id</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="timer_8h.html#f7d102e060339d3730ceae5fea03691b">TimerCallback_t</a>&nbsp;</td>
          <td class="paramname"> <em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TIMEVAL&nbsp;</td>
          <td class="paramname"> <em>value</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TIMEVAL&nbsp;</td>
          <td class="paramname"> <em>period</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
------- Use this to declare a new alarm ------<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>d</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>id</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>callback</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>value</em>&nbsp;</td><td></td></tr>
    <tr><td valign="top"></td><td valign="top"><em>period</em>&nbsp;</td><td></td></tr>
  </table>
</dl>
<dl class="return" compact><dt><b>Returns:</b></dt><dd></dd></dl>

<p>
Definition at line <a class="el" href="timer_8c-source.html#l00057">57</a> of file <a class="el" href="timer_8c-source.html">timer.c</a>.
<p>
References <a class="el" href="timer_8h-source.html#l00045">struct_s_timer_entry::d</a>, <a class="el" href="timer_8c-source.html#l00042">last_timer_raw</a>, <a class="el" href="config_8h-source.html#l00032">MAX_NB_TIMER</a>, <a class="el" href="timer_8h-source.html#l00029">TIMER_HANDLE</a>, and <a class="el" href="timer_8c-source.html#l00039">timers</a>.
<p>
Referenced by <a class="el" href="lifegrd_8c-source.html#l00206">heartbeatInit()</a>, <a class="el" href="lifegrd_8c-source.html#l00081">proceedNODE_GUARD()</a>, <a class="el" href="sync_8c-source.html#l00080">startSYNC()</a>, and <a class="el" href="timers__unix_8c-source.html#l00062">StartTimerLoop()</a>.
</div>
</div><p>
<a class="anchor" name="b8d05dee70f04b5c5190ab00e84da106"></a><!-- doxytag: member="timer.h::setTimer" ref="b8d05dee70f04b5c5190ab00e84da106" args="(TIMEVAL value)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void setTimer           </td>
          <td>(</td>
          <td class="paramtype">TIMEVAL&nbsp;</td>
          <td class="paramname"> <em>value</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>
Definition at line <a class="el" href="timers__unix_8c-source.html#l00083">83</a> of file <a class="el" href="timers__unix_8c-source.html">timers_unix.c</a>.
<p>
References <a class="el" href="timers__unix_8c-source.html#l00082">maxval</a>, <a class="el" href="timers__win32_8cpp-source.html#l00204">class_timers::set_timer()</a>, and <a class="el" href="timers__unix_8c-source.html#l00018">timer</a>.
<p>
Here is the call graph for this function:<p><center><img src="timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph.png" border="0" usemap="#timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph_map" alt=""></center>
<map name="timer_8h_b8d05dee70f04b5c5190ab00e84da106_cgraph_map">
<area href="classclass__timers.html#a27df6346a38fb25acc394cb7998a3f8" shape="rect" coords="138,6,314,30" alt="">
<area href="classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b" shape="rect" coords="363,6,542,30" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="9e5fb60f13faab8705899c5806754864"></a><!-- doxytag: member="timer.h::TimeDispatch" ref="9e5fb60f13faab8705899c5806754864" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void TimeDispatch           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td width="100%"></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
------ TimeDispatch is called on each timer expiration ---- 
<p>
Definition at line <a class="el" href="timer_8c-source.html#l00131">131</a> of file <a class="el" href="timer_8c-source.html">timer.c</a>.
<p>
References <a class="el" href="canOpenDriver_8c-source.html#l00066">getElapsedTime()</a>, <a class="el" href="timer_8c-source.html#l00042">last_timer_raw</a>, <a class="el" href="timer_8c-source.html#l00044">min_val</a>, <a class="el" href="timer_8h-source.html#l00029">TIMER_HANDLE</a>, <a class="el" href="timer_8c-source.html#l00039">timers</a>, <a class="el" href="hcs12_2applicfg_8h-source.html#l00150">TIMEVAL</a>, <a class="el" href="hcs12_2applicfg_8h-source.html#l00153">TIMEVAL_MAX</a>, and <a class="el" href="timer_8c-source.html#l00041">total_sleep_time</a>.
<p>
Referenced by <a class="el" href="timers__win32_8cpp-source.html#l00151">class_timers::timer_loop_thread_proc()</a>, <a class="el" href="timers__unix_8c-source.html#l00030">timer_notify()</a>, and <a class="el" href="timers__xeno_8c-source.html#l00045">timerloop_task_proc()</a>.
<p>
Here is the call graph for this function:<p><center><img src="timer_8h_9e5fb60f13faab8705899c5806754864_cgraph.png" border="0" usemap="#timer_8h_9e5fb60f13faab8705899c5806754864_cgraph_map" alt=""></center>
<map name="timer_8h_9e5fb60f13faab8705899c5806754864_cgraph_map">
<area href="canOpenDriver_8c.html#24dbe63e88d184388542037d16a8208d" shape="rect" coords="171,6,302,30" alt="">
</map>

</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Fri Jun 8 08:52:07 2007 for CanFestival by&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
</body>
</html>