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 SDO Receive
.
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)?