CANopen have something called an 11 bit COB-ID, it contains function code of 4 bits + node ID of 7 bits. For example:
Image from here.
Does this mean if the MASTER send a request to the CLIENT for example send a command to SDO. Then the COB ID will be
(0b1100 << 7) | node ID in binary, because
0b1100 is the function code for
So then the CLIENT got that request and then the CLIENT response back to the MASTER. Should the CLIENT respons with the
SDO Transmit then e.g
(0b1011 << 7) | node ID ?
That sounds terrible wrong because the COB ID request did not contain any source address like SAE J1939 does.
So if I send a SDO request to an CLIENT with the node ID
0x5, then the CLIENT response back with the same node ID
0x5 or is it another node ID e.g destination ID (in this case, node ID
0x0 because that's the master node ID)?