doc/doxygen/html/states_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/states.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>states.c</h1><a href="states_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>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    23
<a name="l00002"></a>00002 <span class="comment">This file is part of CanFestival, a library implementing CanOpen Stack. </span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    24
<a name="l00003"></a>00003 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    25
<a name="l00004"></a>00004 <span class="comment">Copyright (C): Edouard TISSERANT and Francis DUPIN</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    26
<a name="l00005"></a>00005 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    27
<a name="l00006"></a>00006 <span class="comment">See COPYING file for copyrights details.</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    28
<a name="l00007"></a>00007 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    29
<a name="l00008"></a>00008 <span class="comment">This library is free software; you can redistribute it and/or</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    30
<a name="l00009"></a>00009 <span class="comment">modify it under the terms of the GNU Lesser General Public</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    31
<a name="l00010"></a>00010 <span class="comment">License as published by the Free Software Foundation; either</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    32
<a name="l00011"></a>00011 <span class="comment">version 2.1 of the License, or (at your option) any later version.</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    33
<a name="l00012"></a>00012 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    34
<a name="l00013"></a>00013 <span class="comment">This library is distributed in the hope that it will be useful,</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    35
<a name="l00014"></a>00014 <span class="comment">but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    36
<a name="l00015"></a>00015 <span class="comment">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    37
<a name="l00016"></a>00016 <span class="comment">Lesser General Public License for more details.</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    38
<a name="l00017"></a>00017 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    39
<a name="l00018"></a>00018 <span class="comment">You should have received a copy of the GNU Lesser General Public</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    40
<a name="l00019"></a>00019 <span class="comment">License along with this library; if not, write to the Free Software</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    41
<a name="l00020"></a>00020 <span class="comment">Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    42
<a name="l00021"></a>00021 <span class="comment">*/</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    43
<a name="l00032"></a>00032 <span class="preprocessor">#include "<a class="code" href="states_8h.html">states.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    44
<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="def_8h.html">def.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    45
<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="dcf_8h.html">dcf.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    46
<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="nmtSlave_8h.html">nmtSlave.h</a>"</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    47
<a name="l00036"></a>00036 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    48
<a name="l00044"></a>00044 <span class="keywordtype">void</span> <a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">switchCommunicationState</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    49
<a name="l00045"></a>00045         <a class="code" href="structs__state__communication.html">s_state_communication</a> *newCommunicationState);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    50
<a name="l00046"></a>00046         
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    51
<a name="l00054"></a><a class="code" href="states_8h.html#95d835785ba564bf6d92e3224c5e3848">00054</a> <a class="code" href="states_8h.html#5891f63a4c9243179838389a93d084e2">e_nodeState</a> <a class="code" href="states_8c.html#95d835785ba564bf6d92e3224c5e3848">getState</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
    52
<a name="l00055"></a>00055 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    53
<a name="l00056"></a>00056   <span class="keywordflow">return</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>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    54
<a name="l00057"></a>00057 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    55
<a name="l00058"></a>00058 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    56
<a name="l00065"></a><a class="code" href="states_8h.html#3f8975650604cc23582f19a43fd4e518">00065</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#3f8975650604cc23582f19a43fd4e518">canDispatch</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
    57
<a name="l00066"></a>00066 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    58
<a name="l00067"></a>00067          <span class="keywordflow">switch</span>(m-&gt;<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a> &gt;&gt; 7)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    59
<a name="l00068"></a>00068         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    60
<a name="l00069"></a>00069                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#9ac82e856c7683e23553431e5224d5f4">SYNC</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    61
<a name="l00070"></a>00070                         <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#ab01aa22a1af1044224220cd45e5796d">CurrentCommunicationState</a>.<a class="code" href="structs__state__communication.html#9a4709f6f39e18b303c91edbfd1d6220">csSYNC</a>)
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    62
<a name="l00071"></a>00071                                 <a class="code" href="sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1">proceedSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,m);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    63
<a name="l00072"></a>00072                         <span class="keywordflow">break</span>;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    64
<a name="l00073"></a>00073                 <span class="comment">/* case TIME_STAMP: */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    65
<a name="l00074"></a>00074                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#0a250614ba4dca3e87f768efcb58f238">PDO1tx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    66
<a name="l00075"></a>00075                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#17c7ee302d491b1ef74d2a4a795f82c6">PDO1rx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    67
<a name="l00076"></a>00076                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#67f4224b2c072a82b37a4835ca1c75e1">PDO2tx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    68
<a name="l00077"></a>00077                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#b23848999420738438097816fee3f25d">PDO2rx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    69
<a name="l00078"></a>00078                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#00ef0f6ae698f9cb944b4302e66e6c83">PDO3tx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    70
<a name="l00079"></a>00079                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#239d135abea5ec798461cad43f9286b5">PDO3rx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    71
<a name="l00080"></a>00080                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#bda4cc9ec44d1fc524bfdcae030df4be">PDO4tx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    72
<a name="l00081"></a>00081                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#282f714f745dd28e9a017044020aa3dc">PDO4rx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    73
<a name="l00082"></a>00082                         <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#ab01aa22a1af1044224220cd45e5796d">CurrentCommunicationState</a>.<a class="code" href="structs__state__communication.html#10a8f36d2c3f270feda5f07cf34155d2">csPDO</a>)
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    74
<a name="l00083"></a>00083                                 <a class="code" href="pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2">proceedPDO</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,m);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    75
<a name="l00084"></a>00084                         <span class="keywordflow">break</span>;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    76
<a name="l00085"></a>00085                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#74331e9b1d102bd0a3d5d9c1fc4f8212">SDOtx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    77
<a name="l00086"></a>00086                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#44318f0cf5176db0eedd1c8519bd8f35">SDOrx</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    78
<a name="l00087"></a>00087                         <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#ab01aa22a1af1044224220cd45e5796d">CurrentCommunicationState</a>.<a class="code" href="structs__state__communication.html#c6f5d674a8f305fc8eacdcd258c17ba8">csSDO</a>)
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    79
<a name="l00088"></a>00088                                 <a class="code" href="sdo_8c.html#2a93a7c780472b1d8666d89aa270f661">proceedSDO</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,m);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    80
<a name="l00089"></a>00089                         <span class="keywordflow">break</span>;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    81
<a name="l00090"></a>00090                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#78d5d3f71db9f360c9e3d3953707b0c1">NODE_GUARD</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    82
<a name="l00091"></a>00091                         <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#ab01aa22a1af1044224220cd45e5796d">CurrentCommunicationState</a>.<a class="code" href="structs__state__communication.html#1d467631df619c6c321c3fc040a3eb22">csHeartbeat</a>)
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    83
<a name="l00092"></a>00092                                 <a class="code" href="lifegrd_8c.html#b3248945e06e8b05518beddf665f174d">proceedNODE_GUARD</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,m);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    84
<a name="l00093"></a>00093                         <span class="keywordflow">break</span>;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    85
<a name="l00094"></a>00094                 <span class="keywordflow">case</span> <a class="code" href="def_8h.html#adbe0bb038acafa1c8adb0f98c870233">NMT</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    86
<a name="l00095"></a>00095                         <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#cfe2baf2887f190ca8deebaf462e62fe">iam_a_slave</a>))
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    87
<a name="l00096"></a>00096                         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    88
<a name="l00097"></a>00097                                 <a class="code" href="nmtSlave_8c.html#97d175ea168c149c99b01dcde0989743">proceedNMTstateChange</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,m);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    89
<a name="l00098"></a>00098                         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    90
<a name="l00099"></a>00099         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    91
<a name="l00100"></a>00100 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    92
<a name="l00101"></a>00101 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    93
<a name="l00102"></a><a class="code" href="states_8c.html#3a7cf0c586b1e467e6215396e9a439ae">00102</a> <span class="preprocessor">#define StartOrStop(CommType, FuncStart, FuncStop) \</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    94
<a name="l00103"></a>00103 <span class="preprocessor">        if(newCommunicationState-&gt;CommType &amp;&amp; !d-&gt;CurrentCommunicationState.CommType){\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    95
<a name="l00104"></a>00104 <span class="preprocessor">                MSG_WAR(0x9999,#FuncStart, 9999);\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    96
<a name="l00105"></a>00105 <span class="preprocessor">                d-&gt;CurrentCommunicationState.CommType = 1;\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    97
<a name="l00106"></a>00106 <span class="preprocessor">                FuncStart;\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    98
<a name="l00107"></a>00107 <span class="preprocessor">        }else if(!newCommunicationState-&gt;CommType &amp;&amp; d-&gt;CurrentCommunicationState.CommType){\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    99
<a name="l00108"></a>00108 <span class="preprocessor">                MSG_WAR(0x9999,#FuncStop, 9999);\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   100
<a name="l00109"></a>00109 <span class="preprocessor">                d-&gt;CurrentCommunicationState.CommType = 0;\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   101
<a name="l00110"></a>00110 <span class="preprocessor">                FuncStop;\</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   102
<a name="l00111"></a>00111 <span class="preprocessor">        }</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   103
<a name="l00112"></a><a class="code" href="states_8c.html#f4e8bc2d192090ff502229b33c24a389">00112</a> <span class="preprocessor"></span><span class="preprocessor">#define None</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   104
<a name="l00113"></a>00113 <span class="preprocessor"></span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   105
<a name="l00120"></a><a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">00120</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">switchCommunicationState</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="structs__state__communication.html">s_state_communication</a> *newCommunicationState)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   106
<a name="l00121"></a>00121 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   107
<a name="l00122"></a>00122         <a class="code" href="states_8c.html#3a7cf0c586b1e467e6215396e9a439ae">StartOrStop</a>(csSDO,      <a class="code" href="states_8c.html#f4e8bc2d192090ff502229b33c24a389">None</a>,           <a class="code" href="sdo_8c.html#1f4f07eccc4890a11ccf4f632da7740b">resetSDO</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>))
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   108
<a name="l00123"></a>00123         <a class="code" href="states_8c.html#3a7cf0c586b1e467e6215396e9a439ae">StartOrStop</a>(csSYNC,     <a class="code" href="sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a">startSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>),           <a class="code" href="sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164">stopSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>))
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   109
<a name="l00124"></a>00124         <a class="code" href="states_8c.html#3a7cf0c586b1e467e6215396e9a439ae">StartOrStop</a>(csHeartbeat,        <a class="code" href="lifegrd_8c.html#8896f6846e4d020390f6953f3d98aa21">heartbeatInit</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>),       <a class="code" href="lifegrd_8c.html#1b73047269c2a02065e12af18c6053c7">heartbeatStop</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>))
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   110
<a name="l00125"></a>00125 <span class="comment">/*      StartOrStop(Emergency,,) */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   111
<a name="l00126"></a>00126         <a class="code" href="states_8c.html#3a7cf0c586b1e467e6215396e9a439ae">StartOrStop</a>(csPDO,      <a class="code" href="states_8c.html#f4e8bc2d192090ff502229b33c24a389">None</a>,   <a class="code" href="states_8c.html#f4e8bc2d192090ff502229b33c24a389">None</a>)
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   112
<a name="l00127"></a>00127         <a class="code" href="states_8c.html#3a7cf0c586b1e467e6215396e9a439ae">StartOrStop</a>(csBoot_Up,  <a class="code" href="states_8c.html#f4e8bc2d192090ff502229b33c24a389">None</a>,   <a class="code" href="nmtSlave_8c.html#aced28a97b2c256320dfde3c4b36a7d5">slaveSendBootUp</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>))
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   113
<a name="l00128"></a>00128 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   114
<a name="l00129"></a>00129 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   115
<a name="l00138"></a><a class="code" href="states_8h.html#0a5004efd1dedbee82a4f21ec5c44fb5">00138</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="states_8c.html#0a5004efd1dedbee82a4f21ec5c44fb5">setState</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="states_8h.html#5891f63a4c9243179838389a93d084e2">e_nodeState</a> newState)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   116
<a name="l00139"></a>00139 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   117
<a name="l00140"></a>00140         <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> wIndex = 0x1F22;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   118
<a name="l00141"></a>00141         <span class="keyword">const</span> <a class="code" href="structtd__indextable.html">indextable</a> *<a class="code" href="dcf_8c.html#8bddcdce84393146515136d33d063060">ptrTable</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   119
<a name="l00142"></a>00142         <a class="code" href="objdictdef_8h.html#91481b154cacc926ae5824fd121d6b43">ODCallback_t</a> *Callback;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   120
<a name="l00143"></a>00143         <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> errorCode;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   121
<a name="l00144"></a>00144         <span class="keywordflow">while</span>(newState != <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a>){
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   122
<a name="l00145"></a>00145                 <span class="keywordflow">switch</span>( newState ){
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   123
<a name="l00146"></a>00146                         <span class="keywordflow">case</span> <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646eb3ae26d7a1629aa0fc6c83f46306cf5">Initialisation</a>:
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   124
<a name="l00147"></a>00147                         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   125
<a name="l00148"></a>00148                                 <a class="code" href="structs__state__communication.html">s_state_communication</a> newCommunicationState = {1, 0, 0, 0, 0, 0};
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   126
<a name="l00149"></a>00149                                 <span class="comment">/* This will force a second loop for the state switch */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   127
<a name="l00150"></a>00150                                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a> = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646eb3ae26d7a1629aa0fc6c83f46306cf5">Initialisation</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   128
<a name="l00151"></a>00151                                 newState = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646c747c16a9c4d7dec65cdab6e38df99b7">Pre_operational</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   129
<a name="l00152"></a>00152                                 <a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">switchCommunicationState</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, &amp;newCommunicationState);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   130
<a name="l00153"></a>00153                                 <span class="comment">/* call user app related state func. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   131
<a name="l00154"></a>00154                                 (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#b45e9ca46cffe7924c35ae136db6a2b6">initialisation</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   132
<a name="l00155"></a>00155                                 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   133
<a name="l00156"></a>00156                         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   134
<a name="l00157"></a>00157                         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   135
<a name="l00158"></a>00158                                                                 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   136
<a name="l00159"></a>00159                         <span class="keywordflow">case</span> <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646c747c16a9c4d7dec65cdab6e38df99b7">Pre_operational</a>:
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   137
<a name="l00160"></a>00160                         {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   138
<a name="l00161"></a>00161                                 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   139
<a name="l00162"></a>00162                                 <a class="code" href="structs__state__communication.html">s_state_communication</a> newCommunicationState = {0, 1, 1, 1, 1, 0};
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   140
<a name="l00163"></a>00163                                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a> = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646c747c16a9c4d7dec65cdab6e38df99b7">Pre_operational</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   141
<a name="l00164"></a>00164                                 newState = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646c747c16a9c4d7dec65cdab6e38df99b7">Pre_operational</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   142
<a name="l00165"></a>00165                                 <a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">switchCommunicationState</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, &amp;newCommunicationState);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   143
<a name="l00166"></a>00166                                 <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#cfe2baf2887f190ca8deebaf462e62fe">iam_a_slave</a>)))
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   144
<a name="l00167"></a>00167                                 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   145
<a name="l00168"></a>00168                                         <a class="code" href="dcf_8c.html#8bddcdce84393146515136d33d063060">ptrTable</a> =(*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#1863bd74fef91ec89b4c1ff0bee2dfbf">scanIndexOD</a>)(wIndex, &amp;errorCode, &amp;Callback);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   146
<a name="l00169"></a>00169                                         
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   147
<a name="l00170"></a>00170                                         <span class="keywordflow">if</span> (errorCode != <a class="code" href="def_8h.html#cb82b94eb8e368e8c347b2273b6e514e">OD_SUCCESSFUL</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   148
<a name="l00171"></a>00171                                                 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   149
<a name="l00172"></a>00172                                                         (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#d7c66fb721e3f6279a6ff03bf91d82e2">preOperational</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   150
<a name="l00173"></a>00173                                                 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   151
<a name="l00174"></a>00174                                         <span class="keywordflow">else</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   152
<a name="l00175"></a>00175                                                 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   153
<a name="l00176"></a>00176                                                         <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> res;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   154
<a name="l00177"></a>00177                                                         res = <a class="code" href="dcf_8c.html#8452e163e7649968ad6dae1601a5fb0d">decompo_dcf</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,0x01);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   155
<a name="l00178"></a>00178                                                 }                               
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   156
<a name="l00179"></a>00179                                 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   157
<a name="l00180"></a>00180                                 <span class="keywordflow">else</span> 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   158
<a name="l00181"></a>00181                                 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   159
<a name="l00182"></a>00182                                         (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#d7c66fb721e3f6279a6ff03bf91d82e2">preOperational</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   160
<a name="l00183"></a>00183                                 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   161
<a name="l00184"></a>00184                         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   162
<a name="l00185"></a>00185                         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   163
<a name="l00186"></a>00186                                                                 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   164
<a name="l00187"></a>00187                         <span class="keywordflow">case</span> <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646a80594b1522cb686b981f56bbec45124">Operational</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   165
<a name="l00188"></a>00188                         <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#a03a5121facf5b21d541f8566a8345d6">nodeState</a> == <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646eb3ae26d7a1629aa0fc6c83f46306cf5">Initialisation</a>) <span class="keywordflow">return</span> 0xFF;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   166
<a name="l00189"></a>00189                         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   167
<a name="l00190"></a>00190                                 <a class="code" href="structs__state__communication.html">s_state_communication</a> newCommunicationState = {0, 1, 1, 1, 1, 1};
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   168
<a name="l00191"></a>00191                                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a> = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646a80594b1522cb686b981f56bbec45124">Operational</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   169
<a name="l00192"></a>00192                                 newState = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646a80594b1522cb686b981f56bbec45124">Operational</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   170
<a name="l00193"></a>00193                                 <a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">switchCommunicationState</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, &amp;newCommunicationState);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   171
<a name="l00194"></a>00194                                 (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#432ddce132ec2f7473064e4fa8ef3f9a">operational</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   172
<a name="l00195"></a>00195                         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   173
<a name="l00196"></a>00196                         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   174
<a name="l00197"></a>00197                                                 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   175
<a name="l00198"></a>00198                         <span class="keywordflow">case</span> <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec686464d049c6d45e08a294523df186ad77a75">Stopped</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   176
<a name="l00199"></a>00199                         <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#a03a5121facf5b21d541f8566a8345d6">nodeState</a> == <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec68646eb3ae26d7a1629aa0fc6c83f46306cf5">Initialisation</a>) <span class="keywordflow">return</span> 0xFF;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   177
<a name="l00200"></a>00200                         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   178
<a name="l00201"></a>00201                                 <a class="code" href="structs__state__communication.html">s_state_communication</a> newCommunicationState = {0, 0, 0, 0, 1, 0};
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   179
<a name="l00202"></a>00202                                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a03a5121facf5b21d541f8566a8345d6">nodeState</a> = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec686464d049c6d45e08a294523df186ad77a75">Stopped</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   180
<a name="l00203"></a>00203                                 newState = <a class="code" href="states_8h.html#3136d2815abe9d284f985e0a7ec686464d049c6d45e08a294523df186ad77a75">Stopped</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   181
<a name="l00204"></a>00204                                 <a class="code" href="states_8c.html#915991eebf7c2ac6c929c6c9cfbd7d03">switchCommunicationState</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, &amp;newCommunicationState);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   182
<a name="l00205"></a>00205                                 (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#89dd7dd17f9dd16b7a06c3cf30c2ca02">stopped</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   183
<a name="l00206"></a>00206                         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   184
<a name="l00207"></a>00207                         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   185
<a name="l00208"></a>00208                         
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   186
<a name="l00209"></a>00209                         <span class="keywordflow">default</span>:
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   187
<a name="l00210"></a>00210                                 <span class="keywordflow">return</span> 0xFF;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   188
<a name="l00211"></a>00211                 }<span class="comment">/* end switch case */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   189
<a name="l00212"></a>00212         
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   190
<a name="l00213"></a>00213         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   191
<a name="l00214"></a>00214         <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   192
<a name="l00215"></a>00215 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   193
<a name="l00216"></a>00216 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   194
<a name="l00224"></a><a class="code" href="states_8h.html#3020f2e5762f6e389a21382ec827b6a6">00224</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="states_8c.html#3020f2e5762f6e389a21382ec827b6a6">getNodeId</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
   195
<a name="l00225"></a>00225 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   196
<a name="l00226"></a>00226   <span class="keywordflow">return</span> *<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
   197
<a name="l00227"></a>00227 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   198
<a name="l00228"></a>00228 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   199
<a name="l00235"></a><a class="code" href="states_8h.html#d47a53979b9311a374d029f7923abbe1">00235</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#d47a53979b9311a374d029f7923abbe1">setNodeId</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
   200
<a name="l00236"></a>00236 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   201
<a name="l00237"></a>00237   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> offset = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#f26b0fce2ed684c5983aa658efd6c52e">firstIndex</a>-&gt;<a class="code" href="structs__quick__index.html#998dc7bd9cf744bf43510c1273a4a3c2">SDO_SVR</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   202
<a name="l00238"></a>00238   <span class="keywordflow">if</span>(offset){
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   203
<a name="l00239"></a>00239       <span class="comment">/* cob_id_client = 0x600 + nodeId; */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   204
<a name="l00240"></a>00240       *(<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>*)<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offset].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[1].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a> = 0x600 + nodeId;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   205
<a name="l00241"></a>00241       <span class="comment">/* cob_id_server = 0x580 + nodeId; */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   206
<a name="l00242"></a>00242       *(<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>*)<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offset].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[2].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a> = 0x580 + nodeId;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   207
<a name="l00243"></a>00243       <span class="comment">/* node Id client. As we do not know the value, we put the node Id Server */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   208
<a name="l00244"></a>00244       <span class="comment">/* *(UNS8*)d-&gt;objdict[offset].pSubindex[3].pObject = nodeId; */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   209
<a name="l00245"></a>00245   }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   210
<a name="l00246"></a>00246 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   211
<a name="l00247"></a>00247   <span class="comment">/* </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   212
<a name="l00248"></a>00248 <span class="comment">        Initialize the server(s) SDO parameters</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   213
<a name="l00249"></a>00249 <span class="comment">        Remember that only one SDO server is allowed, defined at index 0x1200   </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   214
<a name="l00250"></a>00250 <span class="comment">                </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   215
<a name="l00251"></a>00251 <span class="comment">        Initialize the client(s) SDO parameters         </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   216
<a name="l00252"></a>00252 <span class="comment">        Nothing to initialize (no default values required by the DS 401)        </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   217
<a name="l00253"></a>00253 <span class="comment">        Initialize the receive PDO communication parameters. Only for 0x1400 to 0x1403 </span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   218
<a name="l00254"></a>00254 <span class="comment">  */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   219
<a name="l00255"></a>00255   {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   220
<a name="l00256"></a>00256     <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> i = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   221
<a name="l00257"></a>00257     <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> offset = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#f26b0fce2ed684c5983aa658efd6c52e">firstIndex</a>-&gt;<a class="code" href="structs__quick__index.html#cadbae6acd5ded4e8eebf0ce88c2ec55">PDO_RCV</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   222
<a name="l00258"></a>00258     <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> lastIndex = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#96d334a4fc8c304826b053681ccbf0d1">lastIndex</a>-&gt;<a class="code" href="structs__quick__index.html#cadbae6acd5ded4e8eebf0ce88c2ec55">PDO_RCV</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   223
<a name="l00259"></a>00259     <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> cobID[] = {0x200, 0x300, 0x400, 0x500};
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   224
<a name="l00260"></a>00260     <span class="keywordflow">if</span>( offset ) <span class="keywordflow">while</span>( (offset &lt;= lastIndex) &amp;&amp; (i &lt; 4)) {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   225
<a name="l00261"></a>00261       <span class="comment">//if(*(UNS32*)d-&gt;objdict[offset].pSubindex[1].pObject == cobID[i] + *d-&gt;bDeviceNodeId)</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   226
<a name="l00262"></a>00262               *(<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>*)<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offset].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[1].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a> = cobID[i] + nodeId;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   227
<a name="l00263"></a>00263       i ++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   228
<a name="l00264"></a>00264       offset ++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   229
<a name="l00265"></a>00265     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   230
<a name="l00266"></a>00266   }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   231
<a name="l00267"></a>00267   <span class="comment">/* ** Initialize the transmit PDO communication parameters. Only for 0x1800 to 0x1803 */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   232
<a name="l00268"></a>00268   {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   233
<a name="l00269"></a>00269     <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> i = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   234
<a name="l00270"></a>00270     <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> offset = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#f26b0fce2ed684c5983aa658efd6c52e">firstIndex</a>-&gt;<a class="code" href="structs__quick__index.html#48e0ba31ff7746f1fa63f240a132a906">PDO_TRS</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   235
<a name="l00271"></a>00271     <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> lastIndex = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#96d334a4fc8c304826b053681ccbf0d1">lastIndex</a>-&gt;<a class="code" href="structs__quick__index.html#48e0ba31ff7746f1fa63f240a132a906">PDO_TRS</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   236
<a name="l00272"></a>00272     <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> cobID[] = {0x180, 0x280, 0x380, 0x480};
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   237
<a name="l00273"></a>00273     i = 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   238
<a name="l00274"></a>00274     <span class="keywordflow">if</span>( offset ) <span class="keywordflow">while</span> ((offset &lt;= lastIndex) &amp;&amp; (i &lt; 4)) {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   239
<a name="l00275"></a>00275       <span class="comment">//if(*(UNS32*)d-&gt;objdict[offset].pSubindex[1].pObject == cobID[i] + *d-&gt;bDeviceNodeId)</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   240
<a name="l00276"></a>00276               *(<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>*)<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offset].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[1].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a> = cobID[i] + nodeId;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   241
<a name="l00277"></a>00277       i ++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   242
<a name="l00278"></a>00278       offset ++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   243
<a name="l00279"></a>00279     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   244
<a name="l00280"></a>00280   }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   245
<a name="l00281"></a>00281   <span class="comment">/* bDeviceNodeId is defined in the object dictionary. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   246
<a name="l00282"></a>00282   *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#e5c35e97a1061bb9737359cc12192269">bDeviceNodeId</a> = nodeId;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   247
<a name="l00283"></a>00283 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   248
<a name="l00284"></a>00284 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   249
<a name="l00285"></a><a class="code" href="states_8h.html#67ca1ac7ff49e88cf7847e408b258cae">00285</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#1ee4d5c3d5dc6f39607d414b7bf9bcc9">_initialisation</a>(){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   250
<a name="l00286"></a><a class="code" href="states_8h.html#f4e52eb187303eca1962bb6f74cb8169">00286</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#00113c22ed3366ee552f77862241d317">_preOperational</a>(){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   251
<a name="l00287"></a><a class="code" href="states_8h.html#b31a0526e24de79a09ccc512db420d91">00287</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#4c917142acca702f7e04e919a0b958b4">_operational</a>(){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   252
<a name="l00288"></a><a class="code" href="states_8h.html#9117ccff20aaed468dd715517e77dbc3">00288</a> <span class="keywordtype">void</span> <a class="code" href="states_8c.html#244e9269c323e14509bea947c2729a13">_stopped</a>(){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   253
</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
   254
<a href="http://www.doxygen.org/index.html">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   255
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   256
</body>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   257
</html>