SOEM/doc/html/ebox_8c.html

647 lines
29 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: ebox.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_13e138d54eb8818da29c3992edef070a.html">test</a></li><li class="navelem"><a class="el" href="dir_093c92f2fe3f85a629cbf9cf38197528.html">linux</a></li><li class="navelem"><a class="el" href="dir_8a5a73c01e97cfb904df44040d7aed01.html">ebox</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">ebox.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<p>Example code for Simple Open EtherCAT master.
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;stdlib.h&gt;</code><br/>
<code>#include &lt;sys/time.h&gt;</code><br/>
<code>#include &lt;unistd.h&gt;</code><br/>
<code>#include &lt;sched.h&gt;</code><br/>
<code>#include &lt;string.h&gt;</code><br/>
<code>#include &lt;time.h&gt;</code><br/>
<code>#include &lt;pthread.h&gt;</code><br/>
<code>#include &lt;math.h&gt;</code><br/>
<code>#include &quot;<a class="el" href="ethercattype_8h.html">ethercattype.h</a>&quot;</code><br/>
<code>#include &quot;nicdrv.h&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/>
<code>#include &quot;<a class="el" href="ethercatconfig_8h.html">ethercatconfig.h</a>&quot;</code><br/>
<code>#include &quot;<a class="el" href="ethercatdc_8h.html">ethercatdc.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="structin__EBOXt.html">in_EBOXt</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="structin__EBOX__streamt.html">in_EBOX_streamt</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="structout__EBOXt.html">out_EBOXt</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="structout__EBOX__streamt.html">out_EBOX_streamt</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:a0501e82515b2bdf36453c4cc80f5e0cc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a0501e82515b2bdf36453c4cc80f5e0cc">NSEC_PER_SEC</a>&#160;&#160;&#160;1000000000</td></tr>
<tr class="separator:a0501e82515b2bdf36453c4cc80f5e0cc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acd1f886f4037a276772c4cc87461c310"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#acd1f886f4037a276772c4cc87461c310">MAXSTREAM</a>&#160;&#160;&#160;200000</td></tr>
<tr class="separator:acd1f886f4037a276772c4cc87461c310"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55eeb211d83037f7836f2b40a73ffdb5"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a55eeb211d83037f7836f2b40a73ffdb5">SYNC0TIME</a>&#160;&#160;&#160;8000</td></tr>
<tr class="separator:a55eeb211d83037f7836f2b40a73ffdb5"><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:a4d2c1cf3b40ef06393de93b89496fe48"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a4d2c1cf3b40ef06393de93b89496fe48">output_cvs</a> (char *fname, int length)</td></tr>
<tr class="separator:a4d2c1cf3b40ef06393de93b89496fe48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a93fabb257410faa12f7d53277cb612ed"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a93fabb257410faa12f7d53277cb612ed">eboxtest</a> (char *ifname)</td></tr>
<tr class="separator:a93fabb257410faa12f7d53277cb612ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab333aa69248425a6a2a2b868ea188f41"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#ab333aa69248425a6a2a2b868ea188f41">add_timespec</a> (struct timespec *ts, int64 addtime)</td></tr>
<tr class="separator:ab333aa69248425a6a2a2b868ea188f41"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2236b3aa05099f148da8f6a0c6b967c7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a2236b3aa05099f148da8f6a0c6b967c7">ec_sync</a> (int64 reftime, int64 cycletime, int64 *offsettime)</td></tr>
<tr class="separator:a2236b3aa05099f148da8f6a0c6b967c7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a41b4a777da4c9dfc6cec01a2d12d4dbe"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a41b4a777da4c9dfc6cec01a2d12d4dbe">ecatthread</a> (void *ptr)</td></tr>
<tr class="separator:a41b4a777da4c9dfc6cec01a2d12d4dbe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ddf1224851353fc92bfbff6f499fa97"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a0ddf1224851353fc92bfbff6f499fa97">main</a> (int argc, char *argv[])</td></tr>
<tr class="separator:a0ddf1224851353fc92bfbff6f499fa97"><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:ae3bb36567d69fb774d6c8888c91b871a"><td class="memItemLeft" align="right" valign="top">struct sched_param&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#ae3bb36567d69fb774d6c8888c91b871a">schedp</a></td></tr>
<tr class="separator:ae3bb36567d69fb774d6c8888c91b871a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abd49ea7d1a34c36e74ff633f727a6260"><td class="memItemLeft" align="right" valign="top">char&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#abd49ea7d1a34c36e74ff633f727a6260">IOmap</a> [4096]</td></tr>
<tr class="separator:abd49ea7d1a34c36e74ff633f727a6260"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5ee2fa16b0442aa60586ebaaa1d7b2d6"><td class="memItemLeft" align="right" valign="top">pthread_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a5ee2fa16b0442aa60586ebaaa1d7b2d6">thread1</a></td></tr>
<tr class="separator:a5ee2fa16b0442aa60586ebaaa1d7b2d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae4cc9561b1e2448160e870a02287113b"><td class="memItemLeft" align="right" valign="top">struct timeval tv t1&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#ae4cc9561b1e2448160e870a02287113b">t2</a></td></tr>
<tr class="separator:ae4cc9561b1e2448160e870a02287113b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a786c0b6e0295c610823d0d38f564c0e3"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a786c0b6e0295c610823d0d38f564c0e3">dorun</a> = 0</td></tr>
<tr class="separator:a786c0b6e0295c610823d0d38f564c0e3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a45987e7445a7144a722e274902e7e2f4"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a45987e7445a7144a722e274902e7e2f4">deltat</a></td></tr>
<tr class="separator:a45987e7445a7144a722e274902e7e2f4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3363e61ebad4cdd552ab7506ce5a3f48"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a3363e61ebad4cdd552ab7506ce5a3f48">tmax</a> =0</td></tr>
<tr class="separator:a3363e61ebad4cdd552ab7506ce5a3f48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1874c32aded0242cf2392a57ddf8ee2f"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a1874c32aded0242cf2392a57ddf8ee2f">toff</a></td></tr>
<tr class="separator:a1874c32aded0242cf2392a57ddf8ee2f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2b96b76369a010a02904ff7d73231258"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a2b96b76369a010a02904ff7d73231258">DCdiff</a></td></tr>
<tr class="separator:a2b96b76369a010a02904ff7d73231258"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0c98ab56e4779bc5f994fdff60723115"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a0c98ab56e4779bc5f994fdff60723115">os</a></td></tr>
<tr class="separator:a0c98ab56e4779bc5f994fdff60723115"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7d30da33fc2242eb2cafaea05d3f8b8"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#ac7d30da33fc2242eb2cafaea05d3f8b8">ob</a></td></tr>
<tr class="separator:ac7d30da33fc2242eb2cafaea05d3f8b8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6b411a5fbb3b39e278481486d40f3be0"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a6b411a5fbb3b39e278481486d40f3be0">ob2</a></td></tr>
<tr class="separator:a6b411a5fbb3b39e278481486d40f3be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad97769650501b7ec6c90c8cd63f9ff77"><td class="memItemLeft" align="right" valign="top">uint8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#ad97769650501b7ec6c90c8cd63f9ff77">ob3</a></td></tr>
<tr class="separator:ad97769650501b7ec6c90c8cd63f9ff77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0a1433271fddfed84bc959ae6c202e5a"><td class="memItemLeft" align="right" valign="top">pthread_cond_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a0a1433271fddfed84bc959ae6c202e5a">cond</a> = PTHREAD_COND_INITIALIZER</td></tr>
<tr class="separator:a0a1433271fddfed84bc959ae6c202e5a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4acff8232e4aec9cd5c6dc200ac55ef3"><td class="memItemLeft" align="right" valign="top">pthread_mutex_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a4acff8232e4aec9cd5c6dc200ac55ef3">mutex</a> = PTHREAD_MUTEX_INITIALIZER</td></tr>
<tr class="separator:a4acff8232e4aec9cd5c6dc200ac55ef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a267e2a577bc616ec1428d03a689d2af9"><td class="memItemLeft" align="right" valign="top">int64&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a267e2a577bc616ec1428d03a689d2af9">integral</a> =0</td></tr>
<tr class="separator:a267e2a577bc616ec1428d03a689d2af9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae0f38b9682cb479f3a0e1a3d1e90c207"><td class="memItemLeft" align="right" valign="top">uint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#ae0f38b9682cb479f3a0e1a3d1e90c207">cyclecount</a></td></tr>
<tr class="separator:ae0f38b9682cb479f3a0e1a3d1e90c207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ac76e62a75e216971a796852e56ff00"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structin__EBOX__streamt.html">in_EBOX_streamt</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a1ac76e62a75e216971a796852e56ff00">in_EBOX</a></td></tr>
<tr class="separator:a1ac76e62a75e216971a796852e56ff00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61c98aa97abe433ae56d7ece59d380ab"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structout__EBOX__streamt.html">out_EBOX_streamt</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a61c98aa97abe433ae56d7ece59d380ab">out_EBOX</a></td></tr>
<tr class="separator:a61c98aa97abe433ae56d7ece59d380ab"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92f92f2f98080c55d071418ace04080a"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a92f92f2f98080c55d071418ace04080a">ain</a> [2]</td></tr>
<tr class="separator:a92f92f2f98080c55d071418ace04080a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa4aea6db31f8a7b9829bf7601dff88f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#aaa4aea6db31f8a7b9829bf7601dff88f">ainc</a></td></tr>
<tr class="separator:aaa4aea6db31f8a7b9829bf7601dff88f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62be9ae691c0813cd12581aa7bd1446f"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#a62be9ae691c0813cd12581aa7bd1446f">streampos</a></td></tr>
<tr class="separator:a62be9ae691c0813cd12581aa7bd1446f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa8bd2143106b4e0b34986858d22a656c"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#aa8bd2143106b4e0b34986858d22a656c">stream1</a> [<a class="el" href="ebox_8c.html#acd1f886f4037a276772c4cc87461c310">MAXSTREAM</a>]</td></tr>
<tr class="separator:aa8bd2143106b4e0b34986858d22a656c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afff7e31bb8aac02b570d1e4782805a6e"><td class="memItemLeft" align="right" valign="top">int16&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="ebox_8c.html#afff7e31bb8aac02b570d1e4782805a6e">stream2</a> [<a class="el" href="ebox_8c.html#acd1f886f4037a276772c4cc87461c310">MAXSTREAM</a>]</td></tr>
<tr class="separator:afff7e31bb8aac02b570d1e4782805a6e"><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>Example code for Simple Open EtherCAT master. </p>
<p>Usage : ebox [ifname] [cycletime] ifname is NIC interface, f.e. eth0 cycletime in us, f.e. 500</p>
<p>This test is specifically build for the E/BOX.</p>
<p>(c)Arthur Ketels 2011 </p>
</div><h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="acd1f886f4037a276772c4cc87461c310"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define MAXSTREAM&#160;&#160;&#160;200000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0501e82515b2bdf36453c4cc80f5e0cc"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define NSEC_PER_SEC&#160;&#160;&#160;1000000000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a55eeb211d83037f7836f2b40a73ffdb5"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define SYNC0TIME&#160;&#160;&#160;8000</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ab333aa69248425a6a2a2b868ea188f41"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void add_timespec </td>
<td>(</td>
<td class="paramtype">struct timespec *&#160;</td>
<td class="paramname"><em>ts</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>addtime</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="a93fabb257410faa12f7d53277cb612ed"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void eboxtest </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>ifname</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2236b3aa05099f148da8f6a0c6b967c7"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ec_sync </td>
<td>(</td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>reftime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64&#160;</td>
<td class="paramname"><em>cycletime</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int64 *&#160;</td>
<td class="paramname"><em>offsettime</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="a41b4a777da4c9dfc6cec01a2d12d4dbe"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void ecatthread </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>ptr</em></td><td>)</td>
<td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0ddf1224851353fc92bfbff6f499fa97"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int main </td>
<td>(</td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>argc</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>argv</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="a4d2c1cf3b40ef06393de93b89496fe48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int output_cvs </td>
<td>(</td>
<td class="paramtype">char *&#160;</td>
<td class="paramname"><em>fname</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">int&#160;</td>
<td class="paramname"><em>length</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Variable Documentation</h2>
<a class="anchor" id="a92f92f2f98080c55d071418ace04080a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">double ain[2]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aaa4aea6db31f8a7b9829bf7601dff88f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int ainc</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0a1433271fddfed84bc959ae6c202e5a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pthread_cond_t cond = PTHREAD_COND_INITIALIZER</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae0f38b9682cb479f3a0e1a3d1e90c207"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32 cyclecount</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a2b96b76369a010a02904ff7d73231258"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int DCdiff</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a45987e7445a7144a722e274902e7e2f4"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int deltat</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a786c0b6e0295c610823d0d38f564c0e3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int dorun = 0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1ac76e62a75e216971a796852e56ff00"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structin__EBOX__streamt.html">in_EBOX_streamt</a>* in_EBOX</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a267e2a577bc616ec1428d03a689d2af9"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64 integral =0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="abd49ea7d1a34c36e74ff633f727a6260"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">char IOmap[4096]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a4acff8232e4aec9cd5c6dc200ac55ef3"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ac7d30da33fc2242eb2cafaea05d3f8b8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint32 ob</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a6b411a5fbb3b39e278481486d40f3be0"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16 ob2</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ad97769650501b7ec6c90c8cd63f9ff77"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">uint8 ob3</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a0c98ab56e4779bc5f994fdff60723115"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int os</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a61c98aa97abe433ae56d7ece59d380ab"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname"><a class="el" href="structout__EBOX__streamt.html">out_EBOX_streamt</a>* out_EBOX</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae3bb36567d69fb774d6c8888c91b871a"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct sched_param schedp</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="aa8bd2143106b4e0b34986858d22a656c"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16 stream1[<a class="el" href="ebox_8c.html#acd1f886f4037a276772c4cc87461c310">MAXSTREAM</a>]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="afff7e31bb8aac02b570d1e4782805a6e"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int16 stream2[<a class="el" href="ebox_8c.html#acd1f886f4037a276772c4cc87461c310">MAXSTREAM</a>]</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a62be9ae691c0813cd12581aa7bd1446f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int streampos</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="ae4cc9561b1e2448160e870a02287113b"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">struct timeval tv t1 t2</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a5ee2fa16b0442aa60586ebaaa1d7b2d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">pthread_t thread1</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a3363e61ebad4cdd552ab7506ce5a3f48"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int tmax =0</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<a class="anchor" id="a1874c32aded0242cf2392a57ddf8ee2f"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">int64 toff</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>