doc/doxygen/html/sync_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/sync.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>sync.c</h1><a href="sync_8c.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">/*</span>
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    23
<a name="l00002"></a>00002 <span class="comment">This file is part of CanFestival, a library implementing CanOpen Stack. </span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    24
<a name="l00003"></a>00003 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    25
<a name="l00004"></a>00004 <span class="comment">Copyright (C): Edouard TISSERANT and Francis DUPIN</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    26
<a name="l00005"></a>00005 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    27
<a name="l00006"></a>00006 <span class="comment">See COPYING file for copyrights details.</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    28
<a name="l00007"></a>00007 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    29
<a name="l00008"></a>00008 <span class="comment">This library is free software; you can redistribute it and/or</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    30
<a name="l00009"></a>00009 <span class="comment">modify it under the terms of the GNU Lesser General Public</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    31
<a name="l00010"></a>00010 <span class="comment">License as published by the Free Software Foundation; either</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    32
<a name="l00011"></a>00011 <span class="comment">version 2.1 of the License, or (at your option) any later version.</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    33
<a name="l00012"></a>00012 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    34
<a name="l00013"></a>00013 <span class="comment">This library is distributed in the hope that it will be useful,</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    35
<a name="l00014"></a>00014 <span class="comment">but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    36
<a name="l00015"></a>00015 <span class="comment">MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    37
<a name="l00016"></a>00016 <span class="comment">Lesser General Public License for more details.</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    38
<a name="l00017"></a>00017 <span class="comment"></span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    39
<a name="l00018"></a>00018 <span class="comment">You should have received a copy of the GNU Lesser General Public</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    40
<a name="l00019"></a>00019 <span class="comment">License along with this library; if not, write to the Free Software</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    41
<a name="l00020"></a>00020 <span class="comment">Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    42
<a name="l00021"></a>00021 <span class="comment">*/</span>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    43
<a name="l00022"></a>00022 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    44
<a name="l00033"></a>00033 <span class="preprocessor">#include "<a class="code" href="data_8h.html">data.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    45
<a name="l00034"></a>00034 <span class="preprocessor">#include "<a class="code" href="sync_8h.html">sync.h</a>"</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    46
<a name="l00035"></a>00035 <span class="preprocessor">#include "<a class="code" href="win32_2canfestival_8h.html">canfestival.h</a>"</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    47
<a name="l00036"></a>00036 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    48
<a name="l00037"></a>00037 <span class="comment">/* Prototypes for internals functions */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    49
<a name="l00038"></a>00038 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    50
<a name="l00045"></a>00045 <span class="keywordtype">void</span> <a class="code" href="sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45">SyncAlarm</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <span class="keywordtype">id</span>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    51
<a name="l00046"></a>00046 <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <a class="code" href="sync_8c.html#82595787f641ab85980d83522f1158b0">OnCOB_ID_SyncUpdate</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <span class="keyword">const</span> <a class="code" href="structtd__indextable.html">indextable</a> * unsused_indextable, 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    52
<a name="l00047"></a>00047         <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> unsused_bSubindex);
207
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
    53
<a name="l00048"></a>00048 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    54
<a name="l00055"></a><a class="code" href="sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45">00055</a> <span class="keywordtype">void</span> <a class="code" href="sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45">SyncAlarm</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <span class="keywordtype">id</span>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    55
<a name="l00056"></a>00056 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    56
<a name="l00057"></a>00057         <a class="code" href="sync_8c.html#0bcc501eb14c12365ffbaa3453905b50">sendSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#eb1479220ec68407a35635bfbffa3386">COB_ID_Sync</a> &amp; 0x1FFFFFFF) ;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    57
<a name="l00058"></a>00058 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    58
<a name="l00059"></a>00059 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    59
<a name="l00069"></a><a class="code" href="sync_8c.html#82595787f641ab85980d83522f1158b0">00069</a> <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> <a class="code" href="sync_8c.html#82595787f641ab85980d83522f1158b0">OnCOB_ID_SyncUpdate</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, <span class="keyword">const</span> <a class="code" href="structtd__indextable.html">indextable</a> * unsused_indextable, <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> unsused_bSubindex)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    60
<a name="l00070"></a>00070 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    61
<a name="l00071"></a>00071         <a class="code" href="sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a">startSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    62
<a name="l00072"></a>00072         <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    63
<a name="l00073"></a>00073 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    64
<a name="l00074"></a>00074 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    65
<a name="l00080"></a><a class="code" href="sync_8h.html#2e0bf669f5b40dfbdda0f12a5ae3631a">00080</a> <span class="keywordtype">void</span> <a class="code" href="sync_8c.html#2e0bf669f5b40dfbdda0f12a5ae3631a">startSYNC</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    66
<a name="l00081"></a>00081 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    67
<a name="l00082"></a>00082         <a class="code" href="objacces_8c.html#514e7b9c13835a86446b1cd38fa34049">RegisterSetODentryCallBack</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, 0x1005, 0, &amp;<a class="code" href="sync_8c.html#82595787f641ab85980d83522f1158b0">OnCOB_ID_SyncUpdate</a>);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    68
<a name="l00083"></a>00083         <a class="code" href="objacces_8c.html#514e7b9c13835a86446b1cd38fa34049">RegisterSetODentryCallBack</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, 0x1006, 0, &amp;<a class="code" href="sync_8c.html#82595787f641ab85980d83522f1158b0">OnCOB_ID_SyncUpdate</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    69
<a name="l00084"></a>00084 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    70
<a name="l00085"></a>00085         <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#b8e7a429eb6e0bca2429685725516fe8">syncTimer</a> != TIMER_NONE){
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    71
<a name="l00086"></a>00086                 <a class="code" href="sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164">stopSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    72
<a name="l00087"></a>00087         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    73
<a name="l00088"></a>00088         
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    74
<a name="l00089"></a>00089         <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#eb1479220ec68407a35635bfbffa3386">COB_ID_Sync</a> &amp; 0x40000000 &amp;&amp; *<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#2dddbef6ce165dca7ff916e2e1409142">Sync_Cycle_Period</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    75
<a name="l00090"></a>00090         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    76
<a name="l00091"></a>00091                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#b8e7a429eb6e0bca2429685725516fe8">syncTimer</a> = <a class="code" href="timer_8c.html#11c2616d78f06ed9144ef662f757b128">SetAlarm</a>(
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    77
<a name="l00092"></a>00092                                 <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>,
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    78
<a name="l00093"></a>00093                                 0 <span class="comment">/*No id needed*/</span>,
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    79
<a name="l00094"></a>00094                                 &amp;<a class="code" href="sync_8c.html#bbcce7b549414c7bc1aa72fa66258b45">SyncAlarm</a>,
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    80
<a name="l00095"></a>00095                                 <a class="code" href="hcs12_2applicfg_8h.html#56849fe35cb6cbe17f7768a2d3af62f8">US_TO_TIMEVAL</a>(*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#2dddbef6ce165dca7ff916e2e1409142">Sync_Cycle_Period</a>), 
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    81
<a name="l00096"></a>00096                                 <a class="code" href="hcs12_2applicfg_8h.html#56849fe35cb6cbe17f7768a2d3af62f8">US_TO_TIMEVAL</a>(*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#2dddbef6ce165dca7ff916e2e1409142">Sync_Cycle_Period</a>));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    82
<a name="l00097"></a>00097         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    83
<a name="l00098"></a>00098 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    84
<a name="l00099"></a>00099 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    85
<a name="l00105"></a><a class="code" href="sync_8h.html#41c47dbd59d22bf9bab6cd288cf27164">00105</a> <span class="keywordtype">void</span> <a class="code" href="sync_8c.html#41c47dbd59d22bf9bab6cd288cf27164">stopSYNC</a>(<a class="code" href="structstruct__CO__Data.html">CO_Data</a>* <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    86
<a name="l00106"></a>00106 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    87
<a name="l00107"></a>00107         <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#b8e7a429eb6e0bca2429685725516fe8">syncTimer</a> = <a class="code" href="timer_8c.html#991b3cfaac2f201b14d5530f75985c21">DelAlarm</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#b8e7a429eb6e0bca2429685725516fe8">syncTimer</a>);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    88
<a name="l00108"></a>00108 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    89
<a name="l00109"></a>00109 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    90
<a name="l00118"></a><a class="code" href="sync_8h.html#0bcc501eb14c12365ffbaa3453905b50">00118</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="sync_8c.html#0bcc501eb14c12365ffbaa3453905b50">sendSYNC</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> cob_id)
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    91
<a name="l00119"></a>00119 {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    92
<a name="l00120"></a>00120   <a class="code" href="structMessage.html">Message</a> m;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    93
<a name="l00121"></a>00121   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> resultat ;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    94
<a name="l00122"></a>00122   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    95
<a name="l00123"></a>00123   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3001, <span class="stringliteral">"sendSYNC "</span>, 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
    96
<a name="l00124"></a>00124   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    97
<a name="l00125"></a>00125   m.<a class="code" href="structMessage.html#c5d40bde75d015beb48293c052a218b5">cob_id</a>.<a class="code" href="structSHORT__CAN.html#614e1c6a40f1261e2b15ad69b19e9698">w</a> = cob_id ;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
    98
<a name="l00126"></a>00126   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
    99
<a name="l00127"></a>00127   m.<a class="code" href="structMessage.html#d1dd9a88dda088ff4c7073d49613613d">len</a> = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   100
<a name="l00128"></a>00128   resultat = <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
   101
<a name="l00129"></a>00129   <a class="code" href="sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1">proceedSYNC</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, &amp;m) ; 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   102
<a name="l00130"></a>00130   <span class="keywordflow">return</span> resultat ;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   103
<a name="l00131"></a>00131 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   104
<a name="l00132"></a>00132 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   105
<a name="l00141"></a><a class="code" href="sync_8h.html#80cadcba23dc859db8a8d3f52789d6d1">00141</a> <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> <a class="code" href="sync_8c.html#80cadcba23dc859db8a8d3f52789d6d1">proceedSYNC</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
   106
<a name="l00142"></a>00142 {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   107
<a name="l00143"></a>00143 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   108
<a name="l00144"></a>00144   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>  pdoNum,       <span class="comment">/* number of the actual processed pdo-nr. */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   109
<a name="l00145"></a>00145         prp_j;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   110
<a name="l00146"></a>00146 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   111
<a name="l00147"></a>00147   <span class="keyword">const</span> <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
   112
<a name="l00148"></a>00148   <span class="comment">/* pointer to the var which is mapped to a pdo */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   113
<a name="l00149"></a>00149   <span class="comment">/* void *     pMappedAppObject = NULL; */</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   114
<a name="l00150"></a>00150   <span class="comment">/* pointer fo the var which holds the mapping parameter of an mapping entry  */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   115
<a name="l00151"></a>00151   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pMappingParameter = NULL;  
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   116
<a name="l00152"></a>00152   <span class="comment">/* pointer to the transmissiontype...*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   117
<a name="l00153"></a>00153   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> *     pTransmissionType = NULL;  
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   118
<a name="l00154"></a>00154   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> *    pwCobId = NULL;    
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   119
<a name="l00155"></a>00155 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   120
<a name="l00156"></a>00156   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> dataType;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   121
<a name="l00157"></a>00157   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> index;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   122
<a name="l00158"></a>00158   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> subIndex;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   123
<a name="l00159"></a>00159   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> offset;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   124
<a name="l00160"></a>00160   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> status;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   125
<a name="l00161"></a>00161   <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> Size;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   126
<a name="l00162"></a>00162   <a class="code" href="hcs12_2applicfg_8h.html#889a782714194ae2f780002d25d6e0be">UNS32</a> objDict;        
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   127
<a name="l00163"></a>00163   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> offsetObjdict;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   128
<a name="l00164"></a>00164   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> offsetObjdictMap;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   129
<a name="l00165"></a>00165   <a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a> lastIndex;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   130
<a name="l00166"></a>00166   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   131
<a name="l00167"></a>00167   status = <a class="code" href="def_8h.html#07ae7798ee670d4db12e71b373c60e0a">state3</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   132
<a name="l00168"></a>00168   pdoNum = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   133
<a name="l00169"></a>00169   prp_j = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   134
<a name="l00170"></a>00170   offset = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   135
<a name="l00171"></a>00171   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   136
<a name="l00172"></a>00172   <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3002, <span class="stringliteral">"SYNC received. Proceed. "</span>, 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   137
<a name="l00173"></a>00173   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   138
<a name="l00174"></a>00174   (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#7eeaefe180dfceca6e829a0a8018f342">post_sync</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   139
<a name="l00175"></a>00175 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   140
<a name="l00176"></a>00176   <span class="comment">/* only operational state allows PDO transmission */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   141
<a name="l00177"></a>00177   <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> ) 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   142
<a name="l00178"></a>00178     <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   143
<a name="l00179"></a>00179   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   144
<a name="l00180"></a>00180   <span class="comment">/* So, the node is in operational state */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   145
<a name="l00181"></a>00181   <span class="comment">/* study all PDO stored in the objects dictionary */</span>  
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   146
<a name="l00182"></a>00182  
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   147
<a name="l00183"></a>00183   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
   148
<a name="l00184"></a>00184   lastIndex = <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#96d334a4fc8c304826b053681ccbf0d1">lastIndex</a>-&gt;<a class="code" href="structs__quick__index.html#48e0ba31ff7746f1fa63f240a132a906">PDO_TRS</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   149
<a name="l00185"></a>00185   offsetObjdictMap = <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
   150
<a name="l00186"></a>00186   
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   151
<a name="l00187"></a>00187   <span class="keywordflow">if</span>(offsetObjdict) <span class="keywordflow">while</span>( offsetObjdict &lt;= lastIndex) {  
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   152
<a name="l00188"></a>00188     <span class="keywordflow">switch</span>( status ) {
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   153
<a name="l00189"></a>00189                     
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   154
<a name="l00190"></a>00190     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#07ae7798ee670d4db12e71b373c60e0a">state3</a>:    <span class="comment">/* get the PDO transmission type */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   155
<a name="l00191"></a>00191       <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#a766a4db603786bffdd609817048ef04">objdict</a>[offsetObjdict].<a class="code" href="structtd__indextable.html#b0eaef21e60f3348e8928af66c2dbfcd">bSubCount</a> &lt;= 2) {
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   156
<a name="l00192"></a>00192           <a class="code" href="hcs12_2applicfg_8h.html#99178e2619db849578b20df5aa241844">MSG_ERR</a>(0x1004, <span class="stringliteral">"Subindex 2  not found at index "</span>, 0x1800 + pdoNum);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   157
<a name="l00193"></a>00193           <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   158
<a name="l00194"></a>00194         }
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   159
<a name="l00195"></a>00195       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
   160
<a name="l00196"></a>00196       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3005, <span class="stringliteral">"Reading PDO at index : "</span>, 0x1800 + pdoNum);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   161
<a name="l00197"></a>00197       status = <a class="code" href="def_8h.html#b92f9ec8f5b287c274ebe9c91fda5154">state4</a>; 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   162
<a name="l00198"></a>00198       <span class="keywordflow">break</span>;     
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   163
<a name="l00199"></a>00199     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#b92f9ec8f5b287c274ebe9c91fda5154">state4</a>:        <span class="comment">/* check if transmission type is after (this) SYNC */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   164
<a name="l00200"></a>00200                         <span class="comment">/* The message may not be transmited every SYNC but every n SYNC */</span>      
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   165
<a name="l00201"></a>00201       <span class="keywordflow">if</span>( (*pTransmissionType &gt;= <a class="code" href="objdictdef_8h.html#f514b6a153b17e6da21f46971e3e8807">TRANS_SYNC_MIN</a>) &amp;&amp; (*pTransmissionType &lt;= <a class="code" href="objdictdef_8h.html#fc747c839a17a8b35e569677bbf7549d">TRANS_SYNC_MAX</a>) &amp;&amp;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   166
<a name="l00202"></a>00202           (++<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#83ae82d4401e78e3fd3a1ed5d457ade7">count_sync</a>[pdoNum] == *pTransmissionType) ) {   
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   167
<a name="l00203"></a>00203         <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#83ae82d4401e78e3fd3a1ed5d457ade7">count_sync</a>[pdoNum] = 0;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   168
<a name="l00204"></a>00204         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3007, <span class="stringliteral">"  PDO is on SYNCHRO. Trans type : "</span>, *pTransmissionType);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   169
<a name="l00205"></a>00205         status = <a class="code" href="def_8h.html#9c791e43dcf77cb119f7d79db324d1f8">state5</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   170
<a name="l00206"></a>00206         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   171
<a name="l00207"></a>00207       }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   172
<a name="l00208"></a>00208       <span class="keywordflow">else</span> {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   173
<a name="l00209"></a>00209         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3008, <span class="stringliteral">"  Not on synchro or not at this SYNC. Trans type : "</span>, 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   174
<a name="l00210"></a>00210                 *pTransmissionType);
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   175
<a name="l00211"></a>00211         pdoNum++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   176
<a name="l00212"></a>00212         offsetObjdict++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   177
<a name="l00213"></a>00213         offsetObjdictMap++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   178
<a name="l00214"></a>00214         status = <a class="code" href="def_8h.html#be94c50e18055692ad2e0d220f09aea5">state11</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   179
<a name="l00215"></a>00215         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   180
<a name="l00216"></a>00216       }      
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   181
<a name="l00217"></a>00217     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#9c791e43dcf77cb119f7d79db324d1f8">state5</a>:        <span class="comment">/* get PDO CobId */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   182
<a name="l00218"></a>00218         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
   183
<a name="l00219"></a>00219         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3009, <span class="stringliteral">"  PDO CobId is : "</span>, *pwCobId);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   184
<a name="l00220"></a>00220         status = <a class="code" href="def_8h.html#b05e63de91a6e1268f15c0939cfdea8b">state7</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   185
<a name="l00221"></a>00221         <span class="keywordflow">break</span>;     
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   186
<a name="l00222"></a>00222     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#b05e63de91a6e1268f15c0939cfdea8b">state7</a>:  <span class="comment">/* get mapped objects number to transmit with this PDO */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   187
<a name="l00223"></a>00223       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>[offsetObjdictMap].<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
   188
<a name="l00224"></a>00224         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x300D, <span class="stringliteral">"  Number of objects mapped : "</span>,*pMappingCount );
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   189
<a name="l00225"></a>00225         status = <a class="code" href="def_8h.html#8894c53332e89c6588e84f5dc15c7584">state8</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   190
<a name="l00226"></a>00226     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#8894c53332e89c6588e84f5dc15c7584">state8</a>:        <span class="comment">/* get mapping parameters */</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   191
<a name="l00227"></a>00227       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>[offsetObjdictMap].<a class="code" href="structtd__indextable.html#fdd93efce94f77d57c5778e04a6a225c">pSubindex</a>[prp_j + 1].<a class="code" href="structtd__subindex.html#6c83d4e45acd437dcd6746fcf9b7495a">pObject</a>;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   192
<a name="l00228"></a>00228         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x300F, <span class="stringliteral">"  got mapping parameter : "</span>, *pMappingParameter);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   193
<a name="l00229"></a>00229         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3050, <span class="stringliteral">"    at index : "</span>, 0x1A00 + pdoNum);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   194
<a name="l00230"></a>00230         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3051, <span class="stringliteral">"    sub-index : "</span>, prp_j + 1);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   195
<a name="l00231"></a>00231         status = <a class="code" href="def_8h.html#df53b1fe0dcea7b0f27d351da8cb2c96">state9</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   196
<a name="l00232"></a>00232     
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   197
<a name="l00233"></a>00233     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#df53b1fe0dcea7b0f27d351da8cb2c96">state9</a>:        <span class="comment">/* get data to transmit */</span> 
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   198
<a name="l00234"></a>00234         {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   199
<a name="l00235"></a>00235           <a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a> ByteSize;
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   200
<a name="l00236"></a>00236           <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
   201
<a name="l00237"></a>00237           index = (<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
   202
<a name="l00238"></a>00238           subIndex = (<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);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   203
<a name="l00239"></a>00239           Size = (<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>)(*pMappingParameter); <span class="comment">/* Size in bits */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   204
<a name="l00240"></a>00240           ByteSize = 1 + ((Size - 1) &gt;&gt; 3); <span class="comment">/*1-&gt;8 =&gt; 1 ; 9-&gt;16 =&gt; 2, ... */</span>
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   205
<a name="l00241"></a>00241           objDict = <a class="code" href="objacces_8c.html#39c263a4bc5d2d824fefe22fdb4c2dac">getODentry</a>(<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, index, subIndex, tmp, &amp;ByteSize, &amp;dataType, 0 );
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   206
<a name="l00242"></a>00242           <span class="comment">/* copy bit per bit in little endian*/</span>
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   207
<a name="l00243"></a>00243           <a class="code" href="pdo_8c.html#e468510c9f77f502207d961d26389918">CopyBits</a>(Size, ((<a class="code" href="hcs12_2applicfg_8h.html#539234687760592d01a8b0d3357bc00e">UNS8</a>*)tmp), 0 , 0, (<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);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   208
<a name="l00244"></a>00244         }   
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   209
<a name="l00245"></a>00245         <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
   210
<a name="l00246"></a>00246           <a class="code" href="hcs12_2applicfg_8h.html#99178e2619db849578b20df5aa241844">MSG_ERR</a>(0x1013, <span class="stringliteral">" Couldn't find mapped variable at index-subindex-size : "</span>, (<a class="code" href="hcs12_2applicfg_8h.html#5528eeccf214bfe021532622d78c6a96">UNS16</a>)(*pMappingParameter));
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   211
<a name="l00247"></a>00247           <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   212
<a name="l00248"></a>00248         }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   213
<a name="l00249"></a>00249         
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   214
<a name="l00250"></a>00250         offset += Size ;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   215
<a name="l00251"></a>00251         <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> = 1 + ((offset - 1) &gt;&gt; 3);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   216
<a name="l00252"></a>00252         prp_j++;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   217
<a name="l00253"></a>00253         status = <a class="code" href="def_8h.html#865105d41739f49a0419502cb2683be1">state10</a>;        
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   218
<a name="l00254"></a>00254         <span class="keywordflow">break</span>;                                  
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   219
<a name="l00255"></a>00255       
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   220
<a name="l00256"></a>00256     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#865105d41739f49a0419502cb2683be1">state10</a>:       <span class="comment">/* loop to get all the data to transmit */</span>
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   221
<a name="l00257"></a>00257       <span class="keywordflow">if</span>( prp_j &lt; *pMappingCount ){
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   222
<a name="l00258"></a>00258         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3014, <span class="stringliteral">"  next variable mapped : "</span>, prp_j);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   223
<a name="l00259"></a>00259         status = <a class="code" href="def_8h.html#8894c53332e89c6588e84f5dc15c7584">state8</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   224
<a name="l00260"></a>00260         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   225
<a name="l00261"></a>00261       }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   226
<a name="l00262"></a>00262       <span class="keywordflow">else</span> {
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   227
<a name="l00263"></a>00263         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3015, <span class="stringliteral">"  End scan mapped variable"</span>, 0);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   228
<a name="l00264"></a>00264         <a class="code" href="pdo_8c.html#298b8291fa35cca22264cf8a70bf138a">PDOmGR</a>( <a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>, *pwCobId );  
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   229
<a name="l00265"></a>00265         <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3016, <span class="stringliteral">"  End of this pdo. Should have been sent"</span>, 0);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   230
<a name="l00266"></a>00266         pdoNum++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   231
<a name="l00267"></a>00267         offsetObjdict++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   232
<a name="l00268"></a>00268         offsetObjdictMap++;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   233
<a name="l00269"></a>00269         offset = 0x00;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   234
<a name="l00270"></a>00270         prp_j = 0x00;
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   235
<a name="l00271"></a>00271         status = <a class="code" href="def_8h.html#be94c50e18055692ad2e0d220f09aea5">state11</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   236
<a name="l00272"></a>00272         <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   237
<a name="l00273"></a>00273       }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   238
<a name="l00274"></a>00274       
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   239
<a name="l00275"></a>00275     <span class="keywordflow">case</span> <a class="code" href="def_8h.html#be94c50e18055692ad2e0d220f09aea5">state11</a>:     
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   240
<a name="l00276"></a>00276       <a class="code" href="hcs12_2applicfg_8h.html#5f4e5133c4c3113931684d3aba518bba">MSG_WAR</a>(0x3017, <span class="stringliteral">"next pdo index : "</span>, pdoNum);
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   241
<a name="l00277"></a>00277       status = <a class="code" href="def_8h.html#07ae7798ee670d4db12e71b373c60e0a">state3</a>;
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   242
<a name="l00278"></a>00278       <span class="keywordflow">break</span>;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   243
<a name="l00279"></a>00279       
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   244
<a name="l00280"></a>00280     <span class="keywordflow">default</span>:
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   245
<a name="l00281"></a>00281       <a class="code" href="hcs12_2applicfg_8h.html#99178e2619db849578b20df5aa241844">MSG_ERR</a>(0x1019,<span class="stringliteral">"Unknown state has been reached : %d"</span>,status);
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   246
<a name="l00282"></a>00282       <span class="keywordflow">return</span> 0xFF;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   247
<a name="l00283"></a>00283     }<span class="comment">/* end switch case */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   248
<a name="l00284"></a>00284     
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   249
<a name="l00285"></a>00285   }<span class="comment">/* end while( prp_i&lt;dict_cstes.max_count_of_PDO_transmit ) */</span>
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   250
<a name="l00286"></a>00286    
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   251
<a name="l00287"></a>00287   (*<a class="code" href="structstruct__s__timer__entry.html#c08f4de0f4a517ce2bb72f18251cd13c">d</a>-&gt;<a class="code" href="structstruct__CO__Data.html#0cf540e2e36e14c04e1c783dc88d9a0e">post_TPDO</a>)();
210
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   252
<a name="l00288"></a>00288 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   253
<a name="l00289"></a>00289   <span class="keywordflow">return</span> 0;
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   254
<a name="l00290"></a>00290 }
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   255
<a name="l00291"></a>00291 
6b5a4c21e061 Manual and Documentation finish
nico
parents: 207
diff changeset
   256
<a name="l00292"></a>00292 
215
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   257
<a name="l00293"></a><a class="code" href="sync_8h.html#1da155dcbd7fa1271216d74a15e30490">00293</a> <span class="keywordtype">void</span> <a class="code" href="sync_8c.html#a5e0cde14192eb72627526bb75c033c5">_post_sync</a>(){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   258
<a name="l00294"></a><a class="code" href="sync_8h.html#1fdf94721303f1c60bb2de1a36b13cc4">00294</a> <span class="keywordtype">void</span> <a class="code" href="sync_8c.html#c4082a05eed4b4c472f4ff2f7323dd28">_post_TPDO</a>(){}
f49e5a6b7804 Manual and Documentation finish
nico
parents: 210
diff changeset
   259
</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
   260
<a href="http://www.doxygen.org/index.html">
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   261
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.1 </small></address>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   262
</body>
b6572d0336c3 First doxygen implementation
nico
parents:
diff changeset
   263
</html>