Deployer adds data to ethernetpackage

Hi,

I have a question regarding the use of the deployer and the soem_master.

When I launch my xml file using the deployer

sudo `rospack find ocl`/bin/deployer-gnulinux -s test_package.xml
I go in to the SoemMaster, set the interface. But then when I type configure my hexapod (probably familiar) starts to move a leg. When I use the '-ldebug' option it moves all legs.

Using wireshark I noticed that some data is inserted in the ethernet-packages, which I guess would be the cause of the problem:

EtherCAT frame header
    .... .000 1010 0000 = Length: 0x00a0
    .... 0... .... .... = Reserved: Valid (0x0000)
    0001 .... .... .... = Type: EtherCAT command (0x0001)
EtherCAT datagram(s): 'LRW': Len: 148, Adp 0x0, Ado 0x0, Wc 3 
    EtherCAT datagram: Cmd: 'LRW' (12), Len: 148, Addr 0x0, Cnt 3
        Header
            Command    : Logical memory read write (0x0c)
            Index      : 0x01
            Log Addr   : 0x00000000
            Length     : 148 (0x94) - No Roundtrip - Last Sub Command
                .... .000 1001 0100 = Length: 148
                ..00 0... .... .... = Reserved: Valid (0)
                .0.. .... .... .... = Round trip: Frame is not circulating (0)
                0... .... .... .... = Last indicator: Last EtherCAT datagram (0)
            Interrupt  : 0x0000
        Data      : 302E303532205B20446562756720205D5B4465706C6F796D...
        Working Cnt: 3
 
0000  ff ff ff ff ff ff 03 01 01 01 01 01 88 a4 a0 10   ................
0010  0c 01 00 00 00 00 94 00 00 00 30 2e 30 35 32 20   ..........0.052 
0020  5b 20 44 65 62 75 67 20 20 5d 5b 44 65 70 6c 6f   [ Debug  ][Deplo
0030  79 6d 65 6e 74 43 6f 6d 70 6f 6e 65 6e 74 3a 00   ymentComponent:.
0040  00 3f 00 00 00 00 ec 0c 00 00 00 00 aa 07 00 00   .?..............
0050  00 00 f2 0f 00 00 00 00 a8 0c 00 00 00 00 e3 02   ................
0060  00 00 00 00 32 09 00 01 02 00 c0 03 00 00 f9 ff   ....2...........
0070  29 01 00 00 db ff 2b 04 00 01 e3 ff 6b 0f 00 00   ).....+.....k...
0080  00 00 90 0e 00 00 bc ff 75 0e 00 00 8e 00 d0 09   ........u.......
0090  00 00 00 00 b4 09 00 00 b6 00 54 0b 00 00 00 00   ..........T.....
00a0  45 09 00 00 00 00 ef 0e 00 00 00 00 18 03 03 00   E...............
The file can't be attached because of the size but I guess this will say enough. I added the test_package.xml.xacro (renamed it to .xml for attaching) file. I'm not running the startup.ops.

I'm not having this problem when using the standard .xml file in the SoemMaster.

Some additional information: I wrote my own driver for the hexapod which I also added to be sure. I'm using Koen's version of Soem of last Friday (he removed the .git file so I don't know which version it is).

What could cause this problem?

Thanks, Jeroen

AttachmentSize
test_package.xml1.95 KB
soem_wrxxxx (copy).cpp5.49 KB
soem_wrxxxx (copy).h4.84 KB

Deployer adds data to ethernetpackage

On Tuesday 01 February 2011 13:25:24 jjpa [dot] willems [..] ... wrote:
> Hi,
>
> I have a question regarding the use of the deployer and the soem_master.
>
> When I launch my xml file using the deployer
>

> sudo `rospack find ocl`/bin/deployer-gnulinux -s test_package.xml
> 

> I go in to the SoemMaster, set the interface. But then when I type
> configure my hexapod (probably familiar) starts to move a leg. When I use
> the '-ldebug' option it moves all legs.
>
> Using wireshark I noticed that some data is inserted in the
> ethernet-packages, which I guess would be the cause of the problem:
> EtherCAT frame header
>     .... .000 1010 0000 = Length: 0x00a0
>     .... 0... .... .... = Reserved: Valid (0x0000)
>     0001 .... .... .... = Type: EtherCAT command (0x0001)
> EtherCAT datagram(s): 'LRW': Len: 148, Adp 0x0, Ado 0x0, Wc 3
>     EtherCAT datagram: Cmd: 'LRW' (12), Len: 148, Addr 0x0, Cnt 3
>         Header
>             Command    : Logical memory read write (0x0c)
>             Index      : 0x01
>             Log Addr   : 0x00000000
>             Length     : 148 (0x94) - No Roundtrip - Last Sub Command
>                 .... .000 1001 0100 = Length: 148
>                 ..00 0... .... .... = Reserved: Valid (0)
>                 .0.. .... .... .... = Round trip: Frame is not circulating
> (0) 0... .... .... .... = Last indicator: Last EtherCAT datagram (0)
> Interrupt  : 0x0000
>         Data      : 302E303532205B20446562756720205D5B4465706C6F796D...
>         Working Cnt: 3
> 
> 0000  ff ff ff ff ff ff 03 01 01 01 01 01 88 a4 a0 10   ................
> 0010  0c 01 00 00 00 00 94 00 00 00 30 2e 30 35 32 20   ..........0.052
> 0020  5b 20 44 65 62 75 67 20 20 5d 5b 44 65 70 6c 6f   [ Debug  ][Deplo
> 0030  79 6d 65 6e 74 43 6f 6d 70 6f 6e 65 6e 74 3a 00   ymentComponent:.
> 0040  00 3f 00 00 00 00 ec 0c 00 00 00 00 aa 07 00 00   .?..............
> 0050  00 00 f2 0f 00 00 00 00 a8 0c 00 00 00 00 e3 02   ................
> 0060  00 00 00 00 32 09 00 01 02 00 c0 03 00 00 f9 ff   ....2...........
> 0070  29 01 00 00 db ff 2b 04 00 01 e3 ff 6b 0f 00 00   ).....+.....k...
> 0080  00 00 90 0e 00 00 bc ff 75 0e 00 00 8e 00 d0 09   ........u.......
> 0090  00 00 00 00 b4 09 00 00 b6 00 54 0b 00 00 00 00   ..........T.....
> 00a0  45 09 00 00 00 00 ef 0e 00 00 00 00 18 03 03 00   E...............
> 

> The file can't be attached because of the size but I guess this will say
> enough. I added the test_package.xml.xacro (renamed it to .xml for
> attaching) file. I'm not running the startup.ops.
>
> I'm not having this problem when using the standard .xml file in the
> SoemMaster.
>
> Some additional information: I wrote my own driver for the hexapod which I
> also added to be sure. I'm using Koen's version of Soem of last Friday (he
> removed the .git file so I don't know which version it is).
>
> What could cause this problem?

Memory corruption. You (or the soem master) are reading from freed or
uninitialized memory. It has nothing to do with the -ldebug flag. This is just
accidental.

The best thing to do is to run it as:

sudo valgrind `rospack find ocl`/bin/deployer-gnulinux -s test_package.xml

And check for memory errors it prints. You should have none printed.

Peter

Deployer adds data to ethernetpackage

Hi,

I have a question regarding the use of the deployer and the soem_master.

When I launch my xml file using the deployer

sudo `rospack find ocl`/bin/deployer-gnulinux -s test_package.xml

I go in to the SoemMaster, set the interface. But then when I type configure my hexapod (probably familiar) starts to move a leg.
When I use the '-ldebug' option it moves all legs.

Using wireshark I noticed that some data is inserted in the ethernet-packages, which I guess would be the cause of the problem:

EtherCAT frame header
    .... .000 1010 0000 = Length: 0x00a0
    .... 0... .... .... = Reserved: Valid (0x0000)
    0001 .... .... .... = Type: EtherCAT command (0x0001)
EtherCAT datagram(s): 'LRW': Len: 148, Adp 0x0, Ado 0x0, Wc 3 
    EtherCAT datagram: Cmd: 'LRW' (12), Len: 148, Addr 0x0, Cnt 3
        Header
            Command    : Logical memory read write (0x0c)
            Index      : 0x01
            Log Addr   : 0x00000000
            Length     : 148 (0x94) - No Roundtrip - Last Sub Command
                .... .000 1001 0100 = Length: 148
                ..00 0... .... .... = Reserved: Valid (0)
                .0.. .... .... .... = Round trip: Frame is not circulating (0)
                0... .... .... .... = Last indicator: Last EtherCAT datagram (0)
            Interrupt  : 0x0000
        Data      : 302E303532205B20446562756720205D5B4465706C6F796D...
        Working Cnt: 3
 
0000  ff ff ff ff ff ff 03 01 01 01 01 01 88 a4 a0 10   ................
0010  0c 01 00 00 00 00 94 00 00 00 30 2e 30 35 32 20   ..........0.052 
0020  5b 20 44 65 62 75 67 20 20 5d 5b 44 65 70 6c 6f   [ Debug  ][Deplo
0030  79 6d 65 6e 74 43 6f 6d 70 6f 6e 65 6e 74 3a 00   ymentComponent:.
0040  00 3f 00 00 00 00 ec 0c 00 00 00 00 aa 07 00 00   .?..............
0050  00 00 f2 0f 00 00 00 00 a8 0c 00 00 00 00 e3 02   ................
0060  00 00 00 00 32 09 00 01 02 00 c0 03 00 00 f9 ff   ....2...........
0070  29 01 00 00 db ff 2b 04 00 01 e3 ff 6b 0f 00 00   ).....+.....k...
0080  00 00 90 0e 00 00 bc ff 75 0e 00 00 8e 00 d0 09   ........u.......
0090  00 00 00 00 b4 09 00 00 b6 00 54 0b 00 00 00 00   ..........T.....
00a0  45 09 00 00 00 00 ef 0e 00 00 00 00 18 03 03 00   E...............

The file can't be attached because of the size but I guess this will say enough.
I added the test_package.xml.xacro (renamed it to .xml for attaching) file. I'm not running the startup.ops.

I'm not having this problem when using the standard .xml file in the SoemMaster.

Some additional information: I wrote my own driver for the hexapod which I also added to be sure. I'm using Koen's version of Soem of last Friday (he removed the .git file so I don't know which version it is).

What could cause this problem?

Thanks, Jeroen