The specification says:
If a node receives a CAN frame which uses the same CANID as itself then the node should
perform auto-conflict resolution by performing self-enumeration to obtain a new, unique
CANID.
Potentially under certain circumstances there could be quite a few nodes trying to self enumerate at the same time, hammering the bus.
What about adding a random delay (e.g. 0 to 250ms) before attempting the self enumeration retry?
This would be similar to J1939 after address claim failure, which is done to spread the retries out on the network a bit, and prevent continuous locks and retries between multiple nodes.
The specification says:
If a node receives a CAN frame which uses the same CANID as itself then the node should
perform auto-conflict resolution by performing self-enumeration to obtain a new, unique
CANID.
Potentially under certain circumstances there could be quite a few nodes trying to self enumerate at the same time, hammering the bus.
What about adding a random delay (e.g. 0 to 250ms) before attempting the self enumeration retry?
This would be similar to J1939 after address claim failure, which is done to spread the retries out on the network a bit, and prevent continuous locks and retries between multiple nodes.