You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
As #574 was closed there is a specific issue with LssMaster in the current implementation:
If this library is together with another LSS master present on the physical bus, the input queue of LssMaster will be filled up with CAN messages, eventually leading to memory overload. It is only emptied when the LssMaster is actively used to send LSS commands. This is because Network creates an LssMaster instance and activates the subscription to the LSS messages.
I think the simplest solution would be not to activate the subscription callback until LssMaster.__send_command() is called. It is also draining the queue at this point:
As #574 was closed there is a specific issue with
LssMasterin the current implementation:If this library is together with another LSS master present on the physical bus, the input queue of
LssMasterwill be filled up with CAN messages, eventually leading to memory overload. It is only emptied when theLssMasteris actively used to send LSS commands. This is becauseNetworkcreates anLssMasterinstance and activates the subscription to the LSS messages.canopen/canopen/network.py
Lines 53 to 55 in f1a71da
canopen/canopen/lss.py
Lines 396 to 397 in f1a71da
I think the simplest solution would be not to activate the subscription callback until
LssMaster.__send_command()is called. It is also draining the queue at this point:canopen/canopen/lss.py
Lines 377 to 379 in f1a71da