Skip to content

Need help with configurating synchronous TPDO in OD-File #25

@ichCANdasnichtmehr

Description

@ichCANdasnichtmehr

Hi everyone,

I've recently started working with CANopenLinux on a Raspberry Pi, and I'm running into some trouble getting TPDOs to transmit automatically on SYNC messages.

So far, I've managed to bring up the CAN network through the console and successfully initialized a node. I also used CANopenEditor to tweak a sample EDS file to enable heartbeats, which is working as expected.

The issue starts when I try to configure a TPDO to be triggered by SYNC. I’ve set the transmission type to 0x01, which should make the TPDO transmit on every SYNC message. However, when I check the transmission type via SDO, it still shows 0xFE in that entry — which, as far as I know, means "manufacturer-specific".

Even if I try writing 0x01 via SDO download, it seems to accept the change (no error), but I still don’t see any TPDOs being sent on SYNC. When I read the entry via SDO upload, I can see that the value is set correctly to 0x01.

Another thing I noticed is the COB-ID: in the EDS file, it's set to 0x184, but when I read it via SDO, I get 0x0C000184. Is that extra "C" always included automatically by the stack to always disable RTR frames ? For information: I only changed the OD in the examples folder and used the standard make- and programmfiles.

I'm wondering what I’m missing here. Why won’t the TPDO send on SYNC, even though I’ve set the transmission type correctly (or at least I think I have)? I’ve attached my EDS file in case someone can spot something I’ve overlooked.

DS301_profile.txt

Any help would be greatly appreciated!

Thanks in advance!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions