doc/doxygen/html/pdo_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/pdo.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>pdo.c</h1><a href="pdo_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>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    45
<a name="l00024"></a>00024 <span class="preprocessor">#include "<a class="code" href="pdo_8h.html">pdo.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    46
<a name="l00025"></a>00025 <span class="preprocessor">#include "<a class="code" href="objacces_8h.html">objacces.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    47
<a name="l00026"></a>00026 <span class="preprocessor">#include "<a class="code" href="win32_2canfestival_8h.html">canfestival.h</a>"</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    48
<a name="l00027"></a>00027 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    49
<a name="l00037"></a><a class="code" href="pdo_8h.html#a6774c219dc64c1cec4b4721ba23e15a">00037</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210">sendPDO</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="structstruct__s__PDO.html">s_PDO</a> pdo, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> req)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    50
<a name="l00038"></a>00038 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    51
<a name="l00039"></a>00039   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> i;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    52
<a name="l00040"></a>00040   <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#3136d2815abe9d284f985e0a7ec68646a80594b1522cb686b981f56bbec45124">Operational</a> ) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    53
<a name="l00041"></a>00041     <a class="code" href="structMessage.html">Message</a> m;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    54
<a name="l00042"></a>00042 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    55
<a name="l00043"></a>00043     <span class="comment">/* Message copy for sending */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    56
<a name="l00044"></a>00044     m.<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a> = pdo.<a class="code" href="structstruct__s__PDO.html#79a70c0ef320cc4c939f825e83e3d5b2">cobId</a> &amp; 0x7FF; <span class="comment">/* Because the cobId is 11 bytes</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    57
<a name="l00045"></a>00045 <span class="comment">                                      length */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    58
<a name="l00046"></a>00046     <span class="keywordflow">if</span> ( req == <a class="code" href="def_8h.html#0c43b00ce49efc3586ad17dd80d73940">NOT_A_REQUEST</a> ) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    59
<a name="l00047"></a>00047       <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> i;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    60
<a name="l00048"></a>00048       m.<a class="code" href="structMessage.html#41c5a4e7eaeb2c2ae1af2b2c83129615">rtr</a> = <a class="code" href="def_8h.html#0c43b00ce49efc3586ad17dd80d73940">NOT_A_REQUEST</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    61
<a name="l00049"></a>00049       m.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> = pdo.<a class="code" href="structstruct__s__PDO.html#49db07106430da9b89ec526e8ec1573d">len</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    62
<a name="l00050"></a>00050       <span class="comment">/* memcpy(&amp;m.data, &amp;pdo.data, m.len); */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    63
<a name="l00051"></a>00051       <span class="comment">/* This Memcpy depends on packing structure. Avoid */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    64
<a name="l00052"></a>00052       <span class="keywordflow">for</span> (i = 0 ; i &lt; pdo.<a class="code" href="structstruct__s__PDO.html#49db07106430da9b89ec526e8ec1573d">len</a> ; i++)
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    65
<a name="l00053"></a>00053         m.<a class="code" href="structMessage.html#229865b09691e658677ba76f2d82ce89">data</a>[i] = pdo.<a class="code" href="structstruct__s__PDO.html#34fdcefa8119162840bccf2d67b5c6c0">data</a>[i];
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    66
<a name="l00054"></a>00054     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    67
<a name="l00055"></a>00055     <span class="keywordflow">else</span> {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    68
<a name="l00056"></a>00056       m.<a class="code" href="structMessage.html#41c5a4e7eaeb2c2ae1af2b2c83129615">rtr</a> = <a class="code" href="def_8h.html#6baece8be8f9ab55223d41b535511b6f">REQUEST</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    69
<a name="l00057"></a>00057       m.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> = 0;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    70
<a name="l00058"></a>00058     }
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    71
<a name="l00059"></a>00059 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    72
<a name="l00060"></a>00060     <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3901, <span class="stringliteral">"sendPDO cobId :"</span>, m.<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    73
<a name="l00061"></a>00061     <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3902,  <span class="stringliteral">"     Nb octets  : "</span>,  m.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    74
<a name="l00062"></a>00062     <span class="keywordflow">for</span> (i = 0 ; i &lt; m.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> ; i++) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    75
<a name="l00063"></a>00063       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3903,<span class="stringliteral">"           data : "</span>, m.<a class="code" href="structMessage.html#229865b09691e658677ba76f2d82ce89">data</a>[i]);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    76
<a name="l00064"></a>00064     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    77
<a name="l00065"></a>00065 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    78
<a name="l00066"></a>00066     <span class="keywordflow">return</span> <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;m);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    79
<a name="l00067"></a>00067   } <span class="comment">/* end if */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    80
<a name="l00068"></a>00068   <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    81
<a name="l00069"></a>00069 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    82
<a name="l00070"></a>00070 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    83
<a name="l00079"></a><a class="code" href="pdo_8h.html#298b8291fa35cca22264cf8a70bf138a">00079</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="pdo_8c.html#298b8291fa35cca22264cf8a70bf138a">PDOmGR</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> cobId)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    84
<a name="l00080"></a>00080 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    85
<a name="l00081"></a>00081   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> res;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    86
<a name="l00082"></a>00082   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> i;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    87
<a name="l00083"></a>00083   <a class="code" href="structstruct__s__PDO.html">s_PDO</a> pdo;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    88
<a name="l00084"></a>00084 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    89
<a name="l00085"></a>00085   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3905, <span class="stringliteral">"PDOmGR"</span>,0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    90
<a name="l00086"></a>00086 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    91
<a name="l00087"></a>00087   <span class="comment">/* if PDO is waiting for transmission,</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    92
<a name="l00088"></a>00088 <span class="comment">    preparation of the message to send */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    93
<a name="l00089"></a>00089   pdo.<a class="code" href="structstruct__s__PDO.html#79a70c0ef320cc4c939f825e83e3d5b2">cobId</a> = cobId;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    94
<a name="l00090"></a>00090   pdo.<a class="code" href="structstruct__s__PDO.html#49db07106430da9b89ec526e8ec1573d">len</a> =  <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#f5110cf5f12faa435cb992cc96e7ff6b">count</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    95
<a name="l00091"></a>00091   <span class="comment">/* memcpy(&amp;(pdo.data), &amp;(process_var.data), pdo.len); */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    96
<a name="l00092"></a>00092      <span class="comment">/* Ce memcpy devrait tre portable */</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    97
<a name="l00093"></a>00093     <span class="keywordflow">for</span> ( i = 0 ; i &lt; pdo.<a class="code" href="structstruct__s__PDO.html#49db07106430da9b89ec526e8ec1573d">len</a> ; i++) 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    98
<a name="l00094"></a>00094       pdo.<a class="code" href="structstruct__s__PDO.html#34fdcefa8119162840bccf2d67b5c6c0">data</a>[i] = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#8790415d8a6886dadbb02c5f145bb543">data</a>[i];
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    99
<a name="l00095"></a>00095 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   100
<a name="l00096"></a>00096     res = <a class="code" href="pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210">sendPDO</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, pdo, <a class="code" href="def_8h.html#0c43b00ce49efc3586ad17dd80d73940">NOT_A_REQUEST</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   101
<a name="l00097"></a>00097 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   102
<a name="l00098"></a>00098     <span class="keywordflow">return</span> res;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   103
<a name="l00099"></a>00099 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   104
<a name="l00100"></a>00100 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   105
<a name="l00101"></a>00101 <span class="preprocessor">#if 0</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   106
<a name="l00102"></a>00102 <span class="preprocessor"></span><span class="comment">/*********************************************************************/</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   107
<a name="l00103"></a>00103 <span class="comment">/* TODO : implement bit mapping                                                  */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   108
<a name="l00104"></a>00104 <span class="comment">/*********************************************************************/</span>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   109
<a name="l00105"></a>00105 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   110
<a name="l00106"></a>00106 <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="pdo_8h.html#b9c82d949045cb7f52ed40d0ee8c7bf1">buildPDO</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#5528eeccf214bfe021532622d78c6a96">UNS16</a> index)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   111
<a name="l00107"></a>00107 { <span class="comment">/* DO NOT USE MSG_ERR because the macro may send a PDO -&gt; infinite loop if it fails. */</span>       
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   112
<a name="l00108"></a>00108   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> ind;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   113
<a name="l00109"></a>00109   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>      subInd;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   114
<a name="l00110"></a>00110 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   115
<a name="l00111"></a>00111   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> *     pMappingCount = NULL;      <span class="comment">/* count of mapped objects... */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   116
<a name="l00112"></a>00112   <span class="comment">/* pointer to the var which is mapped to a pdo */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   117
<a name="l00113"></a>00113 <span class="comment">/*  void *     pMappedAppObject = NULL;  */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   118
<a name="l00114"></a>00114   <span class="comment">/* pointer fo the var which holds the mapping parameter of an mapping entry  */</span> 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   119
<a name="l00115"></a>00115  
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   120
<a name="l00116"></a>00116   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pMappingParameter = NULL;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   121
<a name="l00117"></a>00117 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   122
<a name="l00118"></a>00118   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>      Size;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   123
<a name="l00119"></a>00119   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>      dataType;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   124
<a name="l00120"></a>00120   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>      offset;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   125
<a name="l00121"></a>00121   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>     offsetObjdict;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   126
<a name="l00122"></a>00122   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>     offsetObjdictPrm;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   127
<a name="l00123"></a>00123   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>     objDict;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   128
<a name="l00124"></a>00124 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   129
<a name="l00125"></a>00125   subInd=(<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)0x00;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   130
<a name="l00126"></a>00126   offset = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   131
<a name="l00127"></a>00127   ind = index - 0x1800;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   132
<a name="l00128"></a>00128 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   133
<a name="l00129"></a>00129   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3910,<span class="stringliteral">"Prepare PDO to send index :"</span>, index);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   134
<a name="l00130"></a>00130 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   135
<a name="l00131"></a>00131   <span class="comment">/* only operational state allows PDO transmission */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   136
<a name="l00132"></a>00132   <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#3136d2815abe9d284f985e0a7ec68646a80594b1522cb686b981f56bbec45124">Operational</a> ) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   137
<a name="l00133"></a>00133     <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2911, <span class="stringliteral">"Unable to send the PDO (node not in OPERATIONAL mode). Node : "</span>, index);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   138
<a name="l00134"></a>00134     <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   139
<a name="l00135"></a>00135   }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   140
<a name="l00136"></a>00136   offsetObjdictPrm = <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
   141
<a name="l00137"></a>00137   offsetObjdict = <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#c91a86195b3615a98f7b07e0c51ac75f">PDO_TRS_MAP</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   142
<a name="l00138"></a>00138 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   143
<a name="l00139"></a>00139   <span class="keywordflow">if</span> (offsetObjdictPrm &amp;&amp; offsetObjdict)
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   144
<a name="l00140"></a>00140     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   145
<a name="l00141"></a>00141       <span class="comment">/* get mapped objects number to transmit with this PDO */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   146
<a name="l00142"></a>00142       pMappingCount = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict + ind)-&gt;pSubindex[0].pObject;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   147
<a name="l00143"></a>00143       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3912, <span class="stringliteral">"Nb maped objects : "</span>,* pMappingCount);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   148
<a name="l00144"></a>00144       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3913, <span class="stringliteral">"        at index : "</span>, 0x1A00 + ind);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   149
<a name="l00145"></a>00145       <span class="keywordflow">while</span> (subInd &lt; *pMappingCount) { <span class="comment">/* Loop on mapped variables */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   150
<a name="l00146"></a>00146         <span class="comment">/* get mapping parameters */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   151
<a name="l00147"></a>00147         pMappingParameter = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict + ind)-&gt;pSubindex[subInd + 1].pObject;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   152
<a name="l00148"></a>00148         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3914, <span class="stringliteral">"Get the mapping      at index : "</span>, (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>)0x1A00 + ind);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   153
<a name="l00149"></a>00149         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3915, <span class="stringliteral">"                     subIndex : "</span>, subInd + 1);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   154
<a name="l00150"></a>00150         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3916, <span class="stringliteral">"                     value    : "</span>, *(<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *)pMappingParameter);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   155
<a name="l00151"></a>00151         <span class="comment">/* Get the mapped variable */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   156
<a name="l00152"></a>00152         Size = ((<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(((*pMappingParameter) &amp; 0xFF) &gt;&gt; 3));
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   157
<a name="l00153"></a>00153         objDict = <a class="code" href="objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac">getODentry</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>)((*pMappingParameter) &gt;&gt; 16),
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   158
<a name="l00154"></a>00154                              (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(((*pMappingParameter) &gt;&gt; 8 ) &amp; 0x000000FF),
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   159
<a name="l00155"></a>00155                              (<span class="keywordtype">void</span> *)&amp;<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#8790415d8a6886dadbb02c5f145bb543">data</a>[offset], &amp;Size, &amp;dataType, 0 );
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   160
<a name="l00156"></a>00156 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   161
<a name="l00157"></a>00157         <span class="keywordflow">if</span> (objDict != <a class="code" href="def_8h.html#cb82b94eb8e368e8c347b2273b6e514e">OD_SUCCESSFUL</a>) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   162
<a name="l00158"></a>00158           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2919, <span class="stringliteral">"error accessing to the mapped var : "</span>, subInd + 1);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   163
<a name="l00159"></a>00159           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2920, <span class="stringliteral">"         Mapped at index : "</span>, (*pMappingParameter) &gt;&gt; 16);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   164
<a name="l00160"></a>00160           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2921, <span class="stringliteral">"                subindex : "</span>, ((*pMappingParameter) &gt;&gt; 8 ) &amp; 0xFF);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   165
<a name="l00161"></a>00161           <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   166
<a name="l00162"></a>00162         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   167
<a name="l00163"></a>00163 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   168
<a name="l00164"></a>00164         offset += Size;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   169
<a name="l00165"></a>00165         <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#f5110cf5f12faa435cb992cc96e7ff6b">count</a> = offset;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   170
<a name="l00166"></a>00166         subInd++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   171
<a name="l00167"></a>00167       }<span class="comment">/* end Loop on mapped variables  */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   172
<a name="l00168"></a>00168     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   173
<a name="l00169"></a>00169   <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   174
<a name="l00170"></a>00170 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   175
<a name="l00171"></a>00171 <span class="preprocessor">#endif</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   176
<a name="l00172"></a>00172 <span class="preprocessor"></span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   177
<a name="l00181"></a><a class="code" href="pdo_8h.html#cc08547009d3d2755d2291999941694c">00181</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="pdo_8c.html#cc08547009d3d2755d2291999941694c">sendPDOrequest</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> cobId )
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   178
<a name="l00182"></a>00182 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   179
<a name="l00183"></a>00183   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> * pwCobId;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   180
<a name="l00184"></a>00184   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>          offset;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   181
<a name="l00185"></a>00185   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>          lastIndex;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   182
<a name="l00186"></a>00186   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>           err;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   183
<a name="l00187"></a>00187 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   184
<a name="l00188"></a>00188   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3930, <span class="stringliteral">"sendPDOrequest "</span>,0);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   185
<a name="l00189"></a>00189   <span class="comment">/* Sending the request only if the cobid have been found on the PDO</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   186
<a name="l00190"></a>00190 <span class="comment">     receive */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   187
<a name="l00191"></a>00191   <span class="comment">/* part dictionary */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   188
<a name="l00192"></a>00192   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
   189
<a name="l00193"></a>00193   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>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   190
<a name="l00194"></a>00194   <span class="keywordflow">if</span> (offset)
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   191
<a name="l00195"></a>00195     <span class="keywordflow">while</span> (offset &lt;= lastIndex) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   192
<a name="l00196"></a>00196       <span class="comment">/* get the CobId*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   193
<a name="l00197"></a>00197       pwCobId = <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>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   194
<a name="l00198"></a>00198 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   195
<a name="l00199"></a>00199       <span class="keywordflow">if</span> ( *pwCobId  == cobId ) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   196
<a name="l00200"></a>00200         <a class="code" href="structstruct__s__PDO.html">s_PDO</a> pdo;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   197
<a name="l00201"></a>00201         pdo.<a class="code" href="structstruct__s__PDO.html#79a70c0ef320cc4c939f825e83e3d5b2">cobId</a> = *pwCobId;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   198
<a name="l00202"></a>00202         pdo.<a class="code" href="structstruct__s__PDO.html#49db07106430da9b89ec526e8ec1573d">len</a> = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   199
<a name="l00203"></a>00203         err  = <a class="code" href="pdo_8c.html#d9a4a4f0a4ef48866c6184ccbd30f210">sendPDO</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, pdo, <a class="code" href="def_8h.html#6baece8be8f9ab55223d41b535511b6f">REQUEST</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   200
<a name="l00204"></a>00204         <span class="keywordflow">return</span> err;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   201
<a name="l00205"></a>00205       }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   202
<a name="l00206"></a>00206       offset++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   203
<a name="l00207"></a>00207     }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   204
<a name="l00208"></a>00208   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x1931, <span class="stringliteral">"sendPDOrequest : COBID not found : "</span>, cobId);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   205
<a name="l00209"></a>00209   <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   206
<a name="l00210"></a>00210 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   207
<a name="l00211"></a>00211 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   208
<a name="l00212"></a>00212 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   209
<a name="l00221"></a><a class="code" href="pdo_8h.html#ae7d661cd3ef7adf93a0d08fdb15b7f2">00221</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="pdo_8c.html#ae7d661cd3ef7adf93a0d08fdb15b7f2">proceedPDO</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
   210
<a name="l00222"></a>00222 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   211
<a name="l00223"></a>00223   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>   numPdo;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   212
<a name="l00224"></a>00224   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>   numMap;  <span class="comment">/* Number of the mapped varable */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   213
<a name="l00225"></a>00225   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> i;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   214
<a name="l00226"></a>00226   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> *     pMappingCount = NULL;    <span class="comment">/* count of mapped objects... */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   215
<a name="l00227"></a>00227   <span class="comment">/* pointer to the var which is mapped to a pdo... */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   216
<a name="l00228"></a>00228   <span class="comment">/*  void *     pMappedAppObject = NULL;   */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   217
<a name="l00229"></a>00229   <span class="comment">/* pointer fo the var which holds the mapping parameter of an</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   218
<a name="l00230"></a>00230 <span class="comment">     mapping entry */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   219
<a name="l00231"></a>00231   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pMappingParameter = NULL;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   220
<a name="l00232"></a>00232   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>  *    pTransmissionType = NULL; <span class="comment">/* pointer to the transmission</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   221
<a name="l00233"></a>00233 <span class="comment">                                         type */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   222
<a name="l00234"></a>00234   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pwCobId = NULL;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   223
<a name="l00235"></a>00235   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       Size;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   224
<a name="l00236"></a>00236   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       dataType;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   225
<a name="l00237"></a>00237   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       offset;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   226
<a name="l00238"></a>00238   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       status;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   227
<a name="l00239"></a>00239   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>      objDict;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   228
<a name="l00240"></a>00240   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>      offsetObjdict;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   229
<a name="l00241"></a>00241   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>      lastIndex;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   230
<a name="l00242"></a>00242   status = <a class="code" href="def_8h.html#5191a3bccf57126087e6ec2cca448c32">state1</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   231
<a name="l00243"></a>00243 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   232
<a name="l00244"></a>00244   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3935, <span class="stringliteral">"proceedPDO, cobID : "</span>, ((*m).cob_id.w &amp; 0x7ff));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   233
<a name="l00245"></a>00245   offset = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   234
<a name="l00246"></a>00246   numPdo = 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   235
<a name="l00247"></a>00247   numMap = 0;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   236
<a name="l00248"></a>00248   <span class="keywordflow">if</span>((*m).rtr == <a class="code" href="def_8h.html#0c43b00ce49efc3586ad17dd80d73940">NOT_A_REQUEST</a> ) { <span class="comment">/* The PDO received is not a</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   237
<a name="l00249"></a>00249 <span class="comment">                                     request. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   238
<a name="l00250"></a>00250     offsetObjdict = <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
   239
<a name="l00251"></a>00251     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>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   240
<a name="l00252"></a>00252 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   241
<a name="l00253"></a>00253     <span class="comment">/* study of all the PDO stored in the dictionary */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   242
<a name="l00254"></a>00254     <span class="keywordflow">if</span>(offsetObjdict)
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   243
<a name="l00255"></a>00255       <span class="keywordflow">while</span> (offsetObjdict &lt;= lastIndex) {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   244
<a name="l00256"></a>00256 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   245
<a name="l00257"></a>00257         <span class="keywordflow">switch</span>( status ) {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   246
<a name="l00258"></a>00258 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   247
<a name="l00259"></a>00259         <span class="keywordflow">case</span> <a class="code" href="def_8h.html#5191a3bccf57126087e6ec2cca448c32">state1</a>:<span class="comment">/* data are stored in process_var array */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   248
<a name="l00260"></a>00260           <span class="comment">/* memcpy(&amp;(process_var.data), &amp;m-&gt;data, (*m).len); */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   249
<a name="l00261"></a>00261           <span class="comment">/* Ce memcpy devrait etre portable */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   250
<a name="l00262"></a>00262           <span class="keywordflow">for</span> ( i = 0 ; i &lt; m-&gt;<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> ; i++)
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   251
<a name="l00263"></a>00263             <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#8790415d8a6886dadbb02c5f145bb543">data</a>[i] = m-&gt;<a class="code" href="structMessage.html#229865b09691e658677ba76f2d82ce89">data</a>[i];
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   252
<a name="l00264"></a>00264           <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#f5110cf5f12faa435cb992cc96e7ff6b">count</a> = (*m).len;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   253
<a name="l00265"></a>00265 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   254
<a name="l00266"></a>00266           status = <a class="code" href="def_8h.html#9f640b93661d9249bd7bd6559f397ca5">state2</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   255
<a name="l00267"></a>00267           <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   256
<a name="l00268"></a>00268 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   257
<a name="l00269"></a>00269         <span class="keywordflow">case</span> <a class="code" href="def_8h.html#9f640b93661d9249bd7bd6559f397ca5">state2</a>:
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   258
<a name="l00270"></a>00270           <span class="comment">/* get CobId of the dictionary correspondant to the received</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   259
<a name="l00271"></a>00271 <span class="comment">             PDO */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   260
<a name="l00272"></a>00272           pwCobId = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdict].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[1].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   261
<a name="l00273"></a>00273           <span class="comment">/* check the CobId coherance */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   262
<a name="l00274"></a>00274           <span class="comment">/*pwCobId is the cobId read in the dictionary at the state 3</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   263
<a name="l00275"></a>00275 <span class="comment">            */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   264
<a name="l00276"></a>00276           if ( *pwCobId == (*m).cob_id.w ){
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   265
<a name="l00277"></a>00277             <span class="comment">/* The cobId is recognized */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   266
<a name="l00278"></a>00278             status = <a class="code" href="def_8h.html#b92f9ec8f5b287c274ebe9c91fda5154">state4</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   267
<a name="l00279"></a>00279             <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3936, <span class="stringliteral">"cobId found at index "</span>, 0x1400 + numPdo);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   268
<a name="l00280"></a>00280             <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   269
<a name="l00281"></a>00281           }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   270
<a name="l00282"></a>00282           <span class="keywordflow">else</span> {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   271
<a name="l00283"></a>00283             <span class="comment">/* cobId received does not match with those write in the</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   272
<a name="l00284"></a>00284 <span class="comment">              dictionnary */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   273
<a name="l00285"></a>00285             numPdo++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   274
<a name="l00286"></a>00286             offsetObjdict++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   275
<a name="l00287"></a>00287             status = <a class="code" href="def_8h.html#9f640b93661d9249bd7bd6559f397ca5">state2</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   276
<a name="l00288"></a>00288             <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   277
<a name="l00289"></a>00289           }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   278
<a name="l00290"></a>00290 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   279
<a name="l00291"></a>00291             <span class="keywordflow">case</span> <a class="code" href="def_8h.html#b92f9ec8f5b287c274ebe9c91fda5154">state4</a>:<span class="comment">/* Get Mapped Objects Number */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   280
<a name="l00292"></a>00292                <span class="comment">/* The cobId of the message received has been found in the</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   281
<a name="l00293"></a>00293 <span class="comment">                 dictionnary. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   282
<a name="l00294"></a>00294                offsetObjdict = <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#9a83f9efff533e71d580fda6118b101e">PDO_RCV_MAP</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   283
<a name="l00295"></a>00295              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#9a83f9efff533e71d580fda6118b101e">PDO_RCV_MAP</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   284
<a name="l00296"></a>00296              pMappingCount = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict + numPdo)-&gt;pSubindex[0].pObject;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   285
<a name="l00297"></a>00297              numMap = 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   286
<a name="l00298"></a>00298              <span class="keywordflow">while</span> (numMap &lt; *pMappingCount) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   287
<a name="l00299"></a>00299                <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> tmp[]= {0,0,0,0,0,0,0,0};
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   288
<a name="l00300"></a>00300                <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> ByteSize;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   289
<a name="l00301"></a>00301                pMappingParameter = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict + numPdo)-&gt;pSubindex[numMap + 1].pObject;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   290
<a name="l00302"></a>00302                <span class="keywordflow">if</span> (pMappingParameter == NULL) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   291
<a name="l00303"></a>00303                  <a class="code" href="hcs12_2applicfg_8h.html#99178e2619db849578b20df5aa241844">MSG_ERR</a>(0x1937, <span class="stringliteral">"Couldn't get mapping parameter : "</span>, numMap + 1);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   292
<a name="l00304"></a>00304                  <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   293
<a name="l00305"></a>00305                }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   294
<a name="l00306"></a>00306                <span class="comment">/* Get the addresse of the mapped variable. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   295
<a name="l00307"></a>00307                <span class="comment">/* detail of *pMappingParameter : */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   296
<a name="l00308"></a>00308                <span class="comment">/* The 16 hight bits contains the index, the medium 8 bits</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   297
<a name="l00309"></a>00309 <span class="comment">                 contains the subindex, */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   298
<a name="l00310"></a>00310                <span class="comment">/* and the lower 8 bits contains the size of the mapped</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   299
<a name="l00311"></a>00311 <span class="comment">                 variable. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   300
<a name="l00312"></a>00312 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   301
<a name="l00313"></a>00313                Size = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(*pMappingParameter);
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   302
<a name="l00314"></a>00314 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   303
<a name="l00315"></a>00315                <span class="comment">/* copy bit per bit in little endian */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   304
<a name="l00316"></a>00316                <a class="code" href="pdo_8c.html#e468510c9f77f502207d961d26389918">CopyBits</a>(Size, (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>*)&amp;<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#8790415d8a6886dadbb02c5f145bb543">data</a>[offset&gt;&gt;3], offset%8, 0, ((<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>*)tmp), 0, 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   305
<a name="l00317"></a>00317 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   306
<a name="l00318"></a>00318                ByteSize = 1 + ((Size - 1) &gt;&gt; 3); <span class="comment">/*1-&gt;8 =&gt; 1 ; 9-&gt;16 =&gt;</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   307
<a name="l00319"></a>00319 <span class="comment">                                                   2, ... */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   308
<a name="l00320"></a>00320 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   309
<a name="l00321"></a>00321                objDict = <a class="code" href="objacces_8c.html#17e598cc1b2e60380e2e4e75afe9b3b0">setODentry</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>)((*pMappingParameter) &gt;&gt; 16),
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   310
<a name="l00322"></a>00322                                     (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(((*pMappingParameter) &gt;&gt; 8 ) &amp; 0xFF),
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   311
<a name="l00323"></a>00323                                  tmp, &amp;ByteSize, 0 );
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   312
<a name="l00324"></a>00324 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   313
<a name="l00325"></a>00325                <span class="keywordflow">if</span>(objDict != <a class="code" href="def_8h.html#cb82b94eb8e368e8c347b2273b6e514e">OD_SUCCESSFUL</a>) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   314
<a name="l00326"></a>00326                  <a class="code" href="hcs12_2applicfg_8h.html#99178e2619db849578b20df5aa241844">MSG_ERR</a>(0x1938, <span class="stringliteral">"error accessing to the mapped var : "</span>, numMap + 1);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   315
<a name="l00327"></a>00327                  <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2939, <span class="stringliteral">"         Mapped at index : "</span>, (*pMappingParameter) &gt;&gt; 16);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   316
<a name="l00328"></a>00328                  <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2940, <span class="stringliteral">"                subindex : "</span>, ((*pMappingParameter) &gt;&gt; 8 ) &amp; 0xFF);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   317
<a name="l00329"></a>00329                  <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   318
<a name="l00330"></a>00330                }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   319
<a name="l00331"></a>00331 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   320
<a name="l00332"></a>00332                <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3942, <span class="stringliteral">"Variable updated with value received by PDO cobid : "</span>, m-&gt;<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   321
<a name="l00333"></a>00333                <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3943, <span class="stringliteral">"         Mapped at index : "</span>, (*pMappingParameter) &gt;&gt; 16);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   322
<a name="l00334"></a>00334                <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3944, <span class="stringliteral">"                subindex : "</span>, ((*pMappingParameter) &gt;&gt; 8 ) &amp; 0xFF);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   323
<a name="l00335"></a>00335                <span class="comment">/* MSG_WAR(0x3945, "                data : ",*((UNS32*)pMappedAppObject)); */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   324
<a name="l00336"></a>00336                offset += Size;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   325
<a name="l00337"></a>00337                numMap++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   326
<a name="l00338"></a>00338              } <span class="comment">/* end loop while on mapped variables */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   327
<a name="l00339"></a>00339 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   328
<a name="l00340"></a>00340              offset=0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   329
<a name="l00341"></a>00341              numMap = 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   330
<a name="l00342"></a>00342              <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   331
<a name="l00343"></a>00343 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   332
<a name="l00344"></a>00344         }<span class="comment">/* end switch status*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   333
<a name="l00345"></a>00345       }<span class="comment">/* end while*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   334
<a name="l00346"></a>00346   }<span class="comment">/* end if Donnees */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   335
<a name="l00347"></a>00347   <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((*m).rtr == <a class="code" href="def_8h.html#6baece8be8f9ab55223d41b535511b6f">REQUEST</a> ){
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   336
<a name="l00348"></a>00348     <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3946, <span class="stringliteral">"Receive a PDO request cobId : "</span>, m-&gt;<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   337
<a name="l00349"></a>00349     status = <a class="code" href="def_8h.html#5191a3bccf57126087e6ec2cca448c32">state1</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   338
<a name="l00350"></a>00350     offsetObjdict = <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
   339
<a name="l00351"></a>00351     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>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   340
<a name="l00352"></a>00352     <span class="keywordflow">if</span>(offsetObjdict) <span class="keywordflow">while</span>( offsetObjdict  &lt;= lastIndex ){
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   341
<a name="l00353"></a>00353       <span class="comment">/* study of all PDO stored in the objects dictionary */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   342
<a name="l00354"></a>00354 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   343
<a name="l00355"></a>00355       <span class="keywordflow">switch</span>( status ){
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   344
<a name="l00356"></a>00356 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   345
<a name="l00357"></a>00357       <span class="keywordflow">case</span> <a class="code" href="def_8h.html#5191a3bccf57126087e6ec2cca448c32">state1</a>:<span class="comment">/* check the CobId */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   346
<a name="l00358"></a>00358         <span class="comment">/* get CobId of the dictionary which match to the received PDO</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   347
<a name="l00359"></a>00359 <span class="comment">         */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   348
<a name="l00360"></a>00360         pwCobId = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict)-&gt;pSubindex[1].pObject;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   349
<a name="l00361"></a>00361         <span class="keywordflow">if</span> ( *pwCobId == (*m).cob_id.w ) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   350
<a name="l00362"></a>00362           status = <a class="code" href="def_8h.html#b92f9ec8f5b287c274ebe9c91fda5154">state4</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   351
<a name="l00363"></a>00363           <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   352
<a name="l00364"></a>00364         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   353
<a name="l00365"></a>00365         <span class="keywordflow">else</span> {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   354
<a name="l00366"></a>00366           numPdo++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   355
<a name="l00367"></a>00367           offsetObjdict++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   356
<a name="l00368"></a>00368         }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   357
<a name="l00369"></a>00369         status = <a class="code" href="def_8h.html#5191a3bccf57126087e6ec2cca448c32">state1</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   358
<a name="l00370"></a>00370         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   359
<a name="l00371"></a>00371 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   360
<a name="l00372"></a>00372 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   361
<a name="l00373"></a>00373       <span class="keywordflow">case</span> <a class="code" href="def_8h.html#b92f9ec8f5b287c274ebe9c91fda5154">state4</a>:<span class="comment">/* check transmission type (after request?) */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   362
<a name="l00374"></a>00374         pTransmissionType = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdict].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[2].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   363
<a name="l00375"></a>00375         <span class="keywordflow">if</span> ( (*pTransmissionType == <a class="code" href="objdictdef_8h.html#1a9dbd29fbf815b9f24dd8e177cfecdb">TRANS_RTR</a>) || (*pTransmissionType == <a class="code" href="objdictdef_8h.html#1796da41c02afb8d119aa2a103cebbc2">TRANS_RTR_SYNC</a> ) || (*pTransmissionType == <a class="code" href="objdictdef_8h.html#85c21667cdfc019327398abd11cf30b4">TRANS_EVENT</a>) ) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   364
<a name="l00376"></a>00376           status = <a class="code" href="def_8h.html#9c791e43dcf77cb119f7d79db324d1f8">state5</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   365
<a name="l00377"></a>00377           <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   366
<a name="l00378"></a>00378         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   367
<a name="l00379"></a>00379         <span class="keywordflow">else</span> {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   368
<a name="l00380"></a>00380           <span class="comment">/* The requested PDO is not to send on request. So, does</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   369
<a name="l00381"></a>00381 <span class="comment">            nothing. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   370
<a name="l00382"></a>00382           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2947, <span class="stringliteral">"PDO is not to send on request : "</span>, m-&gt;<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   371
<a name="l00383"></a>00383           <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   372
<a name="l00384"></a>00384         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   373
<a name="l00385"></a>00385 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   374
<a name="l00386"></a>00386       <span class="keywordflow">case</span> <a class="code" href="def_8h.html#9c791e43dcf77cb119f7d79db324d1f8">state5</a>:<span class="comment">/* get mapped objects number */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   375
<a name="l00387"></a>00387         offsetObjdict = <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#c91a86195b3615a98f7b07e0c51ac75f">PDO_TRS_MAP</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   376
<a name="l00388"></a>00388         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#c91a86195b3615a98f7b07e0c51ac75f">PDO_TRS_MAP</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   377
<a name="l00389"></a>00389         pMappingCount = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict + numPdo)-&gt;pSubindex[0].pObject;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   378
<a name="l00390"></a>00390         numMap = 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   379
<a name="l00391"></a>00391         <span class="keywordflow">while</span> (numMap &lt; *pMappingCount) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   380
<a name="l00392"></a>00392           pMappingParameter = (<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a> + offsetObjdict + numPdo)-&gt;pSubindex[numMap + 1].pObject;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   381
<a name="l00393"></a>00393           <span class="comment">/* Get the mapped variable */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   382
<a name="l00394"></a>00394           Size = ((<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(((*pMappingParameter) &amp; 0xFF) &gt;&gt; 3));
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   383
<a name="l00395"></a>00395           objDict = <a class="code" href="objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac">getODentry</a>( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>)((*pMappingParameter) &gt;&gt; (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)16),
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   384
<a name="l00396"></a>00396                                 (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(( (*pMappingParameter) &gt;&gt; (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)8 ) &amp; 0xFF),
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   385
<a name="l00397"></a>00397                                 (<span class="keywordtype">void</span> *)&amp;<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#8790415d8a6886dadbb02c5f145bb543">data</a>[offset], &amp;Size, &amp;dataType, 0 );
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   386
<a name="l00398"></a>00398           <span class="keywordflow">if</span> (objDict != <a class="code" href="def_8h.html#cb82b94eb8e368e8c347b2273b6e514e">OD_SUCCESSFUL</a>) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   387
<a name="l00399"></a>00399             <a class="code" href="hcs12_2applicfg_8h.html#99178e2619db849578b20df5aa241844">MSG_ERR</a>(0x1948, <span class="stringliteral">"error accessing to the mapped var : "</span>, numMap + 1);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   388
<a name="l00400"></a>00400             <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2949, <span class="stringliteral">"         Mapped at index : "</span>, (*pMappingParameter) &gt;&gt; 16);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   389
<a name="l00401"></a>00401             <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2950, <span class="stringliteral">"                subindex : "</span>, ((*pMappingParameter) &gt;&gt; 8 ) &amp; 0xFF);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   390
<a name="l00402"></a>00402             <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   391
<a name="l00403"></a>00403           }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   392
<a name="l00404"></a>00404           offset += (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>) (((*pMappingParameter) &amp; 0xFF) &gt;&gt; 3);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   393
<a name="l00405"></a>00405           <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#26f4d508a9e409f2ace9c8c55d92d826">process_var</a>.<a class="code" href="structstruct__s__process__var.html#f5110cf5f12faa435cb992cc96e7ff6b">count</a> = offset;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   394
<a name="l00406"></a>00406           numMap++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   395
<a name="l00407"></a>00407 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   396
<a name="l00408"></a>00408         } <span class="comment">/* end while */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   397
<a name="l00409"></a>00409         <a class="code" href="pdo_8c.html#298b8291fa35cca22264cf8a70bf138a">PDOmGR</a>( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, *pwCobId ); <span class="comment">/* Transmit the PDO */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   398
<a name="l00410"></a>00410         <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   399
<a name="l00411"></a>00411 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   400
<a name="l00412"></a>00412       }<span class="comment">/* end switch status */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   401
<a name="l00413"></a>00413     }<span class="comment">/* end while */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   402
<a name="l00414"></a>00414   }<span class="comment">/* end if Requete */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   403
<a name="l00415"></a>00415 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   404
<a name="l00416"></a>00416   <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   405
<a name="l00417"></a>00417 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   406
<a name="l00418"></a>00418 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   407
<a name="l00430"></a><a class="code" href="pdo_8h.html#e468510c9f77f502207d961d26389918">00430</a> <span class="keywordtype">void</span> <a class="code" href="pdo_8c.html#e468510c9f77f502207d961d26389918">CopyBits</a>(<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> NbBits, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>* SrcByteIndex, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> SrcBitIndex, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> SrcBigEndian, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>* DestByteIndex, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> DestBitIndex, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> DestBigEndian)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   408
<a name="l00431"></a>00431 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   409
<a name="l00432"></a>00432   <span class="comment">/* This loop copy as many bits that it can each time, crossing*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   410
<a name="l00433"></a>00433   <span class="comment">/* successively bytes*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   411
<a name="l00434"></a>00434   <span class="comment">// boundaries from LSB to MSB.</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   412
<a name="l00435"></a>00435   <span class="keywordflow">while</span>(NbBits &gt; 0)
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   413
<a name="l00436"></a>00436     {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   414
<a name="l00437"></a>00437       <span class="comment">/* Bit missalignement between src and dest*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   415
<a name="l00438"></a>00438       <a class="code" href="hcs12_2applicfg_8h.html#662ebb8e51dc6acbd8850e22f172c5bf">INTEGER8</a> Vect = DestBitIndex - SrcBitIndex;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   416
<a name="l00439"></a>00439 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   417
<a name="l00440"></a>00440       <span class="comment">/* We can now get src and align it to dest*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   418
<a name="l00441"></a>00441       <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> Aligned = Vect&gt;0 ? *SrcByteIndex &lt;&lt; Vect : *SrcByteIndex &gt;&gt; -Vect;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   419
<a name="l00442"></a>00442 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   420
<a name="l00443"></a>00443       <span class="comment">/* Compute the nb of bit we will be able to copy*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   421
<a name="l00444"></a>00444       <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> BoudaryLimit = (Vect&gt;0 ? 8 - DestBitIndex :  8 - SrcBitIndex );
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   422
<a name="l00445"></a>00445       <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> BitsToCopy = BoudaryLimit &gt; NbBits ? NbBits : BoudaryLimit;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   423
<a name="l00446"></a>00446 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   424
<a name="l00447"></a>00447       <span class="comment">/* Create a mask that will serve in:*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   425
<a name="l00448"></a>00448       <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> Mask = ((0xff &lt;&lt; (DestBitIndex + BitsToCopy)) | (0xff &gt;&gt; (8 - DestBitIndex)));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   426
<a name="l00449"></a>00449 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   427
<a name="l00450"></a>00450       <span class="comment">/* - Filtering src*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   428
<a name="l00451"></a>00451       <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> Filtered = Aligned &amp; ~Mask;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   429
<a name="l00452"></a>00452 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   430
<a name="l00453"></a>00453       <span class="comment">/* - and erase bits where we write, preserve where we don't*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   431
<a name="l00454"></a>00454       *DestByteIndex &amp;= Mask;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   432
<a name="l00455"></a>00455 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   433
<a name="l00456"></a>00456       <span class="comment">/* Then write.*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   434
<a name="l00457"></a>00457       *DestByteIndex |= Filtered ;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   435
<a name="l00458"></a>00458 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   436
<a name="l00459"></a>00459       <span class="comment">/*Compute next time cursors for src*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   437
<a name="l00460"></a>00460       <span class="keywordflow">if</span>((SrcBitIndex += BitsToCopy)&gt;7)<span class="comment">/* cross boundary ?*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   438
<a name="l00461"></a>00461         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   439
<a name="l00462"></a>00462           SrcBitIndex = 0;<span class="comment">/* First bit*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   440
<a name="l00463"></a>00463           SrcByteIndex += (SrcBigEndian ? -1 : 1);<span class="comment">/* Next byte*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   441
<a name="l00464"></a>00464         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   442
<a name="l00465"></a>00465 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   443
<a name="l00466"></a>00466 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   444
<a name="l00467"></a>00467       <span class="comment">/*Compute next time cursors for dest*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   445
<a name="l00468"></a>00468       <span class="keywordflow">if</span>((DestBitIndex += BitsToCopy)&gt;7)
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   446
<a name="l00469"></a>00469         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   447
<a name="l00470"></a>00470           DestBitIndex = 0;<span class="comment">/* First bit*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   448
<a name="l00471"></a>00471           DestByteIndex += (DestBigEndian ? -1 : 1);<span class="comment">/* Next byte*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   449
<a name="l00472"></a>00472         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   450
<a name="l00473"></a>00473 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   451
<a name="l00474"></a>00474       <span class="comment">/*And decrement counter.*/</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   452
<a name="l00475"></a>00475       NbBits -= BitsToCopy;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   453
<a name="l00476"></a>00476     }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   454
<a name="l00477"></a>00477 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   455
<a name="l00478"></a>00478 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   456
<a name="l00479"></a>00479 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   457
<a name="l00480"></a>00480 <span class="preprocessor">#if 0</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   458
<a name="l00481"></a>00481 <span class="preprocessor"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   459
<a name="l00482"></a>00482 <span class="comment">/*********************************************************************/</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   460
<a name="l00483"></a>00483 <span class="comment">/* TODO : reimplement this using CallBacks</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   461
<a name="l00484"></a>00484 <span class="comment"> */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   462
<a name="l00485"></a>00485 <span class="comment">/*********************************************************************/</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   463
<a name="l00486"></a>00486 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   464
<a name="l00495"></a>00495 <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="pdo_8h.html#07ff33d0d2e6b1070bf3c27578006e8d">sendPDOevent</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="keywordtype">void</span> * variable )
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   465
<a name="l00496"></a>00496 { <span class="comment">/* DO NOT USE MSG_ERR because the macro may send a PDO -&gt; infinite</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   466
<a name="l00497"></a>00497 <span class="comment">    loop if it fails.*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   467
<a name="l00498"></a>00498   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>           objDict = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   468
<a name="l00499"></a>00499   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>            ind, sub_ind;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   469
<a name="l00500"></a>00500   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>            status;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   470
<a name="l00501"></a>00501   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>            offset;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   471
<a name="l00502"></a>00502   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> *     pMappingCount = NULL;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   472
<a name="l00503"></a>00503   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pMappingParameter = NULL;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   473
<a name="l00504"></a>00504   <span class="keywordtype">void</span> *     pMappedAppObject = NULL;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   474
<a name="l00505"></a>00505   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> *     pTransmissionType = NULL; <span class="comment">/* pointer to the transmission</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   475
<a name="l00506"></a>00506 <span class="comment">                                         type */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   476
<a name="l00507"></a>00507   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pwCobId = NULL;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   477
<a name="l00508"></a>00508   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> *     pSize;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   478
<a name="l00509"></a>00509   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       size;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   479
<a name="l00510"></a>00510   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       dataType;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   480
<a name="l00511"></a>00511   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>      offsetObjdict;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   481
<a name="l00512"></a>00512   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>      offsetObjdictPrm;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   482
<a name="l00513"></a>00513   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>      lastIndex;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   483
<a name="l00514"></a>00514   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>       numMap;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   484
<a name="l00515"></a>00515   ind     = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   485
<a name="l00516"></a>00516   sub_ind = 1;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   486
<a name="l00517"></a>00517   offset  = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   487
<a name="l00518"></a>00518   pSize   = &amp;size;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   488
<a name="l00519"></a>00519   status  = <a class="code" href="def_8h.html#5191a3bccf57126087e6ec2cca448c32">state1</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   489
<a name="l00520"></a>00520 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   490
<a name="l00521"></a>00521 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   491
<a name="l00522"></a>00522   <span class="comment">/* look for the index and subindex where the variable is mapped */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   492
<a name="l00523"></a>00523   <span class="comment">/* Then, send the pdo which contains the variable. */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   493
<a name="l00524"></a>00524 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   494
<a name="l00525"></a>00525   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a> (0x3960, <span class="stringliteral">"sendPDOevent"</span>, 0);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   495
<a name="l00526"></a>00526   offsetObjdictPrm = <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>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   496
<a name="l00527"></a>00527 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   497
<a name="l00528"></a>00528   offsetObjdict = <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#c91a86195b3615a98f7b07e0c51ac75f">PDO_TRS_MAP</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   498
<a name="l00529"></a>00529   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#c91a86195b3615a98f7b07e0c51ac75f">PDO_TRS_MAP</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   499
<a name="l00530"></a>00530 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   500
<a name="l00531"></a>00531   <span class="keywordflow">if</span> (offsetObjdictPrm &amp;&amp; offsetObjdict)
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   501
<a name="l00532"></a>00532     <span class="comment">/* Loop on PDO Transmit */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   502
<a name="l00533"></a>00533     <span class="keywordflow">while</span>(offsetObjdict &lt;= lastIndex){
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   503
<a name="l00534"></a>00534       <span class="comment">/* Check the transmission mode */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   504
<a name="l00535"></a>00535       pTransmissionType = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdictPrm].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[2].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   505
<a name="l00536"></a>00536       <span class="keywordflow">if</span> (*pTransmissionType != <a class="code" href="objdictdef_8h.html#85c21667cdfc019327398abd11cf30b4">TRANS_EVENT</a>) {
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   506
<a name="l00537"></a>00537         ind++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   507
<a name="l00538"></a>00538         offsetObjdict++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   508
<a name="l00539"></a>00539         offsetObjdictPrm++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   509
<a name="l00540"></a>00540         <span class="keywordflow">continue</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   510
<a name="l00541"></a>00541       }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   511
<a name="l00542"></a>00542       pMappingCount = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdict].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[0].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   512
<a name="l00543"></a>00543       numMap = 1; <span class="comment">/* mapped variable */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   513
<a name="l00544"></a>00544       <span class="keywordflow">while</span> (numMap &lt;= *pMappingCount) {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   514
<a name="l00545"></a>00545         pMappingParameter = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdict].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[numMap].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   515
<a name="l00546"></a>00546         <span class="comment">/* Get the variable */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   516
<a name="l00547"></a>00547         objDict = <a class="code" href="objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac">getODentry</a>( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   517
<a name="l00548"></a>00548                               (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>)((*pMappingParameter) &gt;&gt; 16),
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   518
<a name="l00549"></a>00549                               (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(( (*pMappingParameter) &gt;&gt; (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)8 ) &amp; (<a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a>)0x000000FF),
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   519
<a name="l00550"></a>00550                               (<span class="keywordtype">void</span> * *)&amp;pMappedAppObject, pSize, &amp;dataType, 0 );
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   520
<a name="l00551"></a>00551         <span class="keywordflow">if</span>( objDict != <a class="code" href="def_8h.html#cb82b94eb8e368e8c347b2273b6e514e">OD_SUCCESSFUL</a> ) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   521
<a name="l00552"></a>00552           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2961, <span class="stringliteral">"Error in dict. at index : "</span>,
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   522
<a name="l00553"></a>00553                   (*pMappingParameter) &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
   523
<a name="l00554"></a>00554 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   524
<a name="l00555"></a>00555           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2962, <span class="stringliteral">"               subindex : "</span>,
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   525
<a name="l00556"></a>00556                   ((*pMappingParameter) &gt;&gt; (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)8 ) &amp; (UNS32)0x000000FF);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   526
<a name="l00557"></a>00557           <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   527
<a name="l00558"></a>00558         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   528
<a name="l00559"></a>00559         <span class="keywordflow">if</span> (pMappedAppObject == variable) { <span class="comment">// Variable found !</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   529
<a name="l00560"></a>00560           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3963, <span class="stringliteral">"Variable to send found at index : "</span>,
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   530
<a name="l00561"></a>00561                   (*pMappingParameter) &gt;&gt; 16);
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   531
<a name="l00562"></a>00562           <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3964, <span class="stringliteral">"                       subIndex : "</span>,
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   532
<a name="l00563"></a>00563                   ((*pMappingParameter) &gt;&gt; 8 ) &amp; 0x000000FF);
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   533
<a name="l00564"></a>00564           <a class="code" href="pdo_8h.html#b9c82d949045cb7f52ed40d0ee8c7bf1">buildPDO</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, 0x1800 + ind);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   534
<a name="l00565"></a>00565           <span class="comment">/* Get the cobId */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   535
<a name="l00566"></a>00566           pwCobId = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdictPrm].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[1].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   536
<a name="l00567"></a>00567           <a class="code" href="pdo_8c.html#298b8291fa35cca22264cf8a70bf138a">PDOmGR</a>( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, *pwCobId ); <span class="comment">/* Send the PDO */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   537
<a name="l00568"></a>00568           <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   538
<a name="l00569"></a>00569         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   539
<a name="l00570"></a>00570         numMap++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   540
<a name="l00571"></a>00571       } <span class="comment">/* End loop on mapped variable */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   541
<a name="l00572"></a>00572       ind++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   542
<a name="l00573"></a>00573       offsetObjdict++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   543
<a name="l00574"></a>00574       offsetObjdictPrm++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   544
<a name="l00575"></a>00575     } <span class="comment">/* End loop while on PDO */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   545
<a name="l00576"></a>00576 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   546
<a name="l00577"></a>00577   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x2965, <span class="stringliteral">"Variable not found in a PDO to send on event"</span>, 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   547
<a name="l00578"></a>00578   <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   548
<a name="l00579"></a>00579 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   549
<a name="l00580"></a>00580 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   550
<a name="l00581"></a>00581 <span class="preprocessor">#endif</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   551
<a name="l00582"></a>00582 <span class="preprocessor"></span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   552
<a name="l00583"></a>00583 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   553
<a name="l00584"></a>00584 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   554
</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
   555
<a href="http://www.doxygen.org/index.html">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   556
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   557
</body>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   558
</html>