SOEM/doc/html/ethercatcoe_8c.html

1397 lines
60 KiB
HTML

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.3.1"/>
<title>SOEM: ethercatcoe.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">SOEM
&#160;<span id="projectnumber">v1.3.0</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.3.1 -->
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_3012a2599d87e3128fe81d8c5dd7e75c.html">soem</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">ethercatcoe.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>CAN over EtherCAT (CoE) module.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &quot;osal.h&quot;</code><br/>
<code>#include &quot;oshw.h&quot;</code><br/>
<code>#include &quot;<a class="el" href="ethercattype_8h.html">ethercattype.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ethercatbase_8h.html">ethercatbase.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ethercatmain_8h.html">ethercatmain.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ethercatcoe_8h.html">ethercatcoe.h</a>&quot;</code><br/>
</div><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__SDOt.html">ec_SDOt</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structec__SDOservicet.html">ec_SDOservicet</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a789e35120193c7e0d9d8905da367a795"><td class="memItemLeft" align="right" valign="top">PACKED_END void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a789e35120193c7e0d9d8905da367a795">ecx_SDOerror</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, uint16 Index, uint8 SubIdx, int32 AbortCode)</td></tr>
<tr class="separator:a789e35120193c7e0d9d8905da367a795"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abbf8ecbcefc0c945e9b6c1198ab41351"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#abbf8ecbcefc0c945e9b6c1198ab41351">ecx_SDOinfoerror</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, uint16 Index, uint8 SubIdx, int32 AbortCode)</td></tr>
<tr class="separator:abbf8ecbcefc0c945e9b6c1198ab41351"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9f9f353bbca2f209cd7d1cb045f021f0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a9f9f353bbca2f209cd7d1cb045f021f0">ecx_SDOread</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 <a class="el" href="eepromtool_8c.html#a7f46665d1fe6d01a75a90942bb34cfaf">slave</a>, uint16 index, uint8 subindex, boolean CA, int *psize, void *p, int timeout)</td></tr>
<tr class="separator:a9f9f353bbca2f209cd7d1cb045f021f0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ec98c8841ac5bd578db02513da482ac"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a6ec98c8841ac5bd578db02513da482ac">ecx_SDOwrite</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, uint16 Index, uint8 SubIndex, boolean CA, int psize, void *p, int Timeout)</td></tr>
<tr class="separator:a6ec98c8841ac5bd578db02513da482ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc81933b4e627482785c63b2f5bb8fc3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#acc81933b4e627482785c63b2f5bb8fc3">ecx_RxPDO</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, uint16 RxPDOnumber, int psize, void *p)</td></tr>
<tr class="separator:acc81933b4e627482785c63b2f5bb8fc3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5484696c271df15bbea9c97f6b183805"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a5484696c271df15bbea9c97f6b183805">ecx_TxPDO</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 <a class="el" href="eepromtool_8c.html#a7f46665d1fe6d01a75a90942bb34cfaf">slave</a>, uint16 TxPDOnumber, int *psize, void *p, int timeout)</td></tr>
<tr class="separator:a5484696c271df15bbea9c97f6b183805"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad99c6bcfe7070d4402a674a0d5cdab70"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#ad99c6bcfe7070d4402a674a0d5cdab70">ecx_readPDOassign</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, uint16 PDOassign)</td></tr>
<tr class="separator:ad99c6bcfe7070d4402a674a0d5cdab70"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae006f58b272f78e8ed8225b2699d1eda"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#ae006f58b272f78e8ed8225b2699d1eda">ecx_readPDOassignCA</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, uint16 PDOassign)</td></tr>
<tr class="separator:ae006f58b272f78e8ed8225b2699d1eda"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ff4c0e65e1db37d42d69366537eab1e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a2ff4c0e65e1db37d42d69366537eab1e">ecx_readPDOmap</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, int *Osize, int *Isize)</td></tr>
<tr class="separator:a2ff4c0e65e1db37d42d69366537eab1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45576c4910e428ca3fb7a2005be49aef"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a45576c4910e428ca3fb7a2005be49aef">ecx_readPDOmapCA</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, int *Osize, int *Isize)</td></tr>
<tr class="separator:a45576c4910e428ca3fb7a2005be49aef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a768ff90f482928bb7ce05eece7c509c2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a768ff90f482928bb7ce05eece7c509c2">ecx_readODlist</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Slave, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist)</td></tr>
<tr class="separator:a768ff90f482928bb7ce05eece7c509c2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae14f0b4a17c305a7f4ae9c581e20e4a3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#ae14f0b4a17c305a7f4ae9c581e20e4a3">ecx_readODdescription</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Item, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist)</td></tr>
<tr class="separator:ae14f0b4a17c305a7f4ae9c581e20e4a3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8c072d9420fe29d3b8adb2793f4534c"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#af8c072d9420fe29d3b8adb2793f4534c">ecx_readOEsingle</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Item, uint8 SubI, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist, <a class="el" href="structec__OElistt.html">ec_OElistt</a> *pOElist)</td></tr>
<tr class="separator:af8c072d9420fe29d3b8adb2793f4534c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab448986e790f3f8c5f3697aaa690d4ed"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#ab448986e790f3f8c5f3697aaa690d4ed">ecx_readOE</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context, uint16 Item, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist, <a class="el" href="structec__OElistt.html">ec_OElistt</a> *pOElist)</td></tr>
<tr class="separator:ab448986e790f3f8c5f3697aaa690d4ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3aa77952c6d3ce040bb6ba8f4da3a74a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a3aa77952c6d3ce040bb6ba8f4da3a74a">ec_SDOerror</a> (uint16 Slave, uint16 Index, uint8 SubIdx, int32 AbortCode)</td></tr>
<tr class="separator:a3aa77952c6d3ce040bb6ba8f4da3a74a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a143f50dea5c6c2694d4050c0caeb5a8e"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a143f50dea5c6c2694d4050c0caeb5a8e">ec_SDOread</a> (uint16 <a class="el" href="eepromtool_8c.html#a7f46665d1fe6d01a75a90942bb34cfaf">slave</a>, uint16 index, uint8 subindex, boolean CA, int *psize, void *p, int timeout)</td></tr>
<tr class="separator:a143f50dea5c6c2694d4050c0caeb5a8e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac0b434553fad5dc86d4a3a7b302db708"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#ac0b434553fad5dc86d4a3a7b302db708">ec_SDOwrite</a> (uint16 Slave, uint16 Index, uint8 SubIndex, boolean CA, int psize, void *p, int Timeout)</td></tr>
<tr class="separator:ac0b434553fad5dc86d4a3a7b302db708"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a17dc7c44c1c0dcae2a7059fba04964af"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a17dc7c44c1c0dcae2a7059fba04964af">ec_RxPDO</a> (uint16 Slave, uint16 RxPDOnumber, int psize, void *p)</td></tr>
<tr class="separator:a17dc7c44c1c0dcae2a7059fba04964af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4df27beaf8a8a5021b5227e51e6501a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#ae4df27beaf8a8a5021b5227e51e6501a">ec_TxPDO</a> (uint16 <a class="el" href="eepromtool_8c.html#a7f46665d1fe6d01a75a90942bb34cfaf">slave</a>, uint16 TxPDOnumber, int *psize, void *p, int timeout)</td></tr>
<tr class="separator:ae4df27beaf8a8a5021b5227e51e6501a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af69e8cb853f10018ef190159752cd7e2"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#af69e8cb853f10018ef190159752cd7e2">ec_readPDOassign</a> (uint16 Slave, uint16 PDOassign)</td></tr>
<tr class="separator:af69e8cb853f10018ef190159752cd7e2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28d3ddf83f70650527d9dce3fb290a35"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a28d3ddf83f70650527d9dce3fb290a35">ec_readPDOassignCA</a> (uint16 Slave, uint16 PDOassign)</td></tr>
<tr class="separator:a28d3ddf83f70650527d9dce3fb290a35"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a15ab60b8e11aa61d67480faa19d0ab28"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a15ab60b8e11aa61d67480faa19d0ab28">ec_readPDOmap</a> (uint16 Slave, int *Osize, int *Isize)</td></tr>
<tr class="separator:a15ab60b8e11aa61d67480faa19d0ab28"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8770ccad0cea1ea8f7dbbd5bfc58b83d"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a8770ccad0cea1ea8f7dbbd5bfc58b83d">ec_readPDOmapCA</a> (uint16 Slave, int *Osize, int *Isize)</td></tr>
<tr class="separator:a8770ccad0cea1ea8f7dbbd5bfc58b83d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4774936212282a0928789d2371f3a4d5"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a4774936212282a0928789d2371f3a4d5">ec_readODlist</a> (uint16 Slave, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist)</td></tr>
<tr class="separator:a4774936212282a0928789d2371f3a4d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a02981bb4eb39fd7565eb6f549273d77a"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a02981bb4eb39fd7565eb6f549273d77a">ec_readODdescription</a> (uint16 Item, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist)</td></tr>
<tr class="separator:a02981bb4eb39fd7565eb6f549273d77a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0bb1830d7a95fe18059281614367467f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a0bb1830d7a95fe18059281614367467f">ec_readOEsingle</a> (uint16 Item, uint8 SubI, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist, <a class="el" href="structec__OElistt.html">ec_OElistt</a> *pOElist)</td></tr>
<tr class="separator:a0bb1830d7a95fe18059281614367467f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a498a1f44b4c10cba07fe70b76339fbb0"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatcoe_8c.html#a498a1f44b4c10cba07fe70b76339fbb0">ec_readOE</a> (uint16 Item, <a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *pODlist, <a class="el" href="structec__OElistt.html">ec_OElistt</a> *pOElist)</td></tr>
<tr class="separator:a498a1f44b4c10cba07fe70b76339fbb0"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>CAN over EtherCAT (CoE) module. </p>
<p>SDO read / write and SDO service functions </p>
</div><h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a02981bb4eb39fd7565eb6f549273d77a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readODdescription </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4774936212282a0928789d2371f3a4d5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readODlist </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a498a1f44b4c10cba07fe70b76339fbb0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readOE </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__OElistt.html">ec_OElistt</a> *&#160;</td>
<td class="paramname"><em>pOElist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0bb1830d7a95fe18059281614367467f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readOEsingle </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubI</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__OElistt.html">ec_OElistt</a> *&#160;</td>
<td class="paramname"><em>pOElist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="af69e8cb853f10018ef190159752cd7e2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readPDOassign </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>PDOassign</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read PDO assign structure </p>
</div>
</div>
<a class="anchor" id="a28d3ddf83f70650527d9dce3fb290a35"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readPDOassignCA </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>PDOassign</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read PDO assign structure in Complete Access mode </p>
</div>
</div>
<a class="anchor" id="a15ab60b8e11aa61d67480faa19d0ab28"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readPDOmap </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Osize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Isize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a8770ccad0cea1ea8f7dbbd5bfc58b83d"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_readPDOmapCA </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Osize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Isize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a17dc7c44c1c0dcae2a7059fba04964af"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_RxPDO </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>RxPDOnumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3aa77952c6d3ce040bb6ba8f4da3a74a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ec_SDOerror </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubIdx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32&#160;</td>
<td class="paramname"><em>AbortCode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a143f50dea5c6c2694d4050c0caeb5a8e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_SDOread </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>subindex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>CA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac0b434553fad5dc86d4a3a7b302db708"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_SDOwrite </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>CA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>Timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae4df27beaf8a8a5021b5227e51e6501a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ec_TxPDO </td>
<td>(</td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>TxPDOnumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae14f0b4a17c305a7f4ae9c581e20e4a3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readODdescription </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE read Object Description. Adds textual description to object indexes.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Item</td><td>= Item number in ODlist. </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">pODlist</td><td>= referencing Object Description list. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter of slave response. </dd></dl>
</div>
</div>
<a class="anchor" id="a768ff90f482928bb7ce05eece7c509c2"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readODlist </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE read Object Description List.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">pODlist</td><td>= resulting Object Description list. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter of slave response. </dd></dl>
</div>
</div>
<a class="anchor" id="ab448986e790f3f8c5f3697aaa690d4ed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readOE </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__OElistt.html">ec_OElistt</a> *&#160;</td>
<td class="paramname"><em>pOElist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE read SDO service object entry.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Item</td><td>= Item in ODlist. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pODlist</td><td>= Object description list for reference. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">pOElist</td><td>= resulting object entry structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter of slave response. </dd></dl>
</div>
</div>
<a class="anchor" id="af8c072d9420fe29d3b8adb2793f4534c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readOEsingle </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Item</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubI</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__ODlistt.html">ec_ODlistt</a> *&#160;</td>
<td class="paramname"><em>pODlist</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="structec__OElistt.html">ec_OElistt</a> *&#160;</td>
<td class="paramname"><em>pOElist</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE read SDO service object entry, single subindex. Used in <a class="el" href="ethercatcoe_8c.html#a498a1f44b4c10cba07fe70b76339fbb0">ec_readOE()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Item</td><td>= Item in ODlist. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">SubI</td><td>= Subindex of item in ODlist. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">pODlist</td><td>= Object description list for reference. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">pOElist</td><td>= resulting object entry structure. </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter of slave response. </dd></dl>
</div>
</div>
<a class="anchor" id="ad99c6bcfe7070d4402a674a0d5cdab70"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readPDOassign </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>PDOassign</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read PDO assign structure </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">PDOassign</td><td>= PDO assign object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>total bitlength of PDO assign </dd></dl>
</div>
</div>
<a class="anchor" id="ae006f58b272f78e8ed8225b2699d1eda"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readPDOassignCA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>PDOassign</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Read PDO assign structure in Complete Access mode </p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">PDOassign</td><td>= PDO assign object </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>total bitlength of PDO assign </dd></dl>
</div>
</div>
<a class="anchor" id="a2ff4c0e65e1db37d42d69366537eab1e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readPDOmap </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Osize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Isize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE read PDO mapping.</p>
<p>CANopen has standard indexes defined for PDO mapping. This function tries to read them and collect a full input and output mapping size of designated slave.</p>
<p>Principal structure in slave:<br/>
1C00:00 is number of SM defined<br/>
1C00:01 SM0 type -&gt; 1C10<br/>
1C00:02 SM1 type -&gt; 1C11<br/>
1C00:03 SM2 type -&gt; 1C12<br/>
1C00:04 SM4 type -&gt; 1C13<br/>
Type 0 = unused, 1 = mailbox in, 2 = mailbox out, 3 = outputs (RxPDO), 4 = inputs (TxPDO).</p>
<p>1C12:00 is number of PDO's defined for SM2<br/>
1C12:01 PDO assign SDO #1 -&gt; f.e. 1A00<br/>
1C12:02 PDO assign SDO #2 -&gt; f.e. 1A04\</p>
<p>1A00:00 is number of object defined for this PDO<br/>
1A00:01 object mapping #1, f.e. 60100710 (SDO 6010 SI 07 bitlength 0x10)</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">Osize</td><td>= Size in bits of output mapping (rxPDO) found </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">Isize</td><td>= Size in bits of input mapping (txPDO) found </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>&gt;0 if mapping succesful. </dd></dl>
</div>
</div>
<a class="anchor" id="a45576c4910e428ca3fb7a2005be49aef"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_readPDOmapCA </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Osize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>Isize</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE read PDO mapping in Complete Access mode (CA).</p>
<p>CANopen has standard indexes defined for PDO mapping. This function tries to read them and collect a full input and output mapping size of designated slave. Slave has to support CA, otherwise use <a class="el" href="ethercatcoe_8c.html#a15ab60b8e11aa61d67480faa19d0ab28">ec_readPDOmap()</a>.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">Osize</td><td>= Size in bits of output mapping (rxPDO) found </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">Isize</td><td>= Size in bits of input mapping (txPDO) found </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>&gt;0 if mapping succesful. </dd></dl>
</div>
</div>
<a class="anchor" id="acc81933b4e627482785c63b2f5bb8fc3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_RxPDO </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>RxPDOnumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE RxPDO write, blocking.</p>
<p>A RxPDO download request is issued.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">RxPDOnumber</td><td>= Related RxPDO number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">psize</td><td>= Size in bytes of PDO buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">p</td><td>= Pointer to PDO buffer </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter from last slave response </dd></dl>
</div>
</div>
<a class="anchor" id="a789e35120193c7e0d9d8905da367a795"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">PACKED_END void ecx_SDOerror </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubIdx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32&#160;</td>
<td class="paramname"><em>AbortCode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Report SDO error.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Index</td><td>= Index that generated error </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">SubIdx</td><td>= Subindex that generated error </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">AbortCode</td><td>= Abortcode, see EtherCAT documentation for list </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="abbf8ecbcefc0c945e9b6c1198ab41351"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
<tr>
<td class="mlabels-left">
<table class="memname">
<tr>
<td class="memname">static void ecx_SDOinfoerror </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubIdx</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int32&#160;</td>
<td class="paramname"><em>AbortCode</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</td>
<td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span> </td>
</tr>
</table>
</div><div class="memdoc">
<p>Report SDO info error</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Index</td><td>= Index that generated error </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">SubIdx</td><td>= Subindex that generated error </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">AbortCode</td><td>= Abortcode, see EtherCAT documentation for list </td></tr>
</table>
</dd>
</dl>
</div>
</div>
<a class="anchor" id="a9f9f353bbca2f209cd7d1cb045f021f0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_SDOread </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>subindex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>CA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE SDO read, blocking. Single subindex or Complete Access.</p>
<p>Only a "normal" upload request is issued. If the requested parameter is &lt;= 4bytes then a "expedited" response is returned, otherwise a "normal" response. If a "normal" response is larger than the mailbox size then the response is segmented. The function will combine all segments and copy them to the parameter buffer.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">index</td><td>= Index to read </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">subindex</td><td>= Subindex to read, must be 0 or 1 if CA is used. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">CA</td><td>= FALSE = single subindex. TRUE = Complete Access, all subindexes read. </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">psize</td><td>= Size in bytes of parameter buffer, returns bytes read from SDO. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">p</td><td>= Pointer to parameter buffer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>= Timeout in us, standard is EC_TIMEOUTRXM </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter from last slave response </dd></dl>
</div>
</div>
<a class="anchor" id="a6ec98c8841ac5bd578db02513da482ac"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_SDOwrite </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>Index</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint8&#160;</td>
<td class="paramname"><em>SubIndex</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">boolean&#160;</td>
<td class="paramname"><em>CA</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>Timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE SDO write, blocking. Single subindex or Complete Access.</p>
<p>A "normal" download request is issued, unless we have small data, then a "expedited" transfer is used. If the parameter is larger than the mailbox size then the download is segmented. The function will split the parameter data in segments and send them to the slave one by one.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Index</td><td>= Index to write </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">SubIndex</td><td>= Subindex to write, must be 0 or 1 if CA is used. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">CA</td><td>= FALSE = single subindex. TRUE = Complete Access, all subindexes written. </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">psize</td><td>= Size in bytes of parameter buffer. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">p</td><td>= Pointer to parameter buffer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">Timeout</td><td>= Timeout in us, standard is EC_TIMEOUTRXM </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter from last slave response </dd></dl>
</div>
</div>
<a class="anchor" id="a5484696c271df15bbea9c97f6b183805"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ecx_TxPDO </td>
<td>(</td>
<td class="paramtype"><a class="el" href="structecx__contextt.html">ecx_contextt</a> *&#160;</td>
<td class="paramname"><em>context</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>slave</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16&#160;</td>
<td class="paramname"><em>TxPDOnumber</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int *&#160;</td>
<td class="paramname"><em>psize</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>p</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>timeout</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>CoE TxPDO read remote request, blocking.</p>
<p>A RxPDO download request is issued.</p>
<dl class="params"><dt>Parameters</dt><dd>
<table class="params">
<tr><td class="paramdir">[in]</td><td class="paramname">context</td><td>= context struct </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">slave</td><td>= Slave number </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">TxPDOnumber</td><td>= Related TxPDO number </td></tr>
<tr><td class="paramdir">[in,out]</td><td class="paramname">psize</td><td>= Size in bytes of PDO buffer, returns bytes read from PDO. </td></tr>
<tr><td class="paramdir">[out]</td><td class="paramname">p</td><td>= Pointer to PDO buffer </td></tr>
<tr><td class="paramdir">[in]</td><td class="paramname">timeout</td><td>= Timeout in us, standard is EC_TIMEOUTRXM </td></tr>
</table>
</dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Workcounter from last slave response </dd></dl>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Tue Feb 26 2013 13:57:51 for SOEM by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.3.1
</small></address>
</body>
</html>