Skip to content

Configure TPDO 3 in demoDevice #7

@sumitbilam

Description

@sumitbilam

Hello there,

I am following https://github.com/CANopenNode/CANopenDemo/blob/master/tutorial/PDO.md and running two demo devices (giving them node id 4 and 5, both devices in operational and made the node 1 as commander device and running "cocomm" utility) and was able to do the following:
cocomm "4 w 0x1802 1 u32 0x80000000"
cocomm "4 w 0x1A02 0 u8 0"
cocomm "4 w 0x1A02 1 u32 0x21100120"
cocomm "4 w 0x1A02 0 u8 1"
cocomm "4 w 0x1802 1 u32 0x00000384"

change the value at 0x2110[1]: cocomm "4 w 0x2110 1 u32 0xAABBCCDD" I can see TPDO 0x384 triggered (on candump)

But when I tried to map TPDO x384 to any sub-index (other than 1) let say sub-index 3 of 0x2110; for instance:
cocomm "4 w 0x1802 1 u32 0x80000000"
cocomm "4 w 0x1A02 0 u8 0"
cocomm "4 w 0x1A02 1 u32 0x21100320" (Note: changed the sub-index here from 1 to 3)
cocomm "4 w 0x1A02 0 u8 1"
cocomm " w 0x1802 1 u32 0x00000384"

and change the value of this variable,
cocomm "4 w 0x2110 3 u32 0x11223344"
it did not trigger the TPDO, it seems it only trigger the TPDO3 when I change something in 0x2110[1] not at 0x2110[3]

Am I missing some PDOs fundamental here? Can't we jump to any subindex of any variable (0x2110) in my case or will trigger only happen if sub-index 1 value is changed and it will also bring the other sub-index value (sub-index 3 in this case) with it, because that I can see on candump but if I only do cocomm "4 w 0x2110 3 u32 0x_differnet_value_now" I dont see any TPDO from 0x384.

Thanks,

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