XML file for EasyCAT board (LAN9252)
06 Sep 2023 03:43 #280048
by stirra
XML file for EasyCAT board (LAN9252) was created by stirra
I am working on a modular control setup using AB&T's EasyCAT lan9252 boards. Currently I have one wired up to spi on a Nucleo F401RE board, and can communicate with it using the AB&T Navigator and Configurator apps (under Windows). I can see it from Linuxcnc using "ethercat slaves" and "ethercat pdos". Before I start from scratch figuring out the xml file, does anybody have one built already? I'm using the default 64x64 configuration on the EasyCAT (64 bytes input, 64 bytes output). I was hoping that "ethercat xml" would generate something close, but it doesn't put any of the linuxcnc hal elements in.
Thanks,
-- Ralph
Thanks,
-- Ralph
Please Log in or Create an account to join the conversation.
06 Sep 2023 15:22 #280113
by a.bausano
Replied by a.bausano on topic XML file for EasyCAT board (LAN9252)
Hello stirra,
this is what You are looking for:
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="0000079A" pid="00DEFEDE" configPdos="true">
<syncManager idx="0" dir="out">
<pdo idx="1600">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="Byte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="Byte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="Byte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="Byte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="Byte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="Byte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="Byte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="Byte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="Byte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="Byte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="Byte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="Byte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="Byte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="Byte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="Byte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="Byte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="Byte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="Byte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="Byte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="Byte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="Byte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="Byte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="Byte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="Byte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="Byte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="Byte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="Byte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="Byte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="Byte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="Byte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="Byte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="Byte31" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="in">
<pdo idx="1a00">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="Byte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="Byte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="Byte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="Byte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="Byte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="Byte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="Byte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="Byte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="Byte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="Byte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="Byte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="Byte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="Byte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="Byte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="Byte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="Byte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="Byte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="Byte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="Byte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="Byte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="Byte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="Byte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="Byte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="Byte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="Byte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="Byte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="Byte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="Byte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="Byte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="Byte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="Byte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="Byte31" halType="u32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
this is what You are looking for:
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="0000079A" pid="00DEFEDE" configPdos="true">
<syncManager idx="0" dir="out">
<pdo idx="1600">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="Byte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="Byte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="Byte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="Byte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="Byte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="Byte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="Byte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="Byte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="Byte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="Byte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="Byte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="Byte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="Byte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="Byte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="Byte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="Byte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="Byte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="Byte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="Byte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="Byte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="Byte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="Byte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="Byte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="Byte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="Byte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="Byte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="Byte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="Byte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="Byte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="Byte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="Byte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="Byte31" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="in">
<pdo idx="1a00">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="Byte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="Byte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="Byte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="Byte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="Byte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="Byte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="Byte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="Byte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="Byte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="Byte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="Byte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="Byte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="Byte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="Byte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="Byte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="Byte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="Byte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="Byte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="Byte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="Byte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="Byte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="Byte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="Byte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="Byte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="Byte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="Byte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="Byte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="Byte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="Byte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="Byte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="Byte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="Byte31" halType="u32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
Please Log in or Create an account to join the conversation.
06 Sep 2023 21:08 #280151
by stirra
Replied by stirra on topic XML file for EasyCAT board (LAN9252)
Thank you for that fast response! This xml certainly gets me farther, as I no longer get an error running 'halcmd -W lcec_conf', but I also don't see any pins show up.
Output from STM32 connected to Easycat PRO board:
Output from 'ethercat slaves -v':
Output from halcmd show pin:
Output from dmesg:
I seem to be missing some step to get it out of PREOP state.
Thanks again.
-- Ralph
Output from STM32 connected to Easycat PRO board:
asyCAT - Generic EtherCAT slave
STANDARD MODE
64 Byte Out
64 Byte In
Sync = ASYNC
Detected chip 9252 Rev 1
initialized
Output from 'ethercat slaves -v':
=== Master 0, Slave 0 ===
Device: Main
State: PREOP
Flag: +
Identity:
Vendor Id: 0x0000079a
Product code: 0xdefede64
Revision number: 0x00005a01
Serial number: 0x00000000
DL information:
FMMU bit operation: no
Distributed clocks: yes, 64 bit
DC system time transmission delay: 0 ns
Port Type Link Loop Signal NextSlave RxTime [ns] Diff [ns] NextDc [ns]
0 MII down closed no - - - -
1 MII up open yes - 17878930 2611501901 0
2 N/C down closed no - - - -
3 N/A down closed no - - - -
General:
Group: SSC_Device
Image name:
Order number: EasyCAT 64+64 rev 1
Device name: Generic 64+64 bytes rev 1
Flags:
Enable SafeOp: no
Enable notLRW: no
Current consumption: 0 mA
Output from halcmd show pin:
Component Pins:
Owner Type Dir Value Name
4 u32 OUT 0x00000001 lcec.conf.master-count
4 u32 OUT 0x00000001 lcec.conf.slave-count
Output from dmesg:
[1461622.670983] EtherCAT DEBUG 0-0: Slave did not respond to state query.
[1461622.678913] EtherCAT 0: Slave states on main device: INIT.
[1461622.679524] EtherCAT DEBUG 0: Sending broadcast-write to measure transmission delays on main link.
[1461622.679805] EtherCAT DEBUG 0: 1 slaves responded to delay measuring on main link.
[1461622.679814] EtherCAT 0: Scanning bus.
[1461622.679817] EtherCAT DEBUG 0: Scanning slave 0 on main link.
[1461622.680931] EtherCAT DEBUG 0-0: Slave has the System Time register.
[1461622.681503] EtherCAT DEBUG 0-0: Assigning SII access to EtherCAT.
[1461622.681785] EtherCAT DEBUG 0-0: Determining SII size.
[1461622.682638] EtherCAT DEBUG 0-0: Found category type 10 with size 272. Proceeding to offset 338.
[1461622.683502] EtherCAT DEBUG 0-0: Found category type 30 with size 16. Proceeding to offset 356.
[1461622.684341] EtherCAT DEBUG 0-0: Found category type 40 with size 1. Proceeding to offset 359.
[1461622.685206] EtherCAT DEBUG 0-0: Found category type 41 with size 8. Proceeding to offset 369.
[1461622.686049] EtherCAT DEBUG 0-0: Found category type 50 with size 260. Proceeding to offset 631.
[1461622.686915] EtherCAT DEBUG 0-0: Found category type 51 with size 260. Proceeding to offset 893.
[1461622.687854] EtherCAT DEBUG 0-0: Found category type 60 with size 24. Proceeding to offset 919.
[1461623.063232] EtherCAT DEBUG 0-0: Slave announces to support no mailbox protocols.
[1461623.063400] EtherCAT DEBUG 0-0: Unknown category type 0x003C.
[1461623.063402] EtherCAT 0: Bus scanning completed in 384 ms.
[1461623.063404] EtherCAT 0: Using slave 0 as DC reference clock.
[1461623.063405] EtherCAT ERROR 0: Failed to calculate bus topology.
[1461623.063406] EtherCAT DEBUG 0-0: ec_slave_calc_transmission_delays_rec(delay = 0 ns)
[1461623.063409] EtherCAT DEBUG 0: No app_time received up to now.
[1461623.078975] EtherCAT DEBUG 0-0: Changing state from INIT to PREOP (forced).
[1461623.078980] EtherCAT DEBUG 0-0: Configuring...
[1461623.079589] EtherCAT DEBUG 0-0: Now in INIT.
[1461623.079591] EtherCAT DEBUG 0-0: Clearing FMMU configurations...
[1461623.079858] EtherCAT DEBUG 0-0: Clearing sync manager configurations...
[1461623.080129] EtherCAT DEBUG 0-0: Clearing DC assignment...
[1461623.080395] EtherCAT DEBUG 0-0: Slave does not support mailbox communication.
[1461623.080399] EtherCAT DEBUG 0-0: Assigning SII access to PDI.
[1461623.081208] EtherCAT DEBUG 0-0: Now in PREOP.
[1461623.081210] EtherCAT DEBUG 0-0: Assigning SII access back to EtherCAT.
[1461623.081480] EtherCAT DEBUG 0-0: Finished configuration.
[1461623.081482] EtherCAT DEBUG 0-0: Ready for requests.
[1461623.086840] EtherCAT 0: Slave states on main device: PREOP.
I seem to be missing some step to get it out of PREOP state.
Thanks again.
-- Ralph
Please Log in or Create an account to join the conversation.
07 Sep 2023 13:01 #280203
by a.bausano
Replied by a.bausano on topic XML file for EasyCAT board (LAN9252)
Sorry,
I didn't see that was the 64 bytes configuration, try with this (only one slave configured):
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="0000079A" pid="DEFEDE64" configPdos="true">
<syncManager idx="0" dir="out">
<pdo idx="1600">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="OutByte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="OutByte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="OutByte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="OutByte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="OutByte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="OutByte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="OutByte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="OutByte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="OutByte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="OutByte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="OutByte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="OutByte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="OutByte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="OutByte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="OutByte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="OutByte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="OutByte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="OutByte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="OutByte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="OutByte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="OutByte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="OutByte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="OutByte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="OutByte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="OutByte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="OutByte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="OutByte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="OutByte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="OutByte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="OutByte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="OutByte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="OutByte31" halType="u32"/>
<pdoEntry idx="5" subIdx="33" bitLen="8" halPin="OutByte32" halType="u32"/>
<pdoEntry idx="5" subIdx="34" bitLen="8" halPin="OutByte33" halType="u32"/>
<pdoEntry idx="5" subIdx="35" bitLen="8" halPin="OutByte34" halType="u32"/>
<pdoEntry idx="5" subIdx="36" bitLen="8" halPin="OutByte35" halType="u32"/>
<pdoEntry idx="5" subIdx="37" bitLen="8" halPin="OutByte36" halType="u32"/>
<pdoEntry idx="5" subIdx="38" bitLen="8" halPin="OutByte37" halType="u32"/>
<pdoEntry idx="5" subIdx="39" bitLen="8" halPin="OutByte38" halType="u32"/>
<pdoEntry idx="5" subIdx="40" bitLen="8" halPin="OutByte39" halType="u32"/>
<pdoEntry idx="5" subIdx="41" bitLen="8" halPin="OutByte40" halType="u32"/>
<pdoEntry idx="5" subIdx="42" bitLen="8" halPin="OutByte41" halType="u32"/>
<pdoEntry idx="5" subIdx="43" bitLen="8" halPin="OutByte42" halType="u32"/>
<pdoEntry idx="5" subIdx="44" bitLen="8" halPin="OutByte43" halType="u32"/>
<pdoEntry idx="5" subIdx="45" bitLen="8" halPin="OutByte44" halType="u32"/>
<pdoEntry idx="5" subIdx="46" bitLen="8" halPin="OutByte45" halType="u32"/>
<pdoEntry idx="5" subIdx="47" bitLen="8" halPin="OutByte46" halType="u32"/>
<pdoEntry idx="5" subIdx="48" bitLen="8" halPin="OutByte47" halType="u32"/>
<pdoEntry idx="5" subIdx="49" bitLen="8" halPin="OutByte48" halType="u32"/>
<pdoEntry idx="5" subIdx="50" bitLen="8" halPin="OutByte49" halType="u32"/>
<pdoEntry idx="5" subIdx="51" bitLen="8" halPin="OutByte50" halType="u32"/>
<pdoEntry idx="5" subIdx="52" bitLen="8" halPin="OutByte51" halType="u32"/>
<pdoEntry idx="5" subIdx="53" bitLen="8" halPin="OutByte52" halType="u32"/>
<pdoEntry idx="5" subIdx="54" bitLen="8" halPin="OutByte53" halType="u32"/>
<pdoEntry idx="5" subIdx="55" bitLen="8" halPin="OutByte54" halType="u32"/>
<pdoEntry idx="5" subIdx="56" bitLen="8" halPin="OutByte55" halType="u32"/>
<pdoEntry idx="5" subIdx="57" bitLen="8" halPin="OutByte56" halType="u32"/>
<pdoEntry idx="5" subIdx="58" bitLen="8" halPin="OutByte57" halType="u32"/>
<pdoEntry idx="5" subIdx="59" bitLen="8" halPin="OutByte58" halType="u32"/>
<pdoEntry idx="5" subIdx="60" bitLen="8" halPin="OutByte59" halType="u32"/>
<pdoEntry idx="5" subIdx="61" bitLen="8" halPin="OutByte60" halType="u32"/>
<pdoEntry idx="5" subIdx="62" bitLen="8" halPin="OutByte61" halType="u32"/>
<pdoEntry idx="5" subIdx="63" bitLen="8" halPin="OutByte62" halType="u32"/>
<pdoEntry idx="5" subIdx="64" bitLen="8" halPin="OutByte63" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="in">
<pdo idx="1a00">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="InpByte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="InpByte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="InpByte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="InpByte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="InpByte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="InpByte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="InpByte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="InpByte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="InpByte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="InpByte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="InpByte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="InpByte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="InpByte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="InpByte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="InpByte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="InpByte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="InpByte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="InpByte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="InpByte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="InpByte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="InpByte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="InpByte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="InpByte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="InpByte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="InpByte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="InpByte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="InpByte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="InpByte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="InpByte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="InpByte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="InpByte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="InpByte31" halType="u32"/>
<pdoEntry idx="5" subIdx="33" bitLen="8" halPin="InpByte32" halType="u32"/>
<pdoEntry idx="5" subIdx="34" bitLen="8" halPin="InpByte33" halType="u32"/>
<pdoEntry idx="5" subIdx="35" bitLen="8" halPin="InpByte34" halType="u32"/>
<pdoEntry idx="5" subIdx="36" bitLen="8" halPin="InpByte35" halType="u32"/>
<pdoEntry idx="5" subIdx="37" bitLen="8" halPin="InpByte36" halType="u32"/>
<pdoEntry idx="5" subIdx="38" bitLen="8" halPin="InpByte37" halType="u32"/>
<pdoEntry idx="5" subIdx="39" bitLen="8" halPin="InpByte38" halType="u32"/>
<pdoEntry idx="5" subIdx="40" bitLen="8" halPin="InpByte39" halType="u32"/>
<pdoEntry idx="5" subIdx="41" bitLen="8" halPin="InpByte40" halType="u32"/>
<pdoEntry idx="5" subIdx="42" bitLen="8" halPin="InpByte41" halType="u32"/>
<pdoEntry idx="5" subIdx="43" bitLen="8" halPin="InpByte42" halType="u32"/>
<pdoEntry idx="5" subIdx="44" bitLen="8" halPin="InpByte43" halType="u32"/>
<pdoEntry idx="5" subIdx="45" bitLen="8" halPin="InpByte44" halType="u32"/>
<pdoEntry idx="5" subIdx="46" bitLen="8" halPin="InpByte45" halType="u32"/>
<pdoEntry idx="5" subIdx="47" bitLen="8" halPin="InpByte46" halType="u32"/>
<pdoEntry idx="5" subIdx="48" bitLen="8" halPin="InpByte47" halType="u32"/>
<pdoEntry idx="5" subIdx="49" bitLen="8" halPin="InpByte48" halType="u32"/>
<pdoEntry idx="5" subIdx="50" bitLen="8" halPin="InpByte49" halType="u32"/>
<pdoEntry idx="5" subIdx="51" bitLen="8" halPin="InpByte50" halType="u32"/>
<pdoEntry idx="5" subIdx="52" bitLen="8" halPin="InpByte51" halType="u32"/>
<pdoEntry idx="5" subIdx="53" bitLen="8" halPin="InpByte52" halType="u32"/>
<pdoEntry idx="5" subIdx="54" bitLen="8" halPin="InpByte53" halType="u32"/>
<pdoEntry idx="5" subIdx="55" bitLen="8" halPin="InpByte54" halType="u32"/>
<pdoEntry idx="5" subIdx="56" bitLen="8" halPin="InpByte55" halType="u32"/>
<pdoEntry idx="5" subIdx="57" bitLen="8" halPin="InpByte56" halType="u32"/>
<pdoEntry idx="5" subIdx="58" bitLen="8" halPin="InpByte57" halType="u32"/>
<pdoEntry idx="5" subIdx="59" bitLen="8" halPin="InpByte58" halType="u32"/>
<pdoEntry idx="5" subIdx="60" bitLen="8" halPin="InpByte59" halType="u32"/>
<pdoEntry idx="5" subIdx="61" bitLen="8" halPin="InpByte60" halType="u32"/>
<pdoEntry idx="5" subIdx="62" bitLen="8" halPin="InpByte61" halType="u32"/>
<pdoEntry idx="5" subIdx="63" bitLen="8" halPin="InpByte62" halType="u32"/>
<pdoEntry idx="5" subIdx="64" bitLen="8" halPin="InpByte63" halType="u32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
I didn't see that was the 64 bytes configuration, try with this (only one slave configured):
<masters>
<master idx="0" appTimePeriod="1000000" refClockSyncCycles="1000">
<slave idx="0" type="generic" vid="0000079A" pid="DEFEDE64" configPdos="true">
<syncManager idx="0" dir="out">
<pdo idx="1600">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="OutByte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="OutByte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="OutByte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="OutByte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="OutByte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="OutByte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="OutByte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="OutByte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="OutByte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="OutByte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="OutByte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="OutByte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="OutByte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="OutByte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="OutByte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="OutByte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="OutByte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="OutByte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="OutByte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="OutByte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="OutByte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="OutByte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="OutByte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="OutByte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="OutByte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="OutByte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="OutByte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="OutByte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="OutByte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="OutByte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="OutByte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="OutByte31" halType="u32"/>
<pdoEntry idx="5" subIdx="33" bitLen="8" halPin="OutByte32" halType="u32"/>
<pdoEntry idx="5" subIdx="34" bitLen="8" halPin="OutByte33" halType="u32"/>
<pdoEntry idx="5" subIdx="35" bitLen="8" halPin="OutByte34" halType="u32"/>
<pdoEntry idx="5" subIdx="36" bitLen="8" halPin="OutByte35" halType="u32"/>
<pdoEntry idx="5" subIdx="37" bitLen="8" halPin="OutByte36" halType="u32"/>
<pdoEntry idx="5" subIdx="38" bitLen="8" halPin="OutByte37" halType="u32"/>
<pdoEntry idx="5" subIdx="39" bitLen="8" halPin="OutByte38" halType="u32"/>
<pdoEntry idx="5" subIdx="40" bitLen="8" halPin="OutByte39" halType="u32"/>
<pdoEntry idx="5" subIdx="41" bitLen="8" halPin="OutByte40" halType="u32"/>
<pdoEntry idx="5" subIdx="42" bitLen="8" halPin="OutByte41" halType="u32"/>
<pdoEntry idx="5" subIdx="43" bitLen="8" halPin="OutByte42" halType="u32"/>
<pdoEntry idx="5" subIdx="44" bitLen="8" halPin="OutByte43" halType="u32"/>
<pdoEntry idx="5" subIdx="45" bitLen="8" halPin="OutByte44" halType="u32"/>
<pdoEntry idx="5" subIdx="46" bitLen="8" halPin="OutByte45" halType="u32"/>
<pdoEntry idx="5" subIdx="47" bitLen="8" halPin="OutByte46" halType="u32"/>
<pdoEntry idx="5" subIdx="48" bitLen="8" halPin="OutByte47" halType="u32"/>
<pdoEntry idx="5" subIdx="49" bitLen="8" halPin="OutByte48" halType="u32"/>
<pdoEntry idx="5" subIdx="50" bitLen="8" halPin="OutByte49" halType="u32"/>
<pdoEntry idx="5" subIdx="51" bitLen="8" halPin="OutByte50" halType="u32"/>
<pdoEntry idx="5" subIdx="52" bitLen="8" halPin="OutByte51" halType="u32"/>
<pdoEntry idx="5" subIdx="53" bitLen="8" halPin="OutByte52" halType="u32"/>
<pdoEntry idx="5" subIdx="54" bitLen="8" halPin="OutByte53" halType="u32"/>
<pdoEntry idx="5" subIdx="55" bitLen="8" halPin="OutByte54" halType="u32"/>
<pdoEntry idx="5" subIdx="56" bitLen="8" halPin="OutByte55" halType="u32"/>
<pdoEntry idx="5" subIdx="57" bitLen="8" halPin="OutByte56" halType="u32"/>
<pdoEntry idx="5" subIdx="58" bitLen="8" halPin="OutByte57" halType="u32"/>
<pdoEntry idx="5" subIdx="59" bitLen="8" halPin="OutByte58" halType="u32"/>
<pdoEntry idx="5" subIdx="60" bitLen="8" halPin="OutByte59" halType="u32"/>
<pdoEntry idx="5" subIdx="61" bitLen="8" halPin="OutByte60" halType="u32"/>
<pdoEntry idx="5" subIdx="62" bitLen="8" halPin="OutByte61" halType="u32"/>
<pdoEntry idx="5" subIdx="63" bitLen="8" halPin="OutByte62" halType="u32"/>
<pdoEntry idx="5" subIdx="64" bitLen="8" halPin="OutByte63" halType="u32"/>
</pdo>
</syncManager>
<syncManager idx="1" dir="in">
<pdo idx="1a00">
<pdoEntry idx="5" subIdx="01" bitLen="8" halPin="InpByte0" halType="u32"/>
<pdoEntry idx="5" subIdx="02" bitLen="8" halPin="InpByte1" halType="u32"/>
<pdoEntry idx="5" subIdx="03" bitLen="8" halPin="InpByte2" halType="u32"/>
<pdoEntry idx="5" subIdx="04" bitLen="8" halPin="InpByte3" halType="u32"/>
<pdoEntry idx="5" subIdx="05" bitLen="8" halPin="InpByte4" halType="u32"/>
<pdoEntry idx="5" subIdx="06" bitLen="8" halPin="InpByte5" halType="u32"/>
<pdoEntry idx="5" subIdx="07" bitLen="8" halPin="InpByte6" halType="u32"/>
<pdoEntry idx="5" subIdx="08" bitLen="8" halPin="InpByte7" halType="u32"/>
<pdoEntry idx="5" subIdx="09" bitLen="8" halPin="InpByte8" halType="u32"/>
<pdoEntry idx="5" subIdx="10" bitLen="8" halPin="InpByte9" halType="u32"/>
<pdoEntry idx="5" subIdx="11" bitLen="8" halPin="InpByte10" halType="u32"/>
<pdoEntry idx="5" subIdx="12" bitLen="8" halPin="InpByte11" halType="u32"/>
<pdoEntry idx="5" subIdx="13" bitLen="8" halPin="InpByte12" halType="u32"/>
<pdoEntry idx="5" subIdx="14" bitLen="8" halPin="InpByte13" halType="u32"/>
<pdoEntry idx="5" subIdx="15" bitLen="8" halPin="InpByte14" halType="u32"/>
<pdoEntry idx="5" subIdx="16" bitLen="8" halPin="InpByte15" halType="u32"/>
<pdoEntry idx="5" subIdx="17" bitLen="8" halPin="InpByte16" halType="u32"/>
<pdoEntry idx="5" subIdx="18" bitLen="8" halPin="InpByte17" halType="u32"/>
<pdoEntry idx="5" subIdx="19" bitLen="8" halPin="InpByte18" halType="u32"/>
<pdoEntry idx="5" subIdx="20" bitLen="8" halPin="InpByte19" halType="u32"/>
<pdoEntry idx="5" subIdx="21" bitLen="8" halPin="InpByte20" halType="u32"/>
<pdoEntry idx="5" subIdx="22" bitLen="8" halPin="InpByte21" halType="u32"/>
<pdoEntry idx="5" subIdx="23" bitLen="8" halPin="InpByte22" halType="u32"/>
<pdoEntry idx="5" subIdx="24" bitLen="8" halPin="InpByte23" halType="u32"/>
<pdoEntry idx="5" subIdx="25" bitLen="8" halPin="InpByte24" halType="u32"/>
<pdoEntry idx="5" subIdx="26" bitLen="8" halPin="InpByte25" halType="u32"/>
<pdoEntry idx="5" subIdx="27" bitLen="8" halPin="InpByte26" halType="u32"/>
<pdoEntry idx="5" subIdx="28" bitLen="8" halPin="InpByte27" halType="u32"/>
<pdoEntry idx="5" subIdx="29" bitLen="8" halPin="InpByte28" halType="u32"/>
<pdoEntry idx="5" subIdx="30" bitLen="8" halPin="InpByte29" halType="u32"/>
<pdoEntry idx="5" subIdx="31" bitLen="8" halPin="InpByte30" halType="u32"/>
<pdoEntry idx="5" subIdx="32" bitLen="8" halPin="InpByte31" halType="u32"/>
<pdoEntry idx="5" subIdx="33" bitLen="8" halPin="InpByte32" halType="u32"/>
<pdoEntry idx="5" subIdx="34" bitLen="8" halPin="InpByte33" halType="u32"/>
<pdoEntry idx="5" subIdx="35" bitLen="8" halPin="InpByte34" halType="u32"/>
<pdoEntry idx="5" subIdx="36" bitLen="8" halPin="InpByte35" halType="u32"/>
<pdoEntry idx="5" subIdx="37" bitLen="8" halPin="InpByte36" halType="u32"/>
<pdoEntry idx="5" subIdx="38" bitLen="8" halPin="InpByte37" halType="u32"/>
<pdoEntry idx="5" subIdx="39" bitLen="8" halPin="InpByte38" halType="u32"/>
<pdoEntry idx="5" subIdx="40" bitLen="8" halPin="InpByte39" halType="u32"/>
<pdoEntry idx="5" subIdx="41" bitLen="8" halPin="InpByte40" halType="u32"/>
<pdoEntry idx="5" subIdx="42" bitLen="8" halPin="InpByte41" halType="u32"/>
<pdoEntry idx="5" subIdx="43" bitLen="8" halPin="InpByte42" halType="u32"/>
<pdoEntry idx="5" subIdx="44" bitLen="8" halPin="InpByte43" halType="u32"/>
<pdoEntry idx="5" subIdx="45" bitLen="8" halPin="InpByte44" halType="u32"/>
<pdoEntry idx="5" subIdx="46" bitLen="8" halPin="InpByte45" halType="u32"/>
<pdoEntry idx="5" subIdx="47" bitLen="8" halPin="InpByte46" halType="u32"/>
<pdoEntry idx="5" subIdx="48" bitLen="8" halPin="InpByte47" halType="u32"/>
<pdoEntry idx="5" subIdx="49" bitLen="8" halPin="InpByte48" halType="u32"/>
<pdoEntry idx="5" subIdx="50" bitLen="8" halPin="InpByte49" halType="u32"/>
<pdoEntry idx="5" subIdx="51" bitLen="8" halPin="InpByte50" halType="u32"/>
<pdoEntry idx="5" subIdx="52" bitLen="8" halPin="InpByte51" halType="u32"/>
<pdoEntry idx="5" subIdx="53" bitLen="8" halPin="InpByte52" halType="u32"/>
<pdoEntry idx="5" subIdx="54" bitLen="8" halPin="InpByte53" halType="u32"/>
<pdoEntry idx="5" subIdx="55" bitLen="8" halPin="InpByte54" halType="u32"/>
<pdoEntry idx="5" subIdx="56" bitLen="8" halPin="InpByte55" halType="u32"/>
<pdoEntry idx="5" subIdx="57" bitLen="8" halPin="InpByte56" halType="u32"/>
<pdoEntry idx="5" subIdx="58" bitLen="8" halPin="InpByte57" halType="u32"/>
<pdoEntry idx="5" subIdx="59" bitLen="8" halPin="InpByte58" halType="u32"/>
<pdoEntry idx="5" subIdx="60" bitLen="8" halPin="InpByte59" halType="u32"/>
<pdoEntry idx="5" subIdx="61" bitLen="8" halPin="InpByte60" halType="u32"/>
<pdoEntry idx="5" subIdx="62" bitLen="8" halPin="InpByte61" halType="u32"/>
<pdoEntry idx="5" subIdx="63" bitLen="8" halPin="InpByte62" halType="u32"/>
<pdoEntry idx="5" subIdx="64" bitLen="8" halPin="InpByte63" halType="u32"/>
</pdo>
</syncManager>
</slave>
</master>
</masters>
Please Log in or Create an account to join the conversation.
07 Sep 2023 15:48 #280210
by stirra
Replied by stirra on topic XML file for EasyCAT board (LAN9252)
The new xml file causes lcec to throw an error. The old xml file with an Easycat configured for 32x32 in/out still shows no pins with the previous xml file. Any more ideas?
Thanks again.
-- Ralph
ralph@ralph:~/linuxcnc/configs/easycat$ halcmd loadusr -W lcec_conf easycat-64.xml
rtapi_shmem_new failed due to shmget(key=0xacb572c7): Invalid argument
lcec_conf: ERROR: couldn't allocate user/RT shared memory
<commandline>:0: waitpid failed lcec_conf lcec_conf
<commandline>:0: lcec_conf exited without becoming ready
ralph@ralph:~/linuxcnc/configs/easycat$ halcmd loadusr -W lcec_conf easycat-conf.xml
ralph@ralph:~/linuxcnc/configs/easycat$ halcmd show pin
Component Pins:
Owner Type Dir Value Name
4 u32 OUT 0x00000001 lcec.conf.master-count
4 u32 OUT 0x00000001 lcec.conf.slave-count
ralph@ralph:~/linuxcnc/configs/easycat$ ethercat slaves
0 0:0 PREOP + Generic 32+32 bytes rev 1
Thanks again.
-- Ralph
Please Log in or Create an account to join the conversation.
07 Sep 2023 20:42 #280229
by a.bausano
Replied by a.bausano on topic XML file for EasyCAT board (LAN9252)
Hello stirra,
I have checked the XML file (64 bytes) again, and it seems correct. I can't try it, but from the trace, it seems there is a problem during the allocation of the shared memory. I'm not an expert on Linux, maybe there's a problem with root / sudo administrator rights? The 32 bytes XML file is not correct, the ID of the slave is wrong, and for this reason it doesn't try to start.
I have checked the XML file (64 bytes) again, and it seems correct. I can't try it, but from the trace, it seems there is a problem during the allocation of the shared memory. I'm not an expert on Linux, maybe there's a problem with root / sudo administrator rights? The 32 bytes XML file is not correct, the ID of the slave is wrong, and for this reason it doesn't try to start.
Please Log in or Create an account to join the conversation.
08 Sep 2023 04:02 #280242
by stirra
Replied by stirra on topic XML file for EasyCAT board (LAN9252)
Now we're making progress! I have pins showing up now. Steps needed to get there were:
1) run 'halcmd loadrt lcec' - but this gave duplicate name errors, so
2) in the easycat-conf.xml file, I changed all the "Bytexx" names in the output
section to "out-bytexx", and all the "Bytexx" names in the input section to
"in-bytexx".
3) run 'halcmd addf lcec.read-all servo-thread' and 'halcmd addf lcec.write-all servo-thread'
Now a long list of pins is shown with 'halcmd show pin', lcec.state-op is TRUE, but the values of the pins aren't changing, even though the microcontroller is writing incrementing numbers into several PDO byte registers. I feel like I'm getting really, really close to success. I'll worry about figuring out the 64 byte configuration problem later.
1) run 'halcmd loadrt lcec' - but this gave duplicate name errors, so
2) in the easycat-conf.xml file, I changed all the "Bytexx" names in the output
section to "out-bytexx", and all the "Bytexx" names in the input section to
"in-bytexx".
3) run 'halcmd addf lcec.read-all servo-thread' and 'halcmd addf lcec.write-all servo-thread'
Now a long list of pins is shown with 'halcmd show pin', lcec.state-op is TRUE, but the values of the pins aren't changing, even though the microcontroller is writing incrementing numbers into several PDO byte registers. I feel like I'm getting really, really close to success. I'll worry about figuring out the 64 byte configuration problem later.
Please Log in or Create an account to join the conversation.
08 Sep 2023 16:25 #280279
by stirra
Replied by stirra on topic XML file for EasyCAT board (LAN9252)
It looks like I have some problem on the microcontroller end, as Wireshark does not show anything but 0's in the ethercat packet data. Puzzling, as the lan9252 initializes successfully, which requires SPI to be working, and the EasyCAT library code is filling the buffer with non-zero values. May have to dig out the logic analyzer and look at the SPI mosi stream.
Please Log in or Create an account to join the conversation.
09 Sep 2023 00:38 #280303
by stirra
Replied by stirra on topic XML file for EasyCAT board (LAN9252)
I see data going out the mosi pin to the lan9252 that looks reasonable, but on wireshark I only see 00 data in the LWR datagrams. The lan9252 initialized successfully, but it sure seems like it isn't transmitting the data in its buffer.
Please Log in or Create an account to join the conversation.
11 Sep 2023 04:02 #280446
by stirra
Replied by stirra on topic XML file for EasyCAT board (LAN9252)
Finally got it working. The xml file had an error. The pdoEntry lines for the input pins need to have idx="6", not idx="5". The output lines are idx="5". Looks like a copy-paste mistake in the original xml file. I have certainly learned a bunch anyway.
Please Log in or Create an account to join the conversation.
Time to create page: 0.083 seconds