sittner / linuxcnc-ethercat

LinuxCNC EtherCAT HAL driver

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Truncated 16-bit signed integers?

bobobo1618 opened this issue · comments

I'm trying to set up a Delta MS300 VFD with a CMM-EC01 EtherCAT option card. I've got it working save for speed control.

It seems that the speed value sent to the VFD is lacking one of the two bytes of data:

  • EtherCAT PDO entry:
    <pdoEntry idx="6042" subIdx="00" bitLen="16" halPin="target-velocity" halType="s32"/>

  • Debugging:

    > halcmd getp lcec.0.3.target-velocity
    10000
    > ethercat upload -p 3 -t int16 0x6042 0
    0x0027 39
    > python -c 'print(hex(10000))'
    0x2710
    

It looks like the device has been told the speed should be 0x0027 instead of 0x2710, as if >> 8 has been added.