Hello Kurt,

>> In CANopen this is requesting PDO over RTR request. One PDO may have
>> several consumer, so several CAN nodes may send CAN message with same 
>> ID and data length (by the way, this may happen also with LSS messages).
>> So, now we are sending RTR request for some PDO and want to make timeout
>> monitoring
> Is this legal on CAN?

I will put it like this:
It is at least legal in CANopen to sent CAN message with same CAN ID
from different CAN nodes as long as control field, RTR and data are the 
same. From CAN point of view, if several CAN transmitter will win the
arbitration and send absolutely the same data, those CAN massages will 
perfectly overlap in the single CAN message without having any bit 
errors.


>> on it. But, if another node (just another PDO consumer) will send
>> simultaneously >> exactly the same CAN message, we may get "alien" 
>> message before our own is looped back.
>> 
>> This is why it is important to have per-message self reception flag.
>> or the possibility to "mark" the message on transmission and then 
>> look for this mark on reception to identify looped back messages 
>> exactly.
> For self-received messages, the originating socket (sk_buff->sk) is 
> set. I think it's only accessible in kernel. Using this would IMO 
> avoid adding code in difficult places, and limit such feature to 
> adding code in easy places.

Hmm, the sk_buff->sk for the message is like motherland for the 
person?
So the self-reception messages are the "fellow citizens" and the
rest are foreigners? 8)
Well, this can be surely used for distinguishing between self-
reception messages and the rest, however it is still not possible to 
trace the order in a way like you can do by the mean of labeling the 
messages with some incrementing counter.


Regards,
Vladislav

_______________________________________________
Socketcan-core mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/socketcan-core

Reply via email to