-
-
Notifications
You must be signed in to change notification settings - Fork 35
Description
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,