<!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: ethercatprint.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="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> &#124;
<a href="#var-members">Variables</a>  </div>
  <div class="headertitle">
<div class="title">ethercatprint.c File Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Module to convert EtherCAT errors to readable messages.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</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="ethercatmain_8h.html">ethercatmain.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__sdoerrorlist__t.html">ec_sdoerrorlist_t</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__ALstatuscodelist__t.html">ec_ALstatuscodelist_t</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__soeerrorlist__t.html">ec_soeerrorlist_t</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__mbxerrorlist__t.html">ec_mbxerrorlist_t</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="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a67b35fea9b43a4e1cc871470061f0865"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a67b35fea9b43a4e1cc871470061f0865">EC_MAXERRORNAME</a>&#160;&#160;&#160;127</td></tr>
<tr class="separator:a67b35fea9b43a4e1cc871470061f0865"><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:a73428271581f7ee95355e679c7770229"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a73428271581f7ee95355e679c7770229">ec_sdoerror2string</a> (uint32 sdoerrorcode)</td></tr>
<tr class="separator:a73428271581f7ee95355e679c7770229"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a921e6bce917181c18330ceb38f8937d1"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a921e6bce917181c18330ceb38f8937d1">ec_ALstatuscode2string</a> (uint16 ALstatuscode)</td></tr>
<tr class="separator:a921e6bce917181c18330ceb38f8937d1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1e44b3454dae69578da7287201e1e527"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a1e44b3454dae69578da7287201e1e527">ec_soeerror2string</a> (uint16 errorcode)</td></tr>
<tr class="separator:a1e44b3454dae69578da7287201e1e527"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae22804ec377aaa09b04f4498f1ae9553"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#ae22804ec377aaa09b04f4498f1ae9553">ec_mbxerror2string</a> (uint16 errorcode)</td></tr>
<tr class="separator:ae22804ec377aaa09b04f4498f1ae9553"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4a692aad76ae3f9720ab593651174788"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a4a692aad76ae3f9720ab593651174788">ecx_elist2string</a> (<a class="el" href="structecx__contextt.html">ecx_contextt</a> *context)</td></tr>
<tr class="separator:a4a692aad76ae3f9720ab593651174788"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd6f6b98aab3084ea8c40109f75364cb"><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#abd6f6b98aab3084ea8c40109f75364cb">ec_elist2string</a> (void)</td></tr>
<tr class="separator:abd6f6b98aab3084ea8c40109f75364cb"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="var-members"></a>
Variables</h2></td></tr>
<tr class="memitem:a0a6dfc8758c7dd41b3e41479402fffe3"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a0a6dfc8758c7dd41b3e41479402fffe3">estring</a> [<a class="el" href="ethercatprint_8c.html#a67b35fea9b43a4e1cc871470061f0865">EC_MAXERRORNAME</a>]</td></tr>
<tr class="separator:a0a6dfc8758c7dd41b3e41479402fffe3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af7ffc7988490e837012ffa16795bd58b"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structec__sdoerrorlist__t.html">ec_sdoerrorlist_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#af7ffc7988490e837012ffa16795bd58b">ec_sdoerrorlist</a> []</td></tr>
<tr class="separator:af7ffc7988490e837012ffa16795bd58b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa211ebf7788d8a16afd4d404229b9552"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structec__ALstatuscodelist__t.html">ec_ALstatuscodelist_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#aa211ebf7788d8a16afd4d404229b9552">ec_ALstatuscodelist</a> []</td></tr>
<tr class="separator:aa211ebf7788d8a16afd4d404229b9552"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac949f12c50c15225e4e72664143d2450"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structec__soeerrorlist__t.html">ec_soeerrorlist_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#ac949f12c50c15225e4e72664143d2450">ec_soeerrorlist</a> []</td></tr>
<tr class="separator:ac949f12c50c15225e4e72664143d2450"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a966daae7af63e5fa6dc9177516e039ed"><td class="memItemLeft" align="right" valign="top">const <a class="el" href="structec__mbxerrorlist__t.html">ec_mbxerrorlist_t</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ethercatprint_8c.html#a966daae7af63e5fa6dc9177516e039ed">ec_mbxerrorlist</a> []</td></tr>
<tr class="separator:a966daae7af63e5fa6dc9177516e039ed"><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>Module to convert EtherCAT errors to readable messages. </p>
<p>SDO abort messages and AL status codes are used to relay slave errors to the user application. This module converts the binary codes to readble text. For the defined error codes see the EtherCAT protocol documentation. </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a67b35fea9b43a4e1cc871470061f0865"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define EC_MAXERRORNAME&#160;&#160;&#160;127</td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a921e6bce917181c18330ceb38f8937d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ec_ALstatuscode2string </td>
          <td>(</td>
          <td class="paramtype">uint16&#160;</td>
          <td class="paramname"><em>ALstatuscode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Look up text string that belongs to AL status code.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ALstatuscode</td><td>= AL status code as defined in EtherCAT protocol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>readable string </dd></dl>

</div>
</div>
<a class="anchor" id="abd6f6b98aab3084ea8c40109f75364cb"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ec_elist2string </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

</div>
</div>
<a class="anchor" id="ae22804ec377aaa09b04f4498f1ae9553"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ec_mbxerror2string </td>
          <td>(</td>
          <td class="paramtype">uint16&#160;</td>
          <td class="paramname"><em>errorcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Look up text string that belongs to MBX error code.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">errorcode</td><td>= MBX error code as defined in EtherCAT protocol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>readable string </dd></dl>

</div>
</div>
<a class="anchor" id="a73428271581f7ee95355e679c7770229"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ec_sdoerror2string </td>
          <td>(</td>
          <td class="paramtype">uint32&#160;</td>
          <td class="paramname"><em>sdoerrorcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Look up text string that belongs to SDO error code.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">sdoerrorcode</td><td>= SDO error code as defined in EtherCAT protocol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>readable string </dd></dl>

</div>
</div>
<a class="anchor" id="a1e44b3454dae69578da7287201e1e527"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ec_soeerror2string </td>
          <td>(</td>
          <td class="paramtype">uint16&#160;</td>
          <td class="paramname"><em>errorcode</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Look up text string that belongs to SoE error code.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">errorcode</td><td>= SoE error code as defined in EtherCAT protocol </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>readable string </dd></dl>

</div>
</div>
<a class="anchor" id="a4a692aad76ae3f9720ab593651174788"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* ecx_elist2string </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><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Look up error in ec_errorlist and convert to text string.</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>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>readable string </dd></dl>

</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="aa211ebf7788d8a16afd4d404229b9552"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structec__ALstatuscodelist__t.html">ec_ALstatuscodelist_t</a> ec_ALstatuscodelist[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">   {0x0000 , <span class="stringliteral">&quot;No error&quot;</span> },</div>
<div class="line">   {0x0001 , <span class="stringliteral">&quot;Unspecified error&quot;</span> },</div>
<div class="line">   {0x0002 , <span class="stringliteral">&quot;No memory&quot;</span> },</div>
<div class="line">   {0x0011 , <span class="stringliteral">&quot;Invalid requested state change&quot;</span> },</div>
<div class="line">   {0x0012 , <span class="stringliteral">&quot;Unknown requested state&quot;</span> },</div>
<div class="line">   {0x0013 , <span class="stringliteral">&quot;Bootstrap not supported&quot;</span> },</div>
<div class="line">   {0x0014 , <span class="stringliteral">&quot;No valid firmware&quot;</span> },</div>
<div class="line">   {0x0015 , <span class="stringliteral">&quot;Invalid mailbox configuration&quot;</span> },</div>
<div class="line">   {0x0016 , <span class="stringliteral">&quot;Invalid mailbox configuration&quot;</span> },</div>
<div class="line">   {0x0017 , <span class="stringliteral">&quot;Invalid sync manager configuration&quot;</span> },</div>
<div class="line">   {0x0018 , <span class="stringliteral">&quot;No valid inputs available&quot;</span> },</div>
<div class="line">   {0x0019 , <span class="stringliteral">&quot;No valid outputs&quot;</span> },</div>
<div class="line">   {0x001A , <span class="stringliteral">&quot;Synchronization error&quot;</span> },</div>
<div class="line">   {0x001B , <span class="stringliteral">&quot;Sync manager watchdog&quot;</span> },</div>
<div class="line">   {0x001C , <span class="stringliteral">&quot;Invalid sync Manager types&quot;</span> },</div>
<div class="line">   {0x001D , <span class="stringliteral">&quot;Invalid output configuration&quot;</span> },</div>
<div class="line">   {0x001E , <span class="stringliteral">&quot;Invalid input configuration&quot;</span> },</div>
<div class="line">   {0x001F , <span class="stringliteral">&quot;Invalid watchdog configuration&quot;</span> },</div>
<div class="line">   {0x0020 , <span class="stringliteral">&quot;Slave needs cold start&quot;</span> },</div>
<div class="line">   {0x0021 , <span class="stringliteral">&quot;Slave needs INIT&quot;</span> },</div>
<div class="line">   {0x0022 , <span class="stringliteral">&quot;Slave needs PREOP&quot;</span> },</div>
<div class="line">   {0x0023 , <span class="stringliteral">&quot;Slave needs SAFEOP&quot;</span> },</div>
<div class="line">   {0x0024 , <span class="stringliteral">&quot;Invalid input mapping&quot;</span> },</div>
<div class="line">   {0x0025 , <span class="stringliteral">&quot;Invalid output mapping&quot;</span> },</div>
<div class="line">   {0x0026 , <span class="stringliteral">&quot;Inconsistent settings&quot;</span> },</div>
<div class="line">   {0x0027 , <span class="stringliteral">&quot;Freerun not supported&quot;</span> },</div>
<div class="line">   {0x0028 , <span class="stringliteral">&quot;Synchronisation not supported&quot;</span> },</div>
<div class="line">   {0x0029 , <span class="stringliteral">&quot;Freerun needs 3buffer mode&quot;</span> },</div>
<div class="line">   {0x002A , <span class="stringliteral">&quot;Background watchdog&quot;</span> },</div>
<div class="line">   {0x002B , <span class="stringliteral">&quot;No valid Inputs and Outputs&quot;</span> },</div>
<div class="line">   {0x002C , <span class="stringliteral">&quot;Fatal sync error&quot;</span> },</div>
<div class="line">   {0x002D , <span class="stringliteral">&quot;No sync error&quot;</span> }, </div>
<div class="line">   {0x002E , <span class="stringliteral">&quot;Invalid input FMMU configuration&quot;</span> },</div>
<div class="line">   {0x0030 , <span class="stringliteral">&quot;Invalid DC SYNC configuration&quot;</span> },</div>
<div class="line">   {0x0031 , <span class="stringliteral">&quot;Invalid DC latch configuration&quot;</span> },</div>
<div class="line">   {0x0032 , <span class="stringliteral">&quot;PLL error&quot;</span> },</div>
<div class="line">   {0x0033 , <span class="stringliteral">&quot;DC sync IO error&quot;</span> },</div>
<div class="line">   {0x0034 , <span class="stringliteral">&quot;DC sync timeout error&quot;</span> },</div>
<div class="line">   {0x0035 , <span class="stringliteral">&quot;DC invalid sync cycle time&quot;</span> },</div>
<div class="line">   {0x0035 , <span class="stringliteral">&quot;DC invalid sync0 cycle time&quot;</span> },</div>
<div class="line">   {0x0035 , <span class="stringliteral">&quot;DC invalid sync1 cycle time&quot;</span> },</div>
<div class="line">   {0x0042 , <span class="stringliteral">&quot;MBX_EOE&quot;</span> },</div>
<div class="line">   {0x0043 , <span class="stringliteral">&quot;MBX_COE&quot;</span> },</div>
<div class="line">   {0x0044 , <span class="stringliteral">&quot;MBX_FOE&quot;</span> },</div>
<div class="line">   {0x0045 , <span class="stringliteral">&quot;MBX_SOE&quot;</span> },</div>
<div class="line">   {0x004F , <span class="stringliteral">&quot;MBX_VOE&quot;</span> },</div>
<div class="line">   {0x0050 , <span class="stringliteral">&quot;EEPROM no access&quot;</span> },</div>
<div class="line">   {0x0051 , <span class="stringliteral">&quot;EEPROM error&quot;</span> },</div>
<div class="line">   {0x0060 , <span class="stringliteral">&quot;Slave restarted locally&quot;</span> },</div>
<div class="line">   {0x0061 , <span class="stringliteral">&quot;Device identification value updated&quot;</span> },</div>
<div class="line">   {0x00f0 , <span class="stringliteral">&quot;Application controller available&quot;</span> },</div>
<div class="line">   {0xffff , <span class="stringliteral">&quot;Unknown&quot;</span> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>AL status code list definition </p>

</div>
</div>
<a class="anchor" id="a966daae7af63e5fa6dc9177516e039ed"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structec__mbxerrorlist__t.html">ec_mbxerrorlist_t</a> ec_mbxerrorlist[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">   {0x0000, <span class="stringliteral">&quot;No error&quot;</span> },</div>
<div class="line">   {0x0001, <span class="stringliteral">&quot;Syntax of 6 octet Mailbox Header is wrong&quot;</span> },</div>
<div class="line">   {0x0002, <span class="stringliteral">&quot;The mailbox protocol is not supported&quot;</span> },</div>
<div class="line">   {0x0003, <span class="stringliteral">&quot;Channel Field contains wrong value&quot;</span>},</div>
<div class="line">   {0x0004, <span class="stringliteral">&quot;The service is no supported&quot;</span>},</div>
<div class="line">   {0x0005, <span class="stringliteral">&quot;Invalid mailbox header&quot;</span>},</div>
<div class="line">   {0x0006, <span class="stringliteral">&quot;Length of received mailbox data is too short&quot;</span>},</div>
<div class="line">   {0x0007, <span class="stringliteral">&quot;No more memory in slave&quot;</span>},</div>
<div class="line">   {0x0008, <span class="stringliteral">&quot;The lenght of data is inconsistent&quot;</span>},</div>
<div class="line">   {0xffff, <span class="stringliteral">&quot;Unknown&quot;</span>}</div>
<div class="line">}</div>
</div><!-- fragment --><p>MBX error list definition </p>

</div>
</div>
<a class="anchor" id="af7ffc7988490e837012ffa16795bd58b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structec__sdoerrorlist__t.html">ec_sdoerrorlist_t</a> ec_sdoerrorlist[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">   {0x00000000, <span class="stringliteral">&quot;No error&quot;</span> },</div>
<div class="line">   {0x05030000, <span class="stringliteral">&quot;Toggle bit not changed&quot;</span> },</div>
<div class="line">   {0x05040000, <span class="stringliteral">&quot;SDO protocol timeout&quot;</span> },</div>
<div class="line">   {0x05040001, <span class="stringliteral">&quot;Client/Server command specifier not valid or unknown&quot;</span> },</div>
<div class="line">   {0x05040005, <span class="stringliteral">&quot;Out of memory&quot;</span> },</div>
<div class="line">   {0x06010000, <span class="stringliteral">&quot;Unsupported access to an object&quot;</span> },</div>
<div class="line">   {0x06010001, <span class="stringliteral">&quot;Attempt to read to a write only object&quot;</span> },</div>
<div class="line">   {0x06010002, <span class="stringliteral">&quot;Attempt to write to a read only object&quot;</span> },</div>
<div class="line">   {0x06010003, <span class="stringliteral">&quot;Subindex can not be written, SI0 must be 0 for write access&quot;</span> },</div>
<div class="line">   {0x06010004, <span class="stringliteral">&quot;SDO Complete access not supported for variable length objects&quot;</span> },</div>
<div class="line">   {0x06010005, <span class="stringliteral">&quot;Object length exceeds mailbox size&quot;</span> },</div>
<div class="line">   {0x06010006, <span class="stringliteral">&quot;Object mapped to RxPDO, SDO download blocked&quot;</span> },</div>
<div class="line">   {0x06020000, <span class="stringliteral">&quot;The object does not exist in the object directory&quot;</span> },</div>
<div class="line">   {0x06040041, <span class="stringliteral">&quot;The object can not be mapped into the PDO&quot;</span> },</div>
<div class="line">   {0x06040042, <span class="stringliteral">&quot;The number and length of the objects to be mapped would exceed the PDO length&quot;</span> },</div>
<div class="line">   {0x06040043, <span class="stringliteral">&quot;General parameter incompatibility reason&quot;</span> },</div>
<div class="line">   {0x06040047, <span class="stringliteral">&quot;General internal incompatibility in the device&quot;</span> },</div>
<div class="line">   {0x06060000, <span class="stringliteral">&quot;Access failed due to a hardware error&quot;</span> },</div>
<div class="line">   {0x06070010, <span class="stringliteral">&quot;Data type does not match, length of service parameter does not match&quot;</span> },</div>
<div class="line">   {0x06070012, <span class="stringliteral">&quot;Data type does not match, length of service parameter too high&quot;</span> },</div>
<div class="line">   {0x06070013, <span class="stringliteral">&quot;Data type does not match, length of service parameter too low&quot;</span> },</div>
<div class="line">   {0x06090011, <span class="stringliteral">&quot;Subindex does not exist&quot;</span> },</div>
<div class="line">   {0x06090030, <span class="stringliteral">&quot;Value range of parameter exceeded (only for write access)&quot;</span> },</div>
<div class="line">   {0x06090031, <span class="stringliteral">&quot;Value of parameter written too high&quot;</span> },</div>
<div class="line">   {0x06090032, <span class="stringliteral">&quot;Value of parameter written too low&quot;</span> },</div>
<div class="line">   {0x06090036, <span class="stringliteral">&quot;Maximum value is less than minimum value&quot;</span> },</div>
<div class="line">   {0x08000000, <span class="stringliteral">&quot;General error&quot;</span> },</div>
<div class="line">   {0x08000020, <span class="stringliteral">&quot;Data cannot be transferred or stored to the application&quot;</span> },</div>
<div class="line">   {0x08000021, <span class="stringliteral">&quot;Data cannot be transferred or stored to the application because of local control&quot;</span> },</div>
<div class="line">   {0x08000022, <span class="stringliteral">&quot;Data cannot be transferred or stored to the application because of the present device state&quot;</span> },</div>
<div class="line">   {0x08000023, <span class="stringliteral">&quot;Object dictionary dynamic generation fails or no object dictionary is present&quot;</span> },</div>
<div class="line">   {0xffffffff, <span class="stringliteral">&quot;Unknown&quot;</span> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>SDO error list definition </p>

</div>
</div>
<a class="anchor" id="ac949f12c50c15225e4e72664143d2450"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="structec__soeerrorlist__t.html">ec_soeerrorlist_t</a> ec_soeerrorlist[]</td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Initial value:</b><div class="fragment"><div class="line">= {</div>
<div class="line">   {0x0000, <span class="stringliteral">&quot;No error&quot;</span> },</div>
<div class="line">   {0x1001, <span class="stringliteral">&quot;No IDN&quot;</span> },</div>
<div class="line">   {0x1009, <span class="stringliteral">&quot;Invalid access to element 1&quot;</span> },</div>
<div class="line">   {0x2001, <span class="stringliteral">&quot;No Name&quot;</span> },</div>
<div class="line">   {0x2002, <span class="stringliteral">&quot;Name transmission too short&quot;</span> },</div>
<div class="line">   {0x2003, <span class="stringliteral">&quot;Name transmission too long&quot;</span> },</div>
<div class="line">   {0x2004, <span class="stringliteral">&quot;Name cannot be changed (read only)&quot;</span> },</div>
<div class="line">   {0x2005, <span class="stringliteral">&quot;Name is write-protected at this time&quot;</span> },</div>
<div class="line">   {0x3002, <span class="stringliteral">&quot;Attribute transmission too short&quot;</span> },</div>
<div class="line">   {0x3003, <span class="stringliteral">&quot;Attribute transmission too long&quot;</span> },</div>
<div class="line">   {0x3004, <span class="stringliteral">&quot;Attribute cannot be changed (read only)&quot;</span> },</div>
<div class="line">   {0x3005, <span class="stringliteral">&quot;Attribute is write-protected at this time&quot;</span> },</div>
<div class="line">   {0x4001, <span class="stringliteral">&quot;No units&quot;</span> },</div>
<div class="line">   {0x4002, <span class="stringliteral">&quot;Unit transmission too short&quot;</span> },</div>
<div class="line">   {0x4003, <span class="stringliteral">&quot;Unit transmission too long&quot;</span> },</div>
<div class="line">   {0x4004, <span class="stringliteral">&quot;Unit cannot be changed (read only)&quot;</span> },</div>
<div class="line">   {0x4005, <span class="stringliteral">&quot;Unit is write-protected at this time&quot;</span> },</div>
<div class="line">   {0x5001, <span class="stringliteral">&quot;No minimum input value&quot;</span> },</div>
<div class="line">   {0x5002, <span class="stringliteral">&quot;Minimum input value transmission too short&quot;</span> },</div>
<div class="line">   {0x5003, <span class="stringliteral">&quot;Minimum input value transmission too long&quot;</span> },</div>
<div class="line">   {0x5004, <span class="stringliteral">&quot;Minimum input value cannot be changed (read only)&quot;</span> },</div>
<div class="line">   {0x5005, <span class="stringliteral">&quot;Minimum input value is write-protected at this time&quot;</span> },</div>
<div class="line">   {0x6001, <span class="stringliteral">&quot;No maximum input value&quot;</span> },</div>
<div class="line">   {0x6002, <span class="stringliteral">&quot;Maximum input value transmission too short&quot;</span> },</div>
<div class="line">   {0x6003, <span class="stringliteral">&quot;Maximum input value transmission too long&quot;</span> },</div>
<div class="line">   {0x6004, <span class="stringliteral">&quot;Maximum input value cannot be changed (read only)&quot;</span> },</div>
<div class="line">   {0x6005, <span class="stringliteral">&quot;Maximum input value is write-protected at this time&quot;</span> },</div>
<div class="line">   {0x7002, <span class="stringliteral">&quot;Operation data transmission too short&quot;</span> },</div>
<div class="line">   {0x7003, <span class="stringliteral">&quot;Operation data transmission too long&quot;</span> },</div>
<div class="line">   {0x7004, <span class="stringliteral">&quot;Operation data cannot be changed (read only)&quot;</span> },</div>
<div class="line">   {0x7005, <span class="stringliteral">&quot;Operation data is write-protected at this time (state)&quot;</span> },</div>
<div class="line">   {0x7006, <span class="stringliteral">&quot;Operation data is smaller than the minimum input value&quot;</span> },</div>
<div class="line">   {0x7007, <span class="stringliteral">&quot;Operation data is smaller than the maximum input value&quot;</span> },</div>
<div class="line">   {0x7008, <span class="stringliteral">&quot;Invalid operation data:Configured IDN will not be supported&quot;</span> },</div>
<div class="line">   {0x7009, <span class="stringliteral">&quot;Operation data write protected by a password&quot;</span> },</div>
<div class="line">   {0x700A, <span class="stringliteral">&quot;Operation data is write protected, it is configured cyclically&quot;</span> },</div>
<div class="line">   {0x700B, <span class="stringliteral">&quot;Invalid indirect addressing: (e.g., data container, list handling)&quot;</span> },</div>
<div class="line">   {0x700C, <span class="stringliteral">&quot;Operation data is write protected, due to other settings&quot;</span> },</div>
<div class="line">   {0x700D, <span class="stringliteral">&quot;Reserved&quot;</span> },</div>
<div class="line">   {0x7010, <span class="stringliteral">&quot;Procedure command already active&quot;</span> },</div>
<div class="line">   {0x7011, <span class="stringliteral">&quot;Procedure command not interruptible&quot;</span> },</div>
<div class="line">   {0x7012, <span class="stringliteral">&quot;Procedure command at this time not executable (state)&quot;</span> },</div>
<div class="line">   {0x7013, <span class="stringliteral">&quot;Procedure command not executable (invalid or false parameters)&quot;</span> },</div>
<div class="line">   {0x7014, <span class="stringliteral">&quot;No data state&quot;</span> },</div>
<div class="line">   {0x8001, <span class="stringliteral">&quot;No default value&quot;</span> },</div>
<div class="line">   {0x8002, <span class="stringliteral">&quot;Default value transmission too long&quot;</span> },</div>
<div class="line">   {0x8004, <span class="stringliteral">&quot;Default value cannot be changed, read only&quot;</span> },</div>
<div class="line">   {0x800A, <span class="stringliteral">&quot;Invalid drive number&quot;</span> },</div>
<div class="line">   {0x800A, <span class="stringliteral">&quot;General error&quot;</span> },</div>
<div class="line">   {0x800A, <span class="stringliteral">&quot;No element addressed&quot;</span> },</div>
<div class="line">   {0xffff, <span class="stringliteral">&quot;Unknown&quot;</span> }</div>
<div class="line">}</div>
</div><!-- fragment --><p>SoE error list definition </p>

</div>
</div>
<a class="anchor" id="a0a6dfc8758c7dd41b3e41479402fffe3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char estring[<a class="el" href="ethercatprint_8c.html#a67b35fea9b43a4e1cc871470061f0865">EC_MAXERRORNAME</a>]</td>
        </tr>
      </table>
</div><div class="memdoc">

</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>
