doc/doxygen/html/lifegrd_8c-source.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.
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     2
<html><head><meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
     3
<title>CanFestival: src/lifegrd.c Source File</title>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     4
<link href="doxygen.css" rel="stylesheet" type="text/css">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     5
<link href="tabs.css" rel="stylesheet" type="text/css">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     6
</head><body>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     7
<!-- Generated by Doxygen 1.5.1 -->
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     8
<div class="tabs">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
     9
  <ul>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    10
    <li><a href="main.html"><span>Main&nbsp;Page</span></a></li>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    11
    <li><a href="annotated.html"><span>Data&nbsp;Structures</span></a></li>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    12
    <li id="current"><a href="files.html"><span>Files</span></a></li>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    13
    <li><a href="dirs.html"><span>Directories</span></a></li>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    14
  </ul></div>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    15
<div class="tabs">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    16
  <ul>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    17
    <li><a href="files.html"><span>File&nbsp;List</span></a></li>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    18
    <li><a href="globals.html"><span>Globals</span></a></li>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    19
  </ul></div>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    20
<div class="nav">
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    21
<a class="el" href="dir_c0a169d39c08973f879fd54f07b9e9f7.html">src</a></div>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    22
<h1>lifegrd.c</h1><a href="lifegrd_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    23
<a name="l00002"></a>00002 <span class="comment">  This file is part of CanFestival, a library implementing CanOpen</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    24
<a name="l00003"></a>00003 <span class="comment">  Stack.</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    25
<a name="l00004"></a>00004 <span class="comment"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    26
<a name="l00005"></a>00005 <span class="comment">  Copyright (C): Edouard TISSERANT and Francis DUPIN</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    27
<a name="l00006"></a>00006 <span class="comment"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    28
<a name="l00007"></a>00007 <span class="comment">  See COPYING file for copyrights details.</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    29
<a name="l00008"></a>00008 <span class="comment"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    30
<a name="l00009"></a>00009 <span class="comment">  This library is free software; you can redistribute it and/or</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    31
<a name="l00010"></a>00010 <span class="comment">  modify it under the terms of the GNU Lesser General Public</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    32
<a name="l00011"></a>00011 <span class="comment">  License as published by the Free Software Foundation; either</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    33
<a name="l00012"></a>00012 <span class="comment">  version 2.1 of the License, or (at your option) any later version.</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    34
<a name="l00013"></a>00013 <span class="comment"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    35
<a name="l00014"></a>00014 <span class="comment">  This library is distributed in the hope that it will be useful,</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    36
<a name="l00015"></a>00015 <span class="comment">  but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    37
<a name="l00016"></a>00016 <span class="comment">  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    38
<a name="l00017"></a>00017 <span class="comment">  Lesser General Public License for more details.</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    39
<a name="l00018"></a>00018 <span class="comment"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    40
<a name="l00019"></a>00019 <span class="comment">  You should have received a copy of the GNU Lesser General Public</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    41
<a name="l00020"></a>00020 <span class="comment">  License along with this library; if not, write to the Free Software</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    42
<a name="l00021"></a>00021 <span class="comment">  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    43
<a name="l00022"></a>00022 <span class="comment">  USA</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    44
<a name="l00023"></a>00023 <span class="comment">*/</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    45
<a name="l00024"></a>00024 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    46
<a name="l00035"></a>00035 <span class="preprocessor">#include &lt;<a class="code" href="data_8h.html">data.h</a>&gt;</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    47
<a name="l00036"></a>00036 <span class="preprocessor">#include "<a class="code" href="lifegrd_8h.html">lifegrd.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    48
<a name="l00037"></a>00037 <span class="preprocessor">#include "<a class="code" href="win32_2canfestival_8h.html">canfestival.h</a>"</span>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    49
<a name="l00038"></a>00038 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    50
<a name="l00039"></a>00039 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    51
<a name="l00040"></a>00040 <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198">ConsumerHearbeatAlarm</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <span class="keywordtype">id</span>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    52
<a name="l00041"></a>00041 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    53
<a name="l00042"></a>00042 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    54
<a name="l00043"></a>00043 <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#626b7d9e527a898682d9122f91454de9">ProducerHearbeatAlarm</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <span class="keywordtype">id</span>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    55
<a name="l00044"></a>00044 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    56
<a name="l00045"></a>00045 <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <a class="code" href="lifegrd_8c.html#ec7b3543d04cf7d7098b27fba2510696">OnHearbeatProducerUpdate</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <span class="keyword">const</span> <a class="code" href="structtd__indextable.html">indextable</a> * unsused_indextable, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> unsused_bSubindex);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    57
<a name="l00046"></a>00046 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    58
<a name="l00055"></a><a class="code" href="lifegrd_8h.html#627254070e45c23f1776e12c524492ff">00055</a> <a class="code" href="states_8h.html#5891f63a4c9243179838389a93d084e2">e_nodeState</a> <a class="code" href="lifegrd_8c.html#627254070e45c23f1776e12c524492ff">getNodeState</a> (<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> nodeId)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    59
<a name="l00056"></a>00056 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    60
<a name="l00057"></a>00057   <a class="code" href="states_8h.html#5891f63a4c9243179838389a93d084e2">e_nodeState</a> networkNodeState = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#40414cf320a3c3d6236790bd10b4301a">NMTable</a>[nodeId];
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    61
<a name="l00058"></a>00058   <span class="keywordflow">return</span> networkNodeState;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    62
<a name="l00059"></a>00059 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    63
<a name="l00060"></a>00060 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    64
<a name="l00067"></a><a class="code" href="lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198">00067</a> <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198">ConsumerHearbeatAlarm</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <span class="keywordtype">id</span>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    65
<a name="l00068"></a>00068 {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    66
<a name="l00069"></a>00069   <span class="comment">/*MSG_WAR(0x00, "ConsumerHearbeatAlarm", 0x00);*/</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    67
<a name="l00070"></a>00070 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    68
<a name="l00072"></a>00072   (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#2ec2bc87656945d2c7dda7ebe662b245">heartbeatError</a>)((<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)( ((<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#928052654c25135aab556909845fa8ea">ConsumerHeartbeatEntries</a>[<span class="keywordtype">id</span>]) &amp; (<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>)0x00FF0000) &gt;&gt; (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)16 ));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    69
<a name="l00073"></a>00073 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    70
<a name="l00074"></a>00074 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    71
<a name="l00081"></a><a class="code" href="lifegrd_8h.html#b3248945e06e8b05518beddf665f174d">00081</a> <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#b3248945e06e8b05518beddf665f174d">proceedNODE_GUARD</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="structMessage.html">Message</a>* m )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    72
<a name="l00082"></a>00082 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    73
<a name="l00083"></a>00083   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> nodeId = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>) <a class="code" href="objdictdef_8h.html#9a52aa7b754f95659a55cdc46370c588">GET_NODE_ID</a>((*m));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    74
<a name="l00084"></a>00084 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    75
<a name="l00085"></a>00085   <span class="keywordflow">if</span>((m-&gt;<a class="code" href="structMessage.html#41c5a4e7eaeb2c2ae1af2b2c83129615">rtr</a> == 1) )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    76
<a name="l00090"></a>00090     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    77
<a name="l00097"></a>00097       <span class="keywordflow">if</span> (nodeId == *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e5c35e97a1061bb9737359cc12192269">bDeviceNodeId</a> )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    78
<a name="l00098"></a>00098         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    79
<a name="l00099"></a>00099           <a class="code" href="structMessage.html">Message</a> msg;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    80
<a name="l00100"></a>00100           msg.<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a> = *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e5c35e97a1061bb9737359cc12192269">bDeviceNodeId</a> + 0x700;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    81
<a name="l00101"></a>00101           msg.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)0x01;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    82
<a name="l00102"></a>00102           msg.<a class="code" href="structMessage.html#41c5a4e7eaeb2c2ae1af2b2c83129615">rtr</a> = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    83
<a name="l00103"></a>00103           msg.<a class="code" href="structMessage.html#229865b09691e658677ba76f2d82ce89">data</a>[0] = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    84
<a name="l00104"></a>00104           <span class="keywordflow">if</span> (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#01f012ef56b614a9519530433b01054f">toggle</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    85
<a name="l00105"></a>00105             {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    86
<a name="l00106"></a>00106               msg.<a class="code" href="structMessage.html#229865b09691e658677ba76f2d82ce89">data</a>[0] |= 0x80 ;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    87
<a name="l00107"></a>00107               <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#01f012ef56b614a9519530433b01054f">toggle</a> = 0 ;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    88
<a name="l00108"></a>00108             }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    89
<a name="l00109"></a>00109           <span class="keywordflow">else</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    90
<a name="l00110"></a>00110             <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#01f012ef56b614a9519530433b01054f">toggle</a> = 1 ;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    91
<a name="l00111"></a>00111           <span class="comment">/* send the nodeguard response. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    92
<a name="l00112"></a>00112           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3130, <span class="stringliteral">"Sending NMT Nodeguard to master, state: "</span>, <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    93
<a name="l00113"></a>00113           <a class="code" href="canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977">canSend</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#c960c3c56e8389105c2853cfb393de0c">canHandle</a>,&amp;msg );
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    94
<a name="l00114"></a>00114         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    95
<a name="l00115"></a>00115 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    96
<a name="l00116"></a>00116     }<span class="keywordflow">else</span>{ <span class="comment">/* Not a request CAN */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    97
<a name="l00117"></a>00117 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    98
<a name="l00118"></a>00118       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3110, <span class="stringliteral">"Received NMT nodeId : "</span>, nodeId);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    99
<a name="l00119"></a>00119       <span class="comment">/* the slave's state receievd is stored in the NMTable */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   100
<a name="l00120"></a>00120       <span class="comment">/* The state is stored on 7 bit */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   101
<a name="l00121"></a>00121       <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#40414cf320a3c3d6236790bd10b4301a">NMTable</a>[nodeId] = (<a class="code" href="states_8h.html#5891f63a4c9243179838389a93d084e2">e_nodeState</a>) ((*m).data[0] &amp; 0x7F) ;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   102
<a name="l00122"></a>00122 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   103
<a name="l00123"></a>00123       <span class="comment">/* Boot-Up frame reception */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   104
<a name="l00124"></a>00124       <span class="keywordflow">if</span> ( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#40414cf320a3c3d6236790bd10b4301a">NMTable</a>[nodeId] == <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646eb3ae26d7a1629aa0fc6c83f46306cf5">Initialisation</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   105
<a name="l00125"></a>00125         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   106
<a name="l00126"></a>00126           <span class="comment">/*</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   107
<a name="l00127"></a>00127 <span class="comment">          ** The device send the boot-up message (Initialisation)</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   108
<a name="l00128"></a>00128 <span class="comment">          ** to indicate the master that it is entered in</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   109
<a name="l00129"></a>00129 <span class="comment">          ** pre_operational mode</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   110
<a name="l00130"></a>00130 <span class="comment">          ** Because the  device enter automaticaly in pre_operational</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   111
<a name="l00131"></a>00131 <span class="comment">          ** mode,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   112
<a name="l00132"></a>00132 <span class="comment">          ** the pre_operational mode is stored</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   113
<a name="l00133"></a>00133 <span class="comment">          ** NMTable[bus_id][nodeId] = Pre_operational</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   114
<a name="l00134"></a>00134 <span class="comment">          */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   115
<a name="l00135"></a>00135           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3100, <span class="stringliteral">"The NMT is a bootup from node : "</span>, nodeId);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   116
<a name="l00136"></a>00136         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   117
<a name="l00137"></a>00137 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   118
<a name="l00138"></a>00138       <span class="keywordflow">if</span>( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#40414cf320a3c3d6236790bd10b4301a">NMTable</a>[nodeId] != <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646cb4b5cb64be091d76f846380eb0afe59">Unknown_state</a> ) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   119
<a name="l00139"></a>00139         <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> index, ConsummerHeartBeat_nodeId ;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   120
<a name="l00140"></a>00140         <span class="keywordflow">for</span>( index = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)0x00; index &lt; *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#51a0927cdf730eca5661d2d1a26b9e43">ConsumerHeartbeatCount</a>; index++ )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   121
<a name="l00141"></a>00141           {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   122
<a name="l00142"></a>00142             ConsummerHeartBeat_nodeId = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)( ((<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#928052654c25135aab556909845fa8ea">ConsumerHeartbeatEntries</a>[index]) &amp; (<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>)0x00FF0000) &gt;&gt; (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)16 );
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   123
<a name="l00143"></a>00143             if ( nodeId == ConsummerHeartBeat_nodeId )
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   124
<a name="l00144"></a>00144               {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   125
<a name="l00145"></a>00145                 <a class="code" href="hcs12_2applicfg_8h.html#6ae11f09e1ebf40f3562857272fab8bf">TIMEVAL</a> time = ( (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#928052654c25135aab556909845fa8ea">ConsumerHeartbeatEntries</a>[index]) &amp; (UNS32)0x0000FFFF ) ;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   126
<a name="l00146"></a>00146                 <span class="comment">/* Renew alarm for next heartbeat. */</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   127
<a name="l00147"></a>00147                 <a class="code" href="timer_8c.html#991b3cfaac2f201b14d5530f75985c21">DelAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e0b1fd1bec517c2bc12c5a4fd72adca6">ConsumerHeartBeatTimers</a>[index]);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   128
<a name="l00148"></a>00148                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e0b1fd1bec517c2bc12c5a4fd72adca6">ConsumerHeartBeatTimers</a>[index] = <a class="code" href="timer_8c.html#11c2616d78f06ed9144ef662f757b128">SetAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, index, &amp;<a class="code" href="lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198">ConsumerHearbeatAlarm</a>, <a class="code" href="hcs12_2applicfg_8h.html#ee85d2eeabff670269ebc2e00251ac6d">MS_TO_TIMEVAL</a>(time), 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   129
<a name="l00149"></a>00149               }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   130
<a name="l00150"></a>00150           }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   131
<a name="l00151"></a>00151       }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   132
<a name="l00152"></a>00152     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   133
<a name="l00153"></a>00153 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   134
<a name="l00154"></a>00154 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   135
<a name="l00161"></a><a class="code" href="lifegrd_8c.html#626b7d9e527a898682d9122f91454de9">00161</a> <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#626b7d9e527a898682d9122f91454de9">ProducerHearbeatAlarm</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <span class="keywordtype">id</span>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   136
<a name="l00162"></a>00162 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   137
<a name="l00163"></a>00163   <span class="keywordflow">if</span>(*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#61d5500b982867b523baf6668a2c377d">ProducerHeartBeatTime</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   138
<a name="l00164"></a>00164     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   139
<a name="l00165"></a>00165       <a class="code" href="structMessage.html">Message</a> msg;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   140
<a name="l00166"></a>00166       <span class="comment">/* Time expired, the heartbeat must be sent immediately</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   141
<a name="l00167"></a>00167 <span class="comment">      ** generate the correct node-id: this is done by the offset 1792</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   142
<a name="l00168"></a>00168 <span class="comment">      ** (decimal) and additionaly</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   143
<a name="l00169"></a>00169 <span class="comment">      ** the node-id of this device.</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   144
<a name="l00170"></a>00170 <span class="comment">      */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   145
<a name="l00171"></a>00171 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   146
<a name="l00172"></a>00172       msg.<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a> = *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e5c35e97a1061bb9737359cc12192269">bDeviceNodeId</a> + 0x700;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   147
<a name="l00173"></a>00173       msg.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)0x01;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   148
<a name="l00174"></a>00174       msg.<a class="code" href="structMessage.html#41c5a4e7eaeb2c2ae1af2b2c83129615">rtr</a> = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   149
<a name="l00175"></a>00175       msg.<a class="code" href="structMessage.html#229865b09691e658677ba76f2d82ce89">data</a>[0] = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a>; <span class="comment">/* No toggle for heartbeat !*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   150
<a name="l00176"></a>00176       <span class="comment">/* send the heartbeat */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   151
<a name="l00177"></a>00177       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3130, <span class="stringliteral">"Producing heartbeat: "</span>, <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   152
<a name="l00178"></a>00178       <a class="code" href="canOpenDriver_8c.html#b57b4b3c000e9f61135175495e874977">canSend</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#c960c3c56e8389105c2853cfb393de0c">canHandle</a>,&amp;msg );
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   153
<a name="l00179"></a>00179 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   154
<a name="l00180"></a>00180     }<span class="keywordflow">else</span>{
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   155
<a name="l00181"></a>00181       <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#914dd3ff14e15217fe67c0804200a200">ProducerHeartBeatTimer</a> = <a class="code" href="timer_8c.html#991b3cfaac2f201b14d5530f75985c21">DelAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#914dd3ff14e15217fe67c0804200a200">ProducerHeartBeatTimer</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   156
<a name="l00182"></a>00182     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   157
<a name="l00183"></a>00183 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   158
<a name="l00184"></a>00184 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   159
<a name="l00194"></a><a class="code" href="lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368">00194</a> <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <a class="code" href="lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368">OnHeartbeatProducerUpdate</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <span class="keyword">const</span> <a class="code" href="structtd__indextable.html">indextable</a> * unsused_indextable, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> unsused_bSubindex)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   160
<a name="l00195"></a>00195 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   161
<a name="l00196"></a>00196   <a class="code" href="lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7">heartbeatStop</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   162
<a name="l00197"></a>00197   <a class="code" href="lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21">heartbeatInit</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   163
<a name="l00198"></a>00198   <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   164
<a name="l00199"></a>00199 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   165
<a name="l00200"></a>00200 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   166
<a name="l00206"></a><a class="code" href="lifegrd_8h.html#8896f6846e4d020390f6953f3d98aa21">00206</a> <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21">heartbeatInit</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   167
<a name="l00207"></a>00207 {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   168
<a name="l00208"></a>00208 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   169
<a name="l00209"></a>00209   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> index; <span class="comment">/* Index to scan the table of heartbeat consumers */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   170
<a name="l00210"></a>00210   <a class="code" href="objacces_8c.html#514e7b9c13835a86446b1cd38fa34049">RegisterSetODentryCallBack</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, 0x1017, 0x00, &amp;<a class="code" href="lifegrd_8c.html#098c81fb9326fb2c7b43e88a55ce1368">OnHeartbeatProducerUpdate</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   171
<a name="l00211"></a>00211 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   172
<a name="l00212"></a>00212   <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#01f012ef56b614a9519530433b01054f">toggle</a> = 0;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   173
<a name="l00213"></a>00213 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   174
<a name="l00214"></a>00214   <span class="keywordflow">for</span>( index = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)0x00; index &lt; *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#51a0927cdf730eca5661d2d1a26b9e43">ConsumerHeartbeatCount</a>; index++ )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   175
<a name="l00215"></a>00215     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   176
<a name="l00216"></a>00216       <a class="code" href="hcs12_2applicfg_8h.html#6ae11f09e1ebf40f3562857272fab8bf">TIMEVAL</a> time = (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>) ( (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#928052654c25135aab556909845fa8ea">ConsumerHeartbeatEntries</a>[index]) &amp; (<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>)0x0000FFFF ) ;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   177
<a name="l00217"></a>00217       <span class="comment">/* MSG_WAR(0x3121, "should_time : ", should_time ) ; */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   178
<a name="l00218"></a>00218       if ( time )
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   179
<a name="l00219"></a>00219         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   180
<a name="l00220"></a>00220           <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e0b1fd1bec517c2bc12c5a4fd72adca6">ConsumerHeartBeatTimers</a>[index] = <a class="code" href="timer_8c.html#11c2616d78f06ed9144ef662f757b128">SetAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, index, &amp;<a class="code" href="lifegrd_8c.html#e3cd4656f5b2a37d4b8d364293538198">ConsumerHearbeatAlarm</a>, <a class="code" href="hcs12_2applicfg_8h.html#ee85d2eeabff670269ebc2e00251ac6d">MS_TO_TIMEVAL</a>(time), 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   181
<a name="l00221"></a>00221         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   182
<a name="l00222"></a>00222     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   183
<a name="l00223"></a>00223 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   184
<a name="l00224"></a>00224   <span class="keywordflow">if</span> ( *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#61d5500b982867b523baf6668a2c377d">ProducerHeartBeatTime</a> )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   185
<a name="l00225"></a>00225     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   186
<a name="l00226"></a>00226       <a class="code" href="hcs12_2applicfg_8h.html#6ae11f09e1ebf40f3562857272fab8bf">TIMEVAL</a> time = *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#61d5500b982867b523baf6668a2c377d">ProducerHeartBeatTime</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   187
<a name="l00227"></a>00227       <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#914dd3ff14e15217fe67c0804200a200">ProducerHeartBeatTimer</a> = <a class="code" href="timer_8c.html#11c2616d78f06ed9144ef662f757b128">SetAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, 0, &amp;<a class="code" href="lifegrd_8c.html#626b7d9e527a898682d9122f91454de9">ProducerHearbeatAlarm</a>, <a class="code" href="hcs12_2applicfg_8h.html#ee85d2eeabff670269ebc2e00251ac6d">MS_TO_TIMEVAL</a>(time), <a class="code" href="hcs12_2applicfg_8h.html#ee85d2eeabff670269ebc2e00251ac6d">MS_TO_TIMEVAL</a>(time));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   188
<a name="l00228"></a>00228     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   189
<a name="l00229"></a>00229 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   190
<a name="l00230"></a>00230 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   191
<a name="l00236"></a><a class="code" href="lifegrd_8h.html#1b73047269c2a02065e12af18c6053c7">00236</a> <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7">heartbeatStop</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   192
<a name="l00237"></a>00237 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   193
<a name="l00238"></a>00238   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> index;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   194
<a name="l00239"></a>00239   <span class="keywordflow">for</span>( index = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)0x00; index &lt; *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#51a0927cdf730eca5661d2d1a26b9e43">ConsumerHeartbeatCount</a>; index++ )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   195
<a name="l00240"></a>00240     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   196
<a name="l00241"></a>00241       <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e0b1fd1bec517c2bc12c5a4fd72adca6">ConsumerHeartBeatTimers</a>[index + 1] = <a class="code" href="timer_8c.html#991b3cfaac2f201b14d5530f75985c21">DelAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e0b1fd1bec517c2bc12c5a4fd72adca6">ConsumerHeartBeatTimers</a>[index + 1]);;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   197
<a name="l00242"></a>00242     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   198
<a name="l00243"></a>00243 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   199
<a name="l00244"></a>00244   <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#914dd3ff14e15217fe67c0804200a200">ProducerHeartBeatTimer</a> = <a class="code" href="timer_8c.html#991b3cfaac2f201b14d5530f75985c21">DelAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#914dd3ff14e15217fe67c0804200a200">ProducerHeartBeatTimer</a>);;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   200
<a name="l00245"></a>00245 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   201
<a name="l00246"></a>00246 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   202
<a name="l00252"></a><a class="code" href="lifegrd_8h.html#5249eb891f5677b80ccf01e604748524">00252</a> <span class="keywordtype">void</span> <a class="code" href="lifegrd_8c.html#5249eb891f5677b80ccf01e604748524">_heartbeatError</a>(<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> heartbeatID){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   203
</pre></div><hr size="1"><address style="align: right;"><small>Generated on Fri Jun 8 08:51:39 2007 for CanFestival by&nbsp;
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   204
<a href="http://www.doxygen.org/index.html">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   205
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   206
</body>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   207
</html>