doc/doxygen/html/timers__win32_8cpp.html
author etisserant
Fri, 01 Feb 2008 18:06:55 +0100
changeset 378 d2abf6c8c27b
parent 240 34654679f262
permissions -rw-r--r--
As requested long ago, added CoData* parameter to all this applications callback, let application designer use identical callback for multiple nodes, and reduce source code length.

Concerned callbacks :

initialisation
preOperational
operational
stopped
heartbeatError
post_sync
post_TPDO
post_SlaveBootup
storeODSubIndex
post_emcy
<!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: drivers/win32/timers_win32.cpp 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_65dd258ff9b9ef4cd7bd0d22f5e58dba.html">drivers</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_b3944654cff8658babe25b47a3a522e3.html">win32</a></div>
<h1>timers_win32.cpp File Reference</h1><code>#include &lt;windows.h&gt;</code><br>
<code>#include &lt;stdlib.h&gt;</code><br>
<code>#include &quot;<a class="el" href="win32_2applicfg_8h-source.html">applicfg.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="can__driver_8h-source.html">can_driver.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="timer_8h-source.html">timer.h</a>&quot;</code><br>
<code>#include &quot;<a class="el" href="timers__driver_8h-source.html">timers_driver.h</a>&quot;</code><br>

<p>
Include dependency graph for timers_win32.cpp:<p><center><img src="timers__win32_8cpp__incl.png" border="0" usemap="#drivers/win32/timers_win32.cpp_map" alt=""></center>
<map name="drivers/win32/timers_win32.cpp_map">
<area href="win32_2applicfg_8h.html" shape="rect" coords="744,195,819,221" alt="">
<area href="can__driver_8h.html" shape="rect" coords="509,271,597,297" alt="">
<area href="timer_8h.html" shape="rect" coords="401,169,460,196" alt="">
<area href="timers__driver_8h.html" shape="rect" coords="249,119,351,145" alt="">
<area href="can_8h.html" shape="rect" coords="647,271,695,297" alt="">
<area href="win32_2timerscfg_8h.html" shape="rect" coords="513,119,593,145" alt="">
<area href="data_8h.html" shape="rect" coords="527,220,580,247" alt="">
</map>

<p>
<a href="timers__win32_8cpp-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">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classccritical__section.html">ccritical_section</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">class &nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classclass__timers.html">class_timers</a></td></tr>

<tr><td colspan="2"><br><h2>Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timers__win32_8cpp.html#aa3c568288a54a9398524255602bbce8">EnterMutex</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="timers__win32_8cpp.html#887d197b991c23bc11f626ae688abec7">LeaveMutex</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="timers__win32_8cpp.html#ae6d0bd37de8ee577d755d89ae99e931">CreateReceiveTask</a> (<a class="el" href="win32_2applicfg_8h.html#324227f7b01d51ee83a883174769ac8f">CAN_HANDLE</a> fd0, TASK_HANDLE *Thread, void *ReceiveLoopPtr)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timers__win32_8cpp.html#b21b041545f4dfc5660514fbc3c2f89c">WaitReceiveTaskEnd</a> (TASK_HANDLE Thread)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timers__win32_8cpp.html#dd08f21a7c3fcbcd53a2c41b00879fdd">StartTimerLoop</a> (<a class="el" href="timer_8h.html#c8436e7543fa1329b00e570246071313">TimerCallback_t</a> init_callback)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="timers__win32_8cpp.html#8d52f2db8b505e53ace5dd1c2a789d94">StopTimerLoop</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="timers__win32_8cpp.html#7996006c628d2df030b9684d7a86acd1">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="timers__win32_8cpp.html#75efe30105165658d05d871255f8c0a2">getElapsedTime</a> (void)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="ae6d0bd37de8ee577d755d89ae99e931"></a><!-- doxytag: member="timers_win32.cpp::CreateReceiveTask" ref="ae6d0bd37de8ee577d755d89ae99e931" args="(CAN_HANDLE fd0, TASK_HANDLE *Thread, void *ReceiveLoopPtr)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void CreateReceiveTask           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="win32_2applicfg_8h.html#324227f7b01d51ee83a883174769ac8f">CAN_HANDLE</a>&nbsp;</td>
          <td class="paramname"> <em>fd0</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">TASK_HANDLE *&nbsp;</td>
          <td class="paramname"> <em>Thread</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&nbsp;</td>
          <td class="paramname"> <em>ReceiveLoopPtr</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>

<p>
Definition at line <a class="el" href="timers__win32_8cpp-source.html#l00078">78</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</a>.
</div>
</div><p>
<a class="anchor" name="aa3c568288a54a9398524255602bbce8"></a><!-- doxytag: member="timers_win32.cpp::EnterMutex" ref="aa3c568288a54a9398524255602bbce8" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void EnterMutex           </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="timers__win32_8cpp-source.html#l00064">64</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</a>.
<p>
References <a class="el" href="timers__unix_8c-source.html#l00010">CanFestival_mutex</a>, and <a class="el" href="timers__win32_8cpp-source.html#l00049">ccritical_section::enter()</a>.
<p>
Here is the call graph for this function:<p><center><img src="timers__win32_8cpp_aa3c568288a54a9398524255602bbce8_cgraph.png" border="0" usemap="#timers__win32_8cpp_aa3c568288a54a9398524255602bbce8_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_aa3c568288a54a9398524255602bbce8_cgraph_map">
<area href="classccritical__section.html#17e0ee402444af5d8832a009180f5889" shape="rect" coords="140,5,281,32" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="75efe30105165658d05d871255f8c0a2"></a><!-- doxytag: member="timers_win32.cpp::getElapsedTime" ref="75efe30105165658d05d871255f8c0a2" 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="timers__win32_8cpp-source.html#l00238">238</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</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="timers__win32_8cpp_75efe30105165658d05d871255f8c0a2_cgraph.png" border="0" usemap="#timers__win32_8cpp_75efe30105165658d05d871255f8c0a2_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_75efe30105165658d05d871255f8c0a2_cgraph_map">
<area href="classclass__timers.html#25c83088f9f63dfd9b1c79c471edf1ef" shape="rect" coords="164,5,351,32" alt="">
<area href="classclass__timers.html#0c90706e338a7167cfd38a5e8c3e03d6" shape="rect" coords="401,5,545,32" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="887d197b991c23bc11f626ae688abec7"></a><!-- doxytag: member="timers_win32.cpp::LeaveMutex" ref="887d197b991c23bc11f626ae688abec7" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void LeaveMutex           </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="timers__win32_8cpp-source.html#l00069">69</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</a>.
<p>
References <a class="el" href="timers__unix_8c-source.html#l00010">CanFestival_mutex</a>, and <a class="el" href="timers__win32_8cpp-source.html#l00053">ccritical_section::leave()</a>.
<p>
Here is the call graph for this function:<p><center><img src="timers__win32_8cpp_887d197b991c23bc11f626ae688abec7_cgraph.png" border="0" usemap="#timers__win32_8cpp_887d197b991c23bc11f626ae688abec7_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_887d197b991c23bc11f626ae688abec7_cgraph_map">
<area href="classccritical__section.html#19dfa90f87f31c901c6e476221100724" shape="rect" coords="144,5,288,32" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="7996006c628d2df030b9684d7a86acd1"></a><!-- doxytag: member="timers_win32.cpp::setTimer" ref="7996006c628d2df030b9684d7a86acd1" 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__win32_8cpp-source.html#l00233">233</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</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="timers__win32_8cpp_7996006c628d2df030b9684d7a86acd1_cgraph.png" border="0" usemap="#timers__win32_8cpp_7996006c628d2df030b9684d7a86acd1_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_7996006c628d2df030b9684d7a86acd1_cgraph_map">
<area href="classclass__timers.html#1f14efc280b93b373f5831cc9123ab63" shape="rect" coords="123,5,267,32" alt="">
<area href="classclass__timers.html#0c90706e338a7167cfd38a5e8c3e03d6" shape="rect" coords="316,5,460,32" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="dd08f21a7c3fcbcd53a2c41b00879fdd"></a><!-- doxytag: member="timers_win32.cpp::StartTimerLoop" ref="dd08f21a7c3fcbcd53a2c41b00879fdd" args="(TimerCallback_t init_callback)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void StartTimerLoop           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="timer_8h.html#c8436e7543fa1329b00e570246071313">TimerCallback_t</a>&nbsp;</td>
          <td class="paramname"> <em>init_callback</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__win32_8cpp-source.html#l00219">219</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</a>.
<p>
References <a class="el" href="timers__unix_8c-source.html#l00020">EnterMutex()</a>, <a class="el" href="canOpenDriver_8c-source.html#l00079">initTimer()</a>, <a class="el" href="timers__unix_8c-source.html#l00025">LeaveMutex()</a>, <a class="el" href="timers__win32_8cpp-source.html#l00184">class_timers::resume_timer_thread()</a>, <a class="el" href="timer_8c-source.html#l00057">SetAlarm()</a>, <a class="el" href="timers__win32_8cpp-source.html#l00173">class_timers::start_timer_thread()</a>, and <a class="el" href="hcs12_2applicfg_8h-source.html#l00150">TIMEVAL</a>.
<p>
Here is the call graph for this function:<p><center><img src="timers__win32_8cpp_dd08f21a7c3fcbcd53a2c41b00879fdd_cgraph.png" border="0" usemap="#timers__win32_8cpp_dd08f21a7c3fcbcd53a2c41b00879fdd_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_dd08f21a7c3fcbcd53a2c41b00879fdd_cgraph_map">
<area href="timers__unix_8c.html#aa3c568288a54a9398524255602bbce8" shape="rect" coords="719,12,804,39" alt="">
<area href="canOpenDriver_8c.html#607bd2711b85a87fce51334bb36bad1a" shape="rect" coords="228,215,300,241" alt="">
<area href="timers__unix_8c.html#887d197b991c23bc11f626ae688abec7" shape="rect" coords="717,164,805,191" alt="">
<area href="classclass__timers.html#04b480308ab6441248d5890997740cd5" shape="rect" coords="160,265,368,292" alt="">
<area href="timer_8c.html#956b22f24089db4c367f40199f838a20" shape="rect" coords="228,316,300,343" alt="">
<area href="classclass__timers.html#f126a78002e4ac8c105ae782b7a1efbf" shape="rect" coords="168,113,360,140" alt="">
<area href="classclass__timers.html#0c90706e338a7167cfd38a5e8c3e03d6" shape="rect" coords="689,113,833,140" alt="">
<area href="classclass__timers.html#e54913c9e9072df64466d314b5505bc7" shape="rect" coords="416,63,640,89" alt="">
<area href="timer_8c.html#7a5a515821c2e4fb2f66bac72389da00" shape="rect" coords="713,63,809,89" alt="">
<area href="canOpenDriver_8c.html#38b23a8ee3748bca3415967b90df1e15" shape="rect" coords="884,63,991,89" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="8d52f2db8b505e53ace5dd1c2a789d94"></a><!-- doxytag: member="timers_win32.cpp::StopTimerLoop" ref="8d52f2db8b505e53ace5dd1c2a789d94" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void StopTimerLoop           </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="timers__win32_8cpp-source.html#l00228">228</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</a>.
<p>
References <a class="el" href="timers__unix_8c-source.html#l00020">EnterMutex()</a>, <a class="el" href="timers__unix_8c-source.html#l00025">LeaveMutex()</a>, <a class="el" href="timers__win32_8cpp-source.html#l00193">class_timers::stop_timer_thread()</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="timers__win32_8cpp_8d52f2db8b505e53ace5dd1c2a789d94_cgraph.png" border="0" usemap="#timers__win32_8cpp_8d52f2db8b505e53ace5dd1c2a789d94_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_8d52f2db8b505e53ace5dd1c2a789d94_cgraph_map">
<area href="timers__unix_8c.html#aa3c568288a54a9398524255602bbce8" shape="rect" coords="213,5,299,32" alt="">
<area href="timers__unix_8c.html#887d197b991c23bc11f626ae688abec7" shape="rect" coords="212,56,300,83" alt="">
<area href="classclass__timers.html#afe8ebe1021bb60687f8cab05a18d34a" shape="rect" coords="160,107,352,133" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="b21b041545f4dfc5660514fbc3c2f89c"></a><!-- doxytag: member="timers_win32.cpp::WaitReceiveTaskEnd" ref="b21b041545f4dfc5660514fbc3c2f89c" args="(TASK_HANDLE Thread)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void WaitReceiveTaskEnd           </td>
          <td>(</td>
          <td class="paramtype">TASK_HANDLE&nbsp;</td>
          <td class="paramname"> <em>Thread</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__win32_8cpp-source.html#l00084">84</a> of file <a class="el" href="timers__win32_8cpp-source.html">timers_win32.cpp</a>.
</div>
</div><p>
<hr size="1"><address style="align: right;"><small>Generated on Mon Jul 2 19:10:20 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>