<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:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta name="Generator" content="Microsoft Word 15 (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]--><style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Webdings;
        panose-1:5 3 1 2 1 5 9 6 7 3;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-NZ">If ecrt_domain_reg_pdo_entry_list returns an error, it has nothing to do with the slave itself, it means you’re passing inconsistent data.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-NZ"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-NZ">Having said that, at a glance I don’t see any obvious issues with the code you’ve posted (except that you probably should have the watchdog enabled, but that’s an unrelated issue).  When the error occurs, have a look
 at the syslog output; it should tell you more.  If that’s not enlightening enough, then set “ethercat debug 1” before running your code and check the syslog again.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-NZ"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-NZ">There is an EC_WRITE_BIT as well.  In addition to the byte offset (which is stored in &offOutput[x] in your example), you need to pass a second pointer in
</span><span lang="FR">ec_pdo_entry_reg_t</span><span lang="EN-NZ"> to capture the bit offset, when using data smaller than 1 byte.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-NZ"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-NZ">(Alternatively, while this is technically not robust and may potentially break due to other network layout, given the total size of the SMs it’s reasonably safe to assume that the 16 outputs will be mapped to two physical
 bytes, so you can just use EC_WRITE_U8 at the byte address of outputs 1 and 9, respectively.  Or even EC_WRITE_U16 just to the address of output 1.  You will have to be careful about potential bit ordering differences between your master and slave, however.)</span><span lang="EN-NZ"><o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>

<P 
style="FONT-SIZE: 100%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: rgb(89,89,89)"><STRONG>Gavin Lambert<BR></STRONG>Senior Software Developer<BR></P>
<P style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">
<TABLE>
  <TBODY 
  style="FONT-SIZE: 75%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: rgb(89,89,89)">  </TBODY></TABLE></P>
<P style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><IMG border=0 
src="cid:logo_compac_5dcf97ef-52f5-498c-8b9b-728410ddffaf.png"><BR><A 
href="http://www.compacsort.com"><IMG border=0 alt=TOMRA 
src="cid:compacicon_82e8a8c7-154a-4a32-9720-a5badb6258e0.png" width=33 
height=37></A> <A href="https://www.facebook.com/Compacsort"><IMG border=0 
alt=Facebook src="cid:facebook_fa85b924-53b9-45cc-8162-0564f64ec3a3.png" width=35 
height=37></A> <A 
href="https://www.linkedin.com/company/compac-sorting-equipment/"><IMG border=0 
alt=Linkedin src="cid:linkedin_4ec016ad-84fa-443c-85a3-b9615a4ccef8.png" width=35 
height=37></A> <A href="https://vimeo.com/compacsort"><IMG border=0 alt=Youtube 
src="cid:youtube_32142163-fc27-4aed-b14d-e8a377f98a6d.png" width=37 height=37></A> 
<A href="https://twitter.com/compacsort"><IMG border=0 alt=twitter 
src="cid:twitter_d89338d8-98c8-4b65-9a9e-7b1333160b0d.png" width=33 height=37></A> 
<A href="https://www.instagram.com/compacsort/"><IMG border=0 alt=instagram 
src="cid:insta2_1cd85de9-b3a2-4971-9904-52b2481a7c82.png" width=33 height=37></A> 
</P>
<P 
style="FONT-SIZE: 75%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: rgb(89,89,89)"><B>COMPAC 
SORTING EQUIPMENT LTD</B> | 4 Henderson Pl | Onehunga | Auckland 1061 | New 
Zealand<BR>Switchboard: +64 96 34 00 88 | <A 
href="http://www.tomra.com">tomra.com</A> </P>
<TABLE 
style="BORDER-TOP-STYLE: none; BORDER-LEFT-STYLE: none; BORDER-COLLAPSE: collapse; BORDER-BOTTOM-STYLE: none; BORDER-RIGHT-STYLE: none" 
cellSpacing=0 cellPadding=0 border=1>
  <TBODY>
  <TR>
    <TD 
    style="BORDER-LEFT-STYLE: none; BORDER-TOP: #595959 1pt solid; BORDER-BOTTOM: #595959 1pt solid; BORDER-RIGHT-STYLE: none" 
    vAlign=top>
      <P 
      style="FONT-SIZE: 75%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: rgb(89,89,89)">The 
      information contained in this communication and any attachment is 
      confidential and may be legally privileged. It should only be read by the 
      person(s) to whom it is addressed. If you have received this communication 
      in error, please notify the sender and delete the communication. 
  </P></TD></TR></TBODY></TABLE>
<P 
style="FONT-SIZE: 75%; FONT-FAMILY: Calibri, Candara, Segoe, Optima, Arial, sans-serif; COLOR: rgb(89,89,89)"></P><div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal"><b>From:</b> BUSSIERES Vincent<br>
<b>Sent:</b> Thursday, 23 April 2020 08:50<br>
<b>To:</b> etherlab-users@etherlab.org<br>
<b>Subject:</b> [etherlab-users] Beckhoff EL2809 (16 digital outputs) initialization issue<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><span lang="FR">Dear Etherlab users,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">I am working with a Beckhoff EL2809 module (16 digital outputs module) and I have some difficulties to register pdo entries.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">I think that for this module pdo are not assignable.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">You can find some informations about this product below :<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">=== Master 0, Slave 3 ===<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">Device: Main<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">State: PREOP<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">Flag: +<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">Identity:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Vendor Id:       0x00000002<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Product code:    0x0af93052<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Revision number: 0x00120000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Serial number:   0x00000000<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">DL information:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  FMMU bit operation: no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Distributed clocks: yes, delay measurement only<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  DC system time transmission delay: 885 ns<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">Port  Type  Link  Loop    Signal  NextSlave  RxTime [ns]  Diff [ns]   NextDc [ns]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">   0* EBUS  up    open    yes             2   2053620480           0         145<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">   1  EBUS  up    open    yes             4   2053621070         590         140<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">   2  N/A   down  closed  no              -            -           -           -<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">   3  N/C   down  closed  no              -            -           -           -<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">General:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Group: DigOut<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Image name: <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Order number: EL2809<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Device name: EL2809 16K. Dig. Ausgang 24V, 0.5A<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Flags:<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    Enable SafeOp: no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    Enable notLRW: no<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  Current consumption: 140 mA<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">SM0: PhysAddr 0x0f00, DefaultSize    1, ControlRegister 0x44, Enable 9<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1600 "Channel 1"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7000:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1601 "Channel 2"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7010:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1602 "Channel 3"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7020:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1603 "Channel 4"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7030:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1604 "Channel 5"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7040:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1605 "Channel 6"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7050:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1606 "Channel 7"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7060:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1607 "Channel 8"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7070:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">SM1: PhysAddr 0x0f01, DefaultSize    1, ControlRegister 0x44, Enable 9<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1608 "Channel 9"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7080:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x1609 "Channel 10"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x7090:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x160a "Channel 11"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x70a0:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x160b "Channel 12"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x70b0:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x160c "Channel 13"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x70c0:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x160d "Channel 14"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x70d0:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x160e "Channel 15"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x70e0:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">  RxPDO 0x160f "Channel 16"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    PDO entry 0x70f0:01,  1 bit, "Output"<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">I don’t know if I need to map PDOs because they are already mapped.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">At the initialization, « ecrt_domain_reg_pdo_entry_list » return error -14. You can find below a part of my code for the initialization.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">Moreover, each output is written on 1 bit, we can only write PDO with macro EC_WRITE_U8, how can I do to drive only one output ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">static unsigned int offOutput[16];<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_domain_state_t domain1_state = {};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_master_state_t master_state = {};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">const static ec_pdo_entry_reg_t domain1_regs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7000, 1, &offOutput[0]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7010, 1, &offOutput[1]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7020, 1, &offOutput[2]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7030, 1, &offOutput[3]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7040, 1, &offOutput[4]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7050, 1, &offOutput[5]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7060, 1, &offOutput[6]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7070, 1, &offOutput[7]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7080, 1, &offOutput[8]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x7090, 1, &offOutput[9]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x70a0, 1, &offOutput[10]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x70b0, 1, &offOutput[11]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x70c0, 1, &offOutput[12]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x70d0, 1, &offOutput[13]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x70e0, 1, &offOutput[14]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, 3, 0x00000002, 0x0af93052, 0x70f0, 1, &offOutput[15]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">ec_pdo_entry_info_t slave_0_pdo_entries[] = {   
<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7000, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7010, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7020, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7030, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7040, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7050, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7060, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7070, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7080, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x7090, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x70a0, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x70b0, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x70c0, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x70d0, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x70e0, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x70f0, 0x01, 1},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">ec_pdo_info_t slave_0_pdos[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1600, 1, &slave_0_pdo_entries[0]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1601, 1, &slave_0_pdo_entries[1]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1602, 1, &slave_0_pdo_entries[2]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1603, 1, &slave_0_pdo_entries[3]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1604, 1, &slave_0_pdo_entries[4]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1605, 1, &slave_0_pdo_entries[5]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1606, 1, &slave_0_pdo_entries[6]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1607, 1, &slave_0_pdo_entries[7]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1608, 1, &slave_0_pdo_entries[8]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x1609, 1, &slave_0_pdo_entries[9]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x160a, 1, &slave_0_pdo_entries[10]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x160b, 1, &slave_0_pdo_entries[11]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x160c, 1, &slave_0_pdo_entries[12]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x160d, 1, &slave_0_pdo_entries[13]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x160e, 1, &slave_0_pdo_entries[14]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0x160f, 1, &slave_0_pdo_entries[15]},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">ec_sync_info_t slave_0_syncs[] = {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0, EC_DIR_OUTPUT, 8, slave_0_pdos + 0, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {1, EC_DIR_OUTPUT, 8, slave_0_pdos + 8, EC_WD_DISABLE},<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {0xff}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_master_t *master = nullptr;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_domain_t *domain1 = nullptr;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static uint8_t *domain1_pd = nullptr;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_slave_config_t *sc_el2809 = nullptr;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_slave_config_state_t sc_el2809_state = {};<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">static ec_slave_info_t slaveInfo;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">bool Worker::init()<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">{    <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    master = ecrt_request_master(0);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if ( !master )<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;    <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    domain1 = ecrt_master_create_domain(master);<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if ( !domain1 )        <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;        <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if ( !(sc_el2809 = ecrt_master_slave_config(master, 0, 3, 0x00000002, 0x0af93052)) )<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    {<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        fprintf(stderr, "Failed to get slave configuration for AKD.\n");<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    }<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if (ecrt_slave_config_pdos(sc_el2809, EC_END, slave_0_syncs))<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    //----------- return -14 ?<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if (ecrt_domain_reg_pdo_entry_list(domain1, domain1_regs))<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    //-----------------------<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if ( ecrt_master_activate( master ) )<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">    if (!(domain1_pd = ecrt_domain_data(domain1)))<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">        return false;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">    return true;<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR">}<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR">dmesg doesn’t seem report any errors.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="FR" style="color:#1F497D;mso-fareast-language:FR">Best regards<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR" style="color:#1F497D;mso-fareast-language:FR"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-fareast-language:FR">Vincent BUSSIERES<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black;mso-fareast-language:FR">Responsable Technique Logiciel<o:p></o:p></span></b></p>
<p class="MsoNormal"><b><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:black;mso-fareast-language:FR"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><span lang="FR" style="color:black;mso-fareast-language:FR"><img width="96" height="72" style="width:1.0in;height:.75in" id="Image_x0020_1" src="cid:image001.png@01D6195A.92C73C50" alt="1572337113342"></span><span lang="FR" style="color:black;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><i><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#00295C;mso-fareast-language:FR">ZE Ma Campagne<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#00295C;mso-fareast-language:FR">36, Impasse Félix Nadar<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#00295C;mso-fareast-language:FR">16000 ANGOULEME<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:gray;mso-fareast-language:FR">Tel: 33 (0)9.72.40.35.08<o:p></o:p></span></i></p>
<p class="MsoNormal"><i><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#999999;mso-fareast-language:FR"><a href="https://eur02.safelinks.protection.outlook.com/?url=https%3A%2F%2Fwebmail.nexeya.fr%2Fowa%2Fredir.aspx%3FC%3DGK_BqKCZef7LtPZnqnd_LGYr1NG9sz4Smy3iKIwO-pXqtJC7VgzXCA..%26URL%3Dhttp%253a%252f%252fwww.hemeria-group.com%252f&data=02%7C01%7Cgavin.lambert%40tomra.com%7Cf091907ede00490bbc1008d7e6febd35%7C4308d118edd143008a37cfeba8ad5898%7C0%7C0%7C637231854094445603&sdata=xvkywGyCJdixGyXCXpkIDXCsnTJxOsVY9eZnaRuH3SU%3D&reserved=0" target="_blank">www.hemeria-group.com</a></span></i><span lang="FR" style="color:black;mso-fareast-language:FR"> <br>
</span><span lang="FR" style="font-size:16.0pt;font-family:Webdings;color:green;mso-fareast-language:FR">P</span><span lang="FR" style="color:black;mso-fareast-language:FR"> </span><span lang="FR" style="font-size:8.0pt;font-family:"Verdana",sans-serif;color:#99CC00;mso-fareast-language:FR">Afin
 de contribuer au respect de l'environnement, merci de n'imprimer ce courriel qu'en cas de nécessité.</span><span lang="FR" style="color:black;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><span lang="FR" style="font-size:8.0pt;font-family:"Verdana",sans-serif;color:gray;mso-fareast-language:FR">Ce message et les fichiers pouvant être attachés sont confidentiels, réservés à l'usage unique des destinataires et n'engagent HEMERIA sous
 aucune forme que ce soit.</span><span lang="FR" style="color:black;mso-fareast-language:FR"><br>
</span><span lang="EN-GB" style="font-size:8.0pt;font-family:"Verdana",sans-serif;color:gray;mso-fareast-language:FR">This email and any files transmitted with it are confidential, intented solely for the unique use of the recipients and don't commit HEMERIA.</span><span lang="FR" style="color:black;mso-fareast-language:FR"><o:p></o:p></span></p>
<p class="MsoNormal"><b><span lang="FR" style="font-size:10.0pt;color:black;mso-fareast-language:FR"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><b><span lang="FR" style="font-size:10.0pt;font-family:"Arial",sans-serif;color:#1F497D;mso-fareast-language:FR"><o:p> </o:p></span></b></p>
<p class="MsoNormal"><span lang="FR"><o:p> </o:p></span></p>
</div>
</body>
</html>