Skip to content

Commit eebea7b

Browse files
Stop all PDOs on disconnect
1 parent d736826 commit eebea7b

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

canopen/network.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,8 @@ def disconnect(self):
9898
9999
Must be overridden in a subclass if a custom interface is used.
100100
"""
101+
for node in self.nodes.values():
102+
node.pdo.stop()
101103
self.notifier.stop()
102104
self.bus.shutdown()
103105
self.bus = None

canopen/pdo.py

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,10 @@ def export(self, filename):
111111
formats.dumpp({"": db}, filename)
112112
return db
113113

114+
def stop(self):
115+
"""Stop transmission of all Rx PDOs."""
116+
for pdo_map in self.rx:
117+
pdo_map.stop()
114118

115119
class Maps(collections.Mapping):
116120
"""A collection of transmit or receive maps."""
@@ -344,7 +348,7 @@ def start(self, period=None):
344348
if not self.transmit_thread or not self.transmit_thread.is_alive():
345349
self.stop_event.clear()
346350
self.transmit_thread = threading.Thread(
347-
name="Thread for " + self.name,
351+
name=self.name,
348352
target=self._periodic_transmit)
349353
self.transmit_thread.daemon = True
350354
self.transmit_thread.start()

canopen/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11

2-
__version__ = "0.4.0.dev6"
2+
__version__ = "0.4.0.dev7"

0 commit comments

Comments
 (0)