doc/doxygen/html/timers__win32_8cpp.html
author etisserant
Mon, 02 Jul 2007 18:22:58 +0200
changeset 236 905677ed00f3
parent 215 f49e5a6b7804
child 240 34654679f262
permissions -rw-r--r--
Full preliminary implementation of TPDO transmit type:
- SYNC (N) (1-240)
- RTR only + SYNC (252)
- RTR only (253)
- EVENT, with timer and inhibit time (254 and 255)

User app have to call sendPDOevent(d) to eventually signal mapped data changes.
Callbacks added to 0x140N, TPDO comm parameters for on the fly timers values change.
TestMasterSlave updated.
<!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_d58fb241e647de6212c31ecccf9cbace.html">drivers</a>&nbsp;&raquo&nbsp;<a class="el" href="dir_e67188945a11754d0713bc6f89228027.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="615,133,703,157" alt="">
<area href="can__driver_8h.html" shape="rect" coords="462,157,566,181" alt="">
<area href="timer_8h.html" shape="rect" coords="479,209,548,233" alt="">
<area href="timers__driver_8h.html" shape="rect" coords="291,259,414,283" 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#d7fee43b8a44cf8b7036853593044037">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#73d9a4eb941fb20cf6b597840510394b">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#998a8436651e6990d3922ebdc3eebf8b">CreateReceiveTask</a> (<a class="el" href="win32_2applicfg_8h.html#712c7b28987b12b8d400df19c92d0f5e">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#4b2486891ee01e06e2deead4cf963727">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#c9e1731843825eb55e7a94894e6a8ec5">StartTimerLoop</a> (<a class="el" href="timer_8h.html#f7d102e060339d3730ceae5fea03691b">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#8758484f3cebb0cd44bb247c3f23d5e3">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#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="timers__win32_8cpp.html#4dccc204d52176bd547ab34d6858f5ba">getElapsedTime</a> (void)</td></tr>

</table>
<hr><h2>Function Documentation</h2>
<a class="anchor" name="998a8436651e6990d3922ebdc3eebf8b"></a><!-- doxytag: member="timers_win32.cpp::CreateReceiveTask" ref="998a8436651e6990d3922ebdc3eebf8b" 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#712c7b28987b12b8d400df19c92d0f5e">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="d7fee43b8a44cf8b7036853593044037"></a><!-- doxytag: member="timers_win32.cpp::EnterMutex" ref="d7fee43b8a44cf8b7036853593044037" 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_d7fee43b8a44cf8b7036853593044037_cgraph.png" border="0" usemap="#timers__win32_8cpp_d7fee43b8a44cf8b7036853593044037_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_d7fee43b8a44cf8b7036853593044037_cgraph_map">
<area href="classccritical__section.html#94af8f7f73229ecc82a303be7e2b0ad0" shape="rect" coords="156,6,329,30" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="4dccc204d52176bd547ab34d6858f5ba"></a><!-- doxytag: member="timers_win32.cpp::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="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_4dccc204d52176bd547ab34d6858f5ba_cgraph.png" border="0" usemap="#timers__win32_8cpp_4dccc204d52176bd547ab34d6858f5ba_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_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="73d9a4eb941fb20cf6b597840510394b"></a><!-- doxytag: member="timers_win32.cpp::LeaveMutex" ref="73d9a4eb941fb20cf6b597840510394b" 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_73d9a4eb941fb20cf6b597840510394b_cgraph.png" border="0" usemap="#timers__win32_8cpp_73d9a4eb941fb20cf6b597840510394b_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_73d9a4eb941fb20cf6b597840510394b_cgraph_map">
<area href="classccritical__section.html#e1f542404005a2f0696ced6c52a8ce3b" shape="rect" coords="158,6,334,30" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="b8d05dee70f04b5c5190ab00e84da106"></a><!-- doxytag: member="timers_win32.cpp::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__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_b8d05dee70f04b5c5190ab00e84da106_cgraph.png" border="0" usemap="#timers__win32_8cpp_b8d05dee70f04b5c5190ab00e84da106_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_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="c9e1731843825eb55e7a94894e6a8ec5"></a><!-- doxytag: member="timers_win32.cpp::StartTimerLoop" ref="c9e1731843825eb55e7a94894e6a8ec5" 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#f7d102e060339d3730ceae5fea03691b">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_c9e1731843825eb55e7a94894e6a8ec5_cgraph.png" border="0" usemap="#timers__win32_8cpp_c9e1731843825eb55e7a94894e6a8ec5_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_c9e1731843825eb55e7a94894e6a8ec5_cgraph_map">
<area href="timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037" shape="rect" coords="848,27,947,51" alt="">
<area href="canOpenDriver_8c.html#02922529b60419a94afe8f369dda070b" shape="rect" coords="267,224,349,248" alt="">
<area href="timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b" shape="rect" coords="845,173,949,197" alt="">
<area href="classclass__timers.html#e0066fac671c6adb997d6c075487af89" shape="rect" coords="179,272,437,296" alt="">
<area href="timer_8c.html#11c2616d78f06ed9144ef662f757b128" shape="rect" coords="267,320,349,344" alt="">
<area href="classclass__timers.html#d857a63670354f41759f68d4ea29a0f5" shape="rect" coords="189,124,427,148" alt="">
<area href="classclass__timers.html#e4fe19b5b56b72ce2601d74f6519bd0b" shape="rect" coords="808,124,987,148" alt="">
<area href="classclass__timers.html#a68dd5b6225b3519b4bc2a0280683c87" shape="rect" coords="487,75,759,99" alt="">
<area href="timer_8c.html#fa75192a3238525618f8cb83004930cc" shape="rect" coords="840,75,955,99" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="8758484f3cebb0cd44bb247c3f23d5e3"></a><!-- doxytag: member="timers_win32.cpp::StopTimerLoop" ref="8758484f3cebb0cd44bb247c3f23d5e3" 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_8758484f3cebb0cd44bb247c3f23d5e3_cgraph.png" border="0" usemap="#timers__win32_8cpp_8758484f3cebb0cd44bb247c3f23d5e3_cgraph_map" alt=""></center>
<map name="timers__win32_8cpp_8758484f3cebb0cd44bb247c3f23d5e3_cgraph_map">
<area href="timers__unix_8c.html#d7fee43b8a44cf8b7036853593044037" shape="rect" coords="248,6,347,30" alt="">
<area href="timers__unix_8c.html#73d9a4eb941fb20cf6b597840510394b" shape="rect" coords="245,54,349,78" alt="">
<area href="classclass__timers.html#a78d9f5ab159ec6b11b4dc4c8f351697" shape="rect" coords="179,102,416,126" alt="">
</map>

</div>
</div><p>
<a class="anchor" name="4b2486891ee01e06e2deead4cf963727"></a><!-- doxytag: member="timers_win32.cpp::WaitReceiveTaskEnd" ref="4b2486891ee01e06e2deead4cf963727" 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 Fri Jun 8 08:51:45 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>