<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">

<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 11 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]--><o:SmartTagType
 namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="PlaceType"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="PlaceName"/>
<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags"
 name="place"/>
<!--[if !mso]>
<style>
st1\:*{behavior:url(#default#ieooui) }
</style>
<![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman";}
a:link, span.MsoHyperlink
        {color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {color:blue;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:Arial;
        color:navy;}
@page Section1
        {size:21.0cm 842.0pt;
        margin:2.0cm 2.0cm 2.0cm 2.0cm;}
div.Section1
        {page:Section1;}
-->
</style>

</head>

<body lang=EN-GB link=blue vlink=blue>

<div class=Section1>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Hi,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>There is an RTDM patch for EtherLabs
EtherCAT master for use with RTAI / Xenomi.  It allows certain ethercat
calls to be made from user space from a real-time context.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>I don't know know about the RT_PREEMPT
side of things.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Regards,<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'>Graeme.<o:p></o:p></span></font></p>

<p class=MsoNormal><font size=2 color=navy face=Arial><span style='font-size:
10.0pt;font-family:Arial;color:navy'><o:p> </o:p></span></font></p>

<div>

<div class=MsoNormal align=center style='text-align:center'><font size=3
face="Times New Roman"><span lang=EN-US style='font-size:12.0pt'>

<hr size=2 width="100%" align=center tabindex=-1>

</span></font></div>

<p class=MsoNormal><b><font size=2 face=Tahoma><span lang=EN-US
style='font-size:10.0pt;font-family:Tahoma;font-weight:bold'>From:</span></font></b><font
size=2 face=Tahoma><span lang=EN-US style='font-size:10.0pt;font-family:Tahoma'>
etherlab-users-bounces@etherlab.org
[mailto:etherlab-users-bounces@etherlab.org] <b><span style='font-weight:bold'>On
Behalf Of </span></b>Soo-Hyun Yoo<br>
<b><span style='font-weight:bold'>Sent:</span></b> Friday, 2 March 2012 09:00<br>
<b><span style='font-weight:bold'>To:</span></b> etherlab-users@etherlab.org<br>
<b><span style='font-weight:bold'>Subject:</span></b> [etherlab-users] Jitter
when trying to use EtherLab Master at hard real-time 1 kHz under RT-PREEMPT</span></font><span
lang=EN-US><o:p></o:p></span></p>

</div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Hello,<o:p></o:p></span></font></p>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>I am using EtherLab version 1.5.0 in Xubuntu 10.04, kernel
v2.6.31-11-rt (RT_PREEMPT-patched kernel, installed via aptitude),
and Orocos to provide a real-time user space environment in which to run
software controllers at hard real-time 1 kHz.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Unfortunately, I am having problems with jitter on the EtherCAT bus.
Oscilloscope readings show jitter as high as 400 or 500 us, possibly higher.
Comparatively, our old EtherCAT master running in kernel space under RTAI
v3.8.1 has jitter under 50 us at most.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>From what I have read in mailing list threads like this one (<a
href="http://lists.etherlab.org/pipermail/etherlab-users/2009/000535.html">http://lists.etherlab.org/pipermail/etherlab-users/2009/000535.html</a>),
it sounds like the EtherLab Master is capable of real-time user space operation
in an RT_PREEMPT-patched kernel, but only capable of real-time kernel
space operation under RTAI/LXRT (<a
href="http://www.mail-archive.com/etherlab-users@etherlab.org/msg00588.html">http://www.mail-archive.com/etherlab-users@etherlab.org/msg00588.html</a>).<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>My tenuous understanding of this is that since the EtherCAT character
device tries to use the kernel's ioctl calls, the kernel's ioctl
"interface" (?) needs to be patched. Since RT_PREEMPT is the only patch
that does so, while LXRT provides its own interface, the former is the only one
capable of real-time user space operation while the latter is limited to kernel
space. Based on this assumption, I am hoping that the EtherLab Master is
capable of real-time operation in user space under RT_PREEMPT.<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>What can I do to lessen this jitter? Does anyone have a working
EtherCAT master running at 1 kHz with jitter under 50 us?<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'><o:p> </o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Soo-Hyun Yoo<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><font size=3 face="Times New Roman"><span style='font-size:
12.0pt'>Dynamic Robotics Lab<o:p></o:p></span></font></p>

</div>

<div>

<p class=MsoNormal><st1:place w:st="on"><st1:PlaceName w:st="on"><font size=3
  face="Times New Roman"><span style='font-size:12.0pt'>Oregon</span></font></st1:PlaceName>
 <st1:PlaceType w:st="on">State</st1:PlaceType> <st1:PlaceType w:st="on">University</st1:PlaceType></st1:place><o:p></o:p></p>

</div>

</div>

</body>

</html>